Reviewers: Toon Verwaest,

Message:
PTAL

Description:
Disable tracking of double fields during snapshot creation.

Follow-up to r18298.

[email protected]

Please review this at https://chromiumcodereview.appspot.com/101123004/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+7, -4 lines):
  M src/bootstrapper.cc
  M src/ia32/lithium-codegen-ia32.cc
  M src/x64/lithium-codegen-x64.cc


Index: src/bootstrapper.cc
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
index 1d2fb8663379ebab158c6abf2c6733bd86529417..5af8b316e56402c530b12315a578f06c2b1822a0 100644
--- a/src/bootstrapper.cc
+++ b/src/bootstrapper.cc
@@ -2558,6 +2558,11 @@ Genesis::Genesis(Isolate* isolate,
                  v8::ExtensionConfiguration* extensions)
     : isolate_(isolate),
       active_(isolate->bootstrapper()) {
+  if (Serializer::enabled()) {
+    // Disable tracking double fields because heap numbers treated as
+    // immutable by the serializer.
+    FLAG_track_double_fields = false;
+  }
   result_ = Handle<Context>::null();
   // If V8 cannot be initialized, just return.
   if (!V8::Initialize(NULL)) return;
Index: src/ia32/lithium-codegen-ia32.cc
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc index bba3acaa9a55ac059287d801acc552a7f6f70d69..1a0d8b3ea54d611925d03236c591cad1d108172a 100644
--- a/src/ia32/lithium-codegen-ia32.cc
+++ b/src/ia32/lithium-codegen-ia32.cc
@@ -3279,8 +3279,7 @@ void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) {
   }

   Register object = ToRegister(instr->object());
-  if (FLAG_track_double_fields &&
-      instr->hydrogen()->representation().IsDouble()) {
+  if (instr->hydrogen()->representation().IsDouble()) {
     if (CpuFeatures::IsSupported(SSE2)) {
       CpuFeatureScope scope(masm(), SSE2);
       XMMRegister result = ToDoubleRegister(instr->result());
Index: src/x64/lithium-codegen-x64.cc
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
index c6d5a147a76ac8e484273753421cb459158d7500..16b6dbda0643397f5f87cc844285fc3560187a75 100644
--- a/src/x64/lithium-codegen-x64.cc
+++ b/src/x64/lithium-codegen-x64.cc
@@ -2831,8 +2831,7 @@ void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) {
   }

   Register object = ToRegister(instr->object());
-  if (FLAG_track_double_fields &&
-      instr->hydrogen()->representation().IsDouble()) {
+  if (instr->hydrogen()->representation().IsDouble()) {
     XMMRegister result = ToDoubleRegister(instr->result());
     __ movsd(result, FieldOperand(object, offset));
     return;


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to