| Index: runtime/vm/instructions_x64_test.cc
|
| ===================================================================
|
| --- runtime/vm/instructions_x64_test.cc (revision 30084)
|
| +++ runtime/vm/instructions_x64_test.cc (working copy)
|
| @@ -27,21 +27,29 @@
|
| }
|
|
|
|
|
| +static intptr_t prologue_code_size = -1;
|
| +
|
| +
|
| ASSEMBLER_TEST_GENERATE(Jump, assembler) {
|
| - __ EnterDartFrame(0); // 20 bytes
|
| + ASSERT(assembler->CodeSize() == 0);
|
| + __ pushq(PP);
|
| + __ LoadPoolPointer(PP);
|
| + prologue_code_size = assembler->CodeSize();
|
| __ JmpPatchable(&StubCode::InstanceFunctionLookupLabel(), PP);
|
| __ JmpPatchable(&StubCode::AllocateArrayLabel(), PP);
|
| - __ LeaveFrameWithPP();
|
| + __ popq(PP);
|
| __ ret();
|
| }
|
|
|
|
|
| ASSEMBLER_TEST_RUN(Jump, test) {
|
| - JumpPattern jump1(test->entry() + 20, test->code());
|
| + ASSERT(prologue_code_size != -1);
|
| + JumpPattern jump1(test->entry() + prologue_code_size, test->code());
|
| jump1.IsValid();
|
| EXPECT_EQ(StubCode::InstanceFunctionLookupLabel().address(),
|
| jump1.TargetAddress());
|
| - JumpPattern jump2(test->entry() + jump1.pattern_length_in_bytes() + 20,
|
| + JumpPattern jump2((test->entry() +
|
| + jump1.pattern_length_in_bytes() + prologue_code_size),
|
| test->code());
|
| EXPECT_EQ(StubCode::AllocateArrayLabel().address(),
|
| jump2.TargetAddress());
|
|
|