Index: src/deoptimizer.cc |
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc |
index 3ab10fcac905871da62fafd9cf9f658e1e7e7d48..eda226ff81688814f667bb66743c623d599e8a3d 100644 |
--- a/src/deoptimizer.cc |
+++ b/src/deoptimizer.cc |
@@ -414,9 +414,11 @@ void Deoptimizer::DeoptimizeMarkedCodeForContext(Context* context) { |
PatchCodeForDeoptimization(isolate, codes[i]); |
// We might be in the middle of incremental marking with compaction. |
- // Ignore all slots that might have been recorded on the deoptimized code |
- // object. |
- isolate->heap()->mark_compact_collector()->RemoveObjectSlots(codes[i]); |
+ // Ignore all slots that might have been recorded in the body of the |
+ // deoptimized code object. |
+ Code* code = codes[i]; |
+ isolate->heap()->mark_compact_collector()->RemoveObjectSlots( |
+ code->address() + Code::kHeaderSize, code->address() + code->Size()); |
Michael Starzinger
2015/07/03 11:24:55
nit: We could use Code::instruction_start() here.
Hannes Payer (out of office)
2015/07/03 11:26:53
Done.
|
} |
} |