Revision: 15204
Author: [email protected]
Date: Wed Jun 19 02:38:28 2013
Log: Always reset allowed OSR nesting level when reverting interrupt
code patches.
Also, --trap-on-deopt should only affect optimized functions, not hydrogen
stubs.
[email protected]
Review URL: https://codereview.chromium.org/16848020
http://code.google.com/p/v8/source/detail?r=15204
Modified:
/branches/bleeding_edge/src/arm/lithium-codegen-arm.cc
/branches/bleeding_edge/src/deoptimizer.cc
/branches/bleeding_edge/src/ia32/lithium-codegen-ia32.cc
/branches/bleeding_edge/src/mips/lithium-codegen-mips.cc
/branches/bleeding_edge/src/runtime.cc
/branches/bleeding_edge/src/x64/lithium-codegen-x64.cc
=======================================
--- /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Fri Jun 14
09:06:12 2013
+++ /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Wed Jun 19
02:38:28 2013
@@ -825,7 +825,7 @@
return;
}
- if (FLAG_trap_on_deopt) {
+ if (FLAG_trap_on_deopt && info()->IsOptimizing()) {
__ stop("trap_on_deopt", cc);
}
=======================================
--- /branches/bleeding_edge/src/deoptimizer.cc Wed Jun 12 07:22:49 2013
+++ /branches/bleeding_edge/src/deoptimizer.cc Wed Jun 19 02:38:28 2013
@@ -2429,6 +2429,7 @@
back_edge_cursor += FullCodeGenerator::kBackEdgeEntrySize;
}
unoptimized_code->set_back_edges_patched_for_osr(false);
+ unoptimized_code->set_allow_osr_at_loop_nesting_level(0);
#ifdef DEBUG
// Assert that none of the back edges are patched anymore.
Deoptimizer::VerifyInterruptCode(
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-codegen-ia32.cc Fri Jun 14
09:06:12 2013
+++ /branches/bleeding_edge/src/ia32/lithium-codegen-ia32.cc Wed Jun 19
02:38:28 2013
@@ -901,7 +901,7 @@
__ popfd();
}
- if (FLAG_trap_on_deopt) {
+ if (FLAG_trap_on_deopt && info()->IsOptimizing()) {
Label done;
if (cc != no_condition) {
__ j(NegateCondition(cc), &done, Label::kNear);
=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Mon Jun 17
08:06:41 2013
+++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Wed Jun 19
02:38:28 2013
@@ -796,7 +796,7 @@
return;
}
- if (FLAG_trap_on_deopt) {
+ if (FLAG_trap_on_deopt && info()->IsOptimizing()) {
Label skip;
if (cc != al) {
__ Branch(&skip, NegateCondition(cc), src1, src2);
=======================================
--- /branches/bleeding_edge/src/runtime.cc Mon Jun 17 10:42:27 2013
+++ /branches/bleeding_edge/src/runtime.cc Wed Jun 19 02:38:28 2013
@@ -8265,9 +8265,6 @@
*interrupt_code,
*replacement_code);
- // Allow OSR only at nesting level zero again.
- unoptimized->set_allow_osr_at_loop_nesting_level(0);
-
// If the optimization attempt succeeded, return the AST id tagged as a
// smi. This tells the builtin that we need to translate the unoptimized
// frame to an optimized one.
=======================================
--- /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Wed Jun 19
02:36:38 2013
+++ /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Wed Jun 19
02:38:28 2013
@@ -706,7 +706,7 @@
ASSERT(FLAG_deopt_every_n_times == 0); // Not yet implemented on x64.
- if (FLAG_trap_on_deopt) {
+ if (FLAG_trap_on_deopt && info()->IsOptimizing()) {
Label done;
if (cc != no_condition) {
__ j(NegateCondition(cc), &done, Label::kNear);
--
--
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.