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