Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index 6a5830bacb4d19749267ccd873e81eed06b7e8a8..015db8c882f0eedc869f26e7d3ad8ed268b3ac71 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -5124,7 +5124,7 @@ bool Function::HasBreakpoint() const { |
void Function::SetInstructions(const Code& value) const { |
- StorePointer(&raw_ptr()->instructions_, value.instructions()); |
+ StorePointer(&raw_ptr()->code_, value.raw()); |
} |
void Function::AttachCode(const Code& value) const { |
@@ -5136,10 +5136,9 @@ void Function::AttachCode(const Code& value) const { |
bool Function::HasCode() const { |
- ASSERT(raw_ptr()->instructions_ != Instructions::null()); |
+ ASSERT(raw_ptr()->code_ != Code::null()); |
StubCode* stub_code = Isolate::Current()->stub_code(); |
- return raw_ptr()->instructions_ != |
- stub_code->LazyCompile_entry()->code()->ptr()->instructions_; |
+ return raw_ptr()->code_ != stub_code->LazyCompile_entry()->code(); |
} |
@@ -5147,8 +5146,8 @@ void Function::ClearCode() const { |
ASSERT(ic_data_array() == Array::null()); |
StorePointer(&raw_ptr()->unoptimized_code_, Code::null()); |
StubCode* stub_code = Isolate::Current()->stub_code(); |
- StorePointer(&raw_ptr()->instructions_, |
- Code::Handle(stub_code->LazyCompile_entry()->code()).instructions()); |
+ StorePointer(&raw_ptr()->code_, |
+ stub_code->LazyCompile_entry()->code()); |
} |
@@ -6593,8 +6592,7 @@ RawScript* Function::script() const { |
bool Function::HasOptimizedCode() const { |
- return HasCode() && Code::Handle(Instructions::Handle( |
- raw_ptr()->instructions_).code()).is_optimized(); |
+ return HasCode() && Code::Handle(CurrentCode()).is_optimized(); |
} |
@@ -12638,14 +12636,13 @@ RawCode* Code::FinalizeCode(const char* name, |
} |
// Hook up Code and Instructions objects. |
- instrs.set_code(code.raw()); |
code.set_instructions(instrs.raw()); |
code.set_is_alive(true); |
// Set object pool in Instructions object. |
INC_STAT(Isolate::Current(), |
total_code_size, object_pool.Length() * sizeof(uintptr_t)); |
- instrs.set_object_pool(object_pool.raw()); |
+ code.set_object_pool(object_pool.raw()); |
if (FLAG_write_protect_code) { |
uword address = RawObject::ToAddr(instrs.raw()); |
@@ -12687,7 +12684,7 @@ RawCode* Code::FinalizeCode(const Function& function, |
// Check if object matches find condition. |
bool Code::FindRawCodeVisitor::FindObject(RawObject* obj) const { |
- return RawInstructions::ContainsPC(obj, pc_); |
+ return RawCode::ContainsPC(obj, pc_); |
} |
@@ -12695,13 +12692,13 @@ RawCode* Code::LookupCodeInIsolate(Isolate* isolate, uword pc) { |
ASSERT((isolate == Isolate::Current()) || (isolate == Dart::vm_isolate())); |
NoSafepointScope no_safepoint; |
FindRawCodeVisitor visitor(pc); |
- RawInstructions* instr; |
+ RawObject* instr; |
if (isolate->heap() == NULL) { |
return Code::null(); |
} |
- instr = isolate->heap()->FindObjectInCodeSpace(&visitor); |
- if (instr != Instructions::null()) { |
- return instr->ptr()->code_; |
+ instr = isolate->heap()->FindOldObject(&visitor); |
+ if (instr != Code::null()) { |
+ return static_cast<RawCode*>(instr); |
} |
return Code::null(); |
} |