Fix MacroAssembler::Prologue for Arm when FLAG_out_off_line_constant_pool is enabled.
The prologue update in r21329 changed the scoping of the PredictableCodeSizeScope. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/284303003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
417610e24a
commit
5cfca21295
@ -915,21 +915,22 @@ void MacroAssembler::StubPrologue() {
|
|||||||
|
|
||||||
|
|
||||||
void MacroAssembler::Prologue(bool code_pre_aging) {
|
void MacroAssembler::Prologue(bool code_pre_aging) {
|
||||||
PredictableCodeSizeScope predictible_code_size_scope(
|
{ PredictableCodeSizeScope predictible_code_size_scope(
|
||||||
this, kNoCodeAgeSequenceLength);
|
this, kNoCodeAgeSequenceLength);
|
||||||
// The following three instructions must remain together and unmodified
|
// The following three instructions must remain together and unmodified
|
||||||
// for code aging to work properly.
|
// for code aging to work properly.
|
||||||
if (code_pre_aging) {
|
if (code_pre_aging) {
|
||||||
// Pre-age the code.
|
// Pre-age the code.
|
||||||
Code* stub = Code::GetPreAgedCodeAgeStub(isolate());
|
Code* stub = Code::GetPreAgedCodeAgeStub(isolate());
|
||||||
add(r0, pc, Operand(-8));
|
add(r0, pc, Operand(-8));
|
||||||
ldr(pc, MemOperand(pc, -4));
|
ldr(pc, MemOperand(pc, -4));
|
||||||
emit_code_stub_address(stub);
|
emit_code_stub_address(stub);
|
||||||
} else {
|
} else {
|
||||||
PushFixedFrame(r1);
|
PushFixedFrame(r1);
|
||||||
nop(ip.code());
|
nop(ip.code());
|
||||||
// Adjust FP to point to saved FP.
|
// Adjust FP to point to saved FP.
|
||||||
add(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
add(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (FLAG_enable_ool_constant_pool) {
|
if (FLAG_enable_ool_constant_pool) {
|
||||||
LoadConstantPoolPointerRegister();
|
LoadConstantPoolPointerRegister();
|
||||||
|
Loading…
Reference in New Issue
Block a user