}
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+ // Empty because there is no need for relocation information for the code
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
Address code_start_address = code->instruction_start();
// Invalidate the relocation information, as it will become invalid by the
}
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+ // Empty because there is no need for relocation information for the code
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
// Invalidate the relocation information, as it will become invalid by the
MarkLazyDeoptSite();
}
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
#undef __
} // namespace compiler
MarkLazyDeoptSite();
}
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
#undef __
} // namespace compiler
FinishCode(masm());
- // Ensure there is space for lazy deopt.
+ // Ensure there is space for lazy deoptimization in the code.
if (!info->IsStub()) {
int target_offset = masm()->pc_offset() + Deoptimizer::patch_size();
while (masm()->pc_offset() < target_offset) {
PopulateDeoptimizationData(result);
- EnsureRelocSpaceForLazyDeopt(result);
+ // Ensure there is space for lazy deoptimization in the relocation info.
+ if (!info->IsStub()) {
+ Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(result);
+ }
// Emit a code line info recording stop event.
void* line_info = recorder->DetachJITHandlerData();
InstructionOperand* op, MachineType type);
void AddNopForSmiCodeInlining();
void EnsureSpaceForLazyDeopt();
- void EnsureRelocSpaceForLazyDeopt(Handle<Code> code);
void MarkLazyDeoptSite();
// ===========================================================================
MarkLazyDeoptSite();
}
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {
- Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(code);
-}
-
#undef __
} // namespace compiler
MarkLazyDeoptSite();
}
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
#undef __
} // namespace compiler
MarkLazyDeoptSite();
}
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
#undef __
} // namespace compiler
MarkLazyDeoptSite();
}
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
#undef __
} // namespace internal
HandleScope scope(isolate);
// Compute the size of relocation information needed for the code
- // patching in Deoptimizer::DeoptimizeFunction.
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
int min_reloc_size = 0;
int prev_pc_offset = 0;
DeoptimizationInputData* deopt_data =
}
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+ // Empty because there is no need for relocation information for the code
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
Address code_start_address = code->instruction_start();
// Invalidate the relocation information, as it will become invalid by the
}
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+ // Empty because there is no need for relocation information for the code
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
Address code_start_address = code->instruction_start();
// Invalidate the relocation information, as it will become invalid by the
}
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+ // Empty because there is no need for relocation information for the code
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
// Invalidate the relocation information, as it will become invalid by the
// code patching below, and is not needed any more.
HandleScope scope(isolate);
// Compute the size of relocation information needed for the code
- // patching in Deoptimizer::DeoptimizeFunction.
+ // patching in Deoptimizer::PatchCodeForDeoptimization below.
int min_reloc_size = 0;
int prev_pc_offset = 0;
DeoptimizationInputData* deopt_data =