| Index: runtime/vm/raw_object.h
|
| ===================================================================
|
| --- runtime/vm/raw_object.h (revision 41609)
|
| +++ runtime/vm/raw_object.h (working copy)
|
| @@ -8,8 +8,9 @@
|
| #include "platform/assert.h"
|
| #include "vm/atomic.h"
|
| #include "vm/globals.h"
|
| +#include "vm/snapshot.h"
|
| #include "vm/token.h"
|
| -#include "vm/snapshot.h"
|
| +#include "vm/verified_memory.h"
|
|
|
| namespace dart {
|
|
|
| @@ -487,7 +488,7 @@
|
| void StorePointer(type const* addr, type value) {
|
| // Ensure that this object contains the addr.
|
| ASSERT(Contains(reinterpret_cast<uword>(addr)));
|
| - *const_cast<type*>(addr) = value;
|
| + VerifiedMemory::Write(const_cast<type*>(addr), value);
|
| // Filter stores based on source and target.
|
| if (!value->IsHeapObject()) return;
|
| if (value->IsNewObject() && this->IsOldObject() &&
|
| @@ -502,7 +503,7 @@
|
| void StoreSmi(RawSmi* const* addr, RawSmi* value) {
|
| // Can't use Contains, as array length is initialized through this method.
|
| ASSERT(reinterpret_cast<uword>(addr) >= RawObject::ToAddr(this));
|
| - *const_cast<RawSmi**>(addr) = value;
|
| + VerifiedMemory::Write(const_cast<RawSmi**>(addr), value);
|
| }
|
|
|
| friend class Api;
|
|
|