Reviewers: Sven Panne,

Description:
Disable code aging due to bugs.

[email protected]


Please review this at https://codereview.chromium.org/11361182/

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

Affected files:
  M src/arm/full-codegen-arm.cc
  M src/flag-definitions.h
  M src/ia32/full-codegen-ia32.cc
  M src/ia32/lithium-codegen-ia32.cc
  M src/x64/full-codegen-x64.cc
  M src/x64/lithium-codegen-x64.cc


Index: src/arm/full-codegen-arm.cc
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc
index 03d50676fb652e30a00e4f374c8af786e791de96..308d95fcaf8a8d944a8ebcb0637afded71c35134 100644
--- a/src/arm/full-codegen-arm.cc
+++ b/src/arm/full-codegen-arm.cc
@@ -157,7 +157,7 @@ void FullCodeGenerator::Generate() {
     __ LoadRoot(r2, Heap::kUndefinedValueRootIndex);
     __ str(r2, MemOperand(sp, receiver_offset));
     __ bind(&ok);
- ASSERT_EQ(kSizeOfFullCodegenStrictModePrologue, ok.pos() - begin.pos());
+    ASSERT(kSizeOfFullCodegenStrictModePrologue == ok.pos() - begin.pos());
   }

// Open a frame scope to indicate that there is a frame on the stack. The
Index: src/flag-definitions.h
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index 473a13736a7cd1be45f9764c27ef5334c0c9da59..694dbea562ef8511403d8fc7c1df099c3e763e67 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -396,7 +396,7 @@ DEFINE_bool(flush_code, true,
             "flush code that we expect not to use again (during full gc)")
 DEFINE_bool(flush_code_incrementally, false,
             "flush code that we expect not to use again (incrementally)")
-DEFINE_bool(age_code, true,
+DEFINE_bool(age_code, false,
             "track un-executed functions to age code and flush only "
             "old code")
 DEFINE_bool(incremental_marking, true, "use incremental marking")
Index: src/ia32/full-codegen-ia32.cc
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
index e137ab67b4266c1bc8a4d4a11cf1e6ed31fc83df..159c2cabcc928d6c36d8bfccfeb81738825a573d 100644
--- a/src/ia32/full-codegen-ia32.cc
+++ b/src/ia32/full-codegen-ia32.cc
@@ -151,7 +151,8 @@ void FullCodeGenerator::Generate() {
     __ mov(Operand(esp, receiver_offset),
            Immediate(isolate()->factory()->undefined_value()));
     __ bind(&ok);
- ASSERT_EQ(kSizeOfFullCodegenStrictModePrologue, ok.pos() - start.pos());
+    ASSERT(!FLAG_age_code ||
+ (kSizeOfFullCodegenStrictModePrologue == ok.pos() - start.pos()));
   }

// Open a frame scope to indicate that there is a frame on the stack. The
Index: src/ia32/lithium-codegen-ia32.cc
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc index 74baa28a25ef3619d2eb78d8706ad3d060e174c8..a07995a1b236093eb5e5b096a079fc20cc3e0457 100644
--- a/src/ia32/lithium-codegen-ia32.cc
+++ b/src/ia32/lithium-codegen-ia32.cc
@@ -150,7 +150,8 @@ bool LCodeGen::GeneratePrologue() {
     __ mov(Operand(esp, receiver_offset),
            Immediate(isolate()->factory()->undefined_value()));
     __ bind(&ok);
-    ASSERT_EQ(kSizeOfOptimizedStrictModePrologue, ok.pos() - begin.pos());
+    ASSERT(!FLAG_code_age ||
+           (kSizeOfOptimizedStrictModePrologue == ok.pos() - begin.pos()));
   }


@@ -179,8 +180,9 @@ bool LCodeGen::GeneratePrologue() {
     __ j(not_zero, &align_loop, Label::kNear);
     __ mov(Operand(ebx, 0), Immediate(kAlignmentZapValue));
     __ bind(&do_not_pad);
-    ASSERT_EQ(kSizeOfOptimizedAlignStackPrologue,
-              do_not_pad.pos() - begin.pos());
+    ASSERT(!FLAG_age_code ||
+           (kSizeOfOptimizedAlignStackPrologue ==
+            do_not_pad.pos() - begin.pos()));
   }

   __ push(ebp);  // Caller's frame pointer.
Index: src/x64/full-codegen-x64.cc
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
index 1bad96e278b356c207382badb7bb341fb0a3036d..a198739a4244b420a404fe0483308898ecc2e3bd 100644
--- a/src/x64/full-codegen-x64.cc
+++ b/src/x64/full-codegen-x64.cc
@@ -147,7 +147,8 @@ void FullCodeGenerator::Generate() {
     __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex);
     __ movq(Operand(rsp, receiver_offset), kScratchRegister);
     __ bind(&ok);
- ASSERT_EQ(kSizeOfFullCodegenStrictModePrologue, ok.pos() - begin.pos());
+    ASSERT(!FLAG_age_code ||
+ (kSizeOfFullCodegenStrictModePrologue == ok.pos() - begin.pos()));
   }

// Open a frame scope to indicate that there is a frame on the stack. The
Index: src/x64/lithium-codegen-x64.cc
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
index 67874125138b12f6bc33f4348296b92642812dd3..eaf1f263bad230757090a65d082398edd81bd1e2 100644
--- a/src/x64/lithium-codegen-x64.cc
+++ b/src/x64/lithium-codegen-x64.cc
@@ -143,7 +143,8 @@ bool LCodeGen::GeneratePrologue() {
     __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex);
     __ movq(Operand(rsp, receiver_offset), kScratchRegister);
     __ bind(&ok);
-    ASSERT_EQ(kSizeOfOptimizedStrictModePrologue, ok.pos() - begin.pos());
+    ASSERT_EQ(!FLAG_code_age ||
+ (kSizeOfOptimizedStrictModePrologue, ok.pos() - begin.pos()));
   }

   __ push(rbp);  // Caller's frame pointer.


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to