Chromium Code Reviews| Index: src/a64/macro-assembler-a64.cc |
| diff --git a/src/a64/macro-assembler-a64.cc b/src/a64/macro-assembler-a64.cc |
| index 5087de05316f4c70bc1e9e4e388d3d3e9329e0e2..921e051b9e77deb31d8484b793c7f125a02e17db 100644 |
| --- a/src/a64/macro-assembler-a64.cc |
| +++ b/src/a64/macro-assembler-a64.cc |
| @@ -2594,8 +2594,12 @@ void MacroAssembler::Prologue(PrologueFrameMode frame_mode) { |
| __ Push(lr, fp, cp, Tmp0()); |
| __ Add(fp, jssp, StandardFrameConstants::kFixedFrameSizeFromFp); |
| } else { |
| - TODO_UNIMPLEMENTED("Prologue: Support IsCodePreAgingActive()."); |
| - __ EmitFrameSetupForCodeAgePatching(); |
| + if (isolate()->IsCodePreAgingActive()) { |
| + Code* stub = Code::GetPreAgedCodeAgeStub(isolate()); |
| + EmitCodeAgeSequence(this, stub); |
|
jochen (gone - plz use gerrit)
2014/02/10 09:27:43
should this be EmitCodeAgeSequence(stub)?
rmcilroy
2014/02/10 10:16:01
Done.
|
| + } else { |
| + __ EmitFrameSetupForCodeAgePatching(); |
| + } |
| } |
| } |
| @@ -4657,6 +4661,14 @@ void MacroAssembler::EmitFrameSetupForCodeAgePatching() { |
| } |
| + |
| +void MacroAssembler::EmitCodeAgeSequence(Code* stub) { |
| + InstructionAccurateScope scope(this, kCodeAgeSequenceSize / kInstructionSize); |
| + ASSERT(jssp.Is(StackPointer())); |
| + EmitCodeAgeSequence(this, stub); |
| +} |
| + |
| + |
| #undef __ |
| #define __ assm-> |
| @@ -4679,7 +4691,7 @@ void MacroAssembler::EmitFrameSetupForCodeAgePatching(Assembler * assm) { |
| } |
| -void MacroAssembler::EmitCodeAgeSequence(PatchingAssembler * assm, |
| +void MacroAssembler::EmitCodeAgeSequence(Assembler * assm, |
| Code * stub) { |
| Label start; |
| __ bind(&start); |