Chromium Code Reviews| Index: src/codegen.cc |
| diff --git a/src/codegen.cc b/src/codegen.cc |
| index d4c1e438cb3654212f10476e2eeef15d44241d3e..ff6d56f4c3ff2dd04845777af40745795cfa753b 100644 |
| --- a/src/codegen.cc |
| +++ b/src/codegen.cc |
| @@ -120,7 +120,8 @@ void CodeGenerator::MakeCodePrologue(CompilationInfo* info, const char* kind) { |
| Handle<Code> CodeGenerator::MakeCodeEpilogue(MacroAssembler* masm, |
| EhFrameWriter* eh_frame_writer, |
| - CompilationInfo* info) { |
| + CompilationInfo* info, |
| + bool is_self_ref_available) { |
|
Michael Starzinger
2016/07/13 12:42:44
nit: We could pass in the "Handle<Object> self_ref
ahaas
2016/07/13 12:51:54
Done.
|
| Isolate* isolate = info->isolate(); |
| // Allocate and install the code. |
| @@ -131,11 +132,11 @@ Handle<Code> CodeGenerator::MakeCodeEpilogue(MacroAssembler* masm, |
| info->IsStub(); |
| masm->GetCode(&desc); |
| if (eh_frame_writer) eh_frame_writer->GetEhFrame(&desc); |
| - Handle<Code> code = |
| - isolate->factory()->NewCode(desc, flags, masm->CodeObject(), |
| - false, is_crankshafted, |
| - info->prologue_offset(), |
| - info->is_debug() && !is_crankshafted); |
| + Handle<Code> code = isolate->factory()->NewCode( |
| + desc, flags, |
| + is_self_ref_available ? masm->CodeObject() : Handle<Object>(), false, |
| + is_crankshafted, info->prologue_offset(), |
| + info->is_debug() && !is_crankshafted); |
| isolate->counters()->total_compiled_code_size()->Increment( |
| code->instruction_size()); |
| isolate->heap()->IncrementCodeGeneratedBytes(is_crankshafted, |