| Index: runtime/vm/object.cc
|
| ===================================================================
|
| --- runtime/vm/object.cc (revision 30197)
|
| +++ runtime/vm/object.cc (working copy)
|
| @@ -4111,6 +4111,7 @@
|
| void Function::DetachCode() const {
|
| // Set unoptimized code as non-entrant, and set code and unoptimized code
|
| // to null.
|
| + ASSERT(!HasOptimizedCode());
|
| CodePatcher::PatchEntry(Code::Handle(unoptimized_code()));
|
| StorePointer(&raw_ptr()->code_, Code::null());
|
| StorePointer(&raw_ptr()->unoptimized_code_, Code::null());
|
| @@ -4118,6 +4119,10 @@
|
|
|
|
|
| void Function::ReattachCode(const Code& code) const {
|
| + ASSERT(CurrentCode() == Code::null());
|
| + ASSERT(unoptimized_code() == Code::null());
|
| + ASSERT(!code.IsNull());
|
| + ASSERT(!code.is_optimized());
|
| StorePointer(&raw_ptr()->code_, code.raw());
|
| StorePointer(&raw_ptr()->unoptimized_code_, code.raw());
|
| CodePatcher::RestoreEntry(code);
|
|
|