| Index: runtime/vm/stub_code.cc
|
| diff --git a/runtime/vm/stub_code.cc b/runtime/vm/stub_code.cc
|
| index df7773d933ce2b18b94101480d7c24b672b7b220..65a4966f2e2f149b19b099afb2770eed18d891d4 100644
|
| --- a/runtime/vm/stub_code.cc
|
| +++ b/runtime/vm/stub_code.cc
|
| @@ -104,7 +104,10 @@ RawCode* StubCode::GetAllocationStubForClass(const Class& cls) {
|
| if (stub.IsNull()) {
|
| Assembler assembler;
|
| const char* name = cls.ToCString();
|
| - StubCode::GenerateAllocationStubForClass(&assembler, cls);
|
| + uword patch_code_offset = 0;
|
| + uword entry_patch_offset = 0;
|
| + StubCode::GenerateAllocationStubForClass(
|
| + &assembler, cls, &entry_patch_offset, &patch_code_offset);
|
| stub ^= Code::FinalizeCode(name, &assembler);
|
| stub.set_owner(cls);
|
| cls.set_allocation_stub(stub);
|
| @@ -114,9 +117,12 @@ RawCode* StubCode::GetAllocationStubForClass(const Class& cls) {
|
| DisassembleToStdout formatter;
|
| stub.Disassemble(&formatter);
|
| THR_Print("}\n");
|
| - const ObjectPool& object_pool = ObjectPool::Handle(stub.object_pool());
|
| + const ObjectPool& object_pool = ObjectPool::Handle(
|
| + Instructions::Handle(stub.instructions()).object_pool());
|
| object_pool.DebugPrint();
|
| }
|
| + stub.set_entry_patch_pc_offset(entry_patch_offset);
|
| + stub.set_patch_code_pc_offset(patch_code_offset);
|
| }
|
| return stub.raw();
|
| }
|
| @@ -149,7 +155,8 @@ RawCode* StubCode::Generate(const char* name,
|
| DisassembleToStdout formatter;
|
| code.Disassemble(&formatter);
|
| THR_Print("}\n");
|
| - const ObjectPool& object_pool = ObjectPool::Handle(code.object_pool());
|
| + const ObjectPool& object_pool = ObjectPool::Handle(
|
| + Instructions::Handle(code.instructions()).object_pool());
|
| object_pool.DebugPrint();
|
| }
|
| return code.raw();
|
|
|