Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(883)

Unified Diff: runtime/vm/object.cc

Issue 685583002: Add more missing StorePointer/StoreSmi calls. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/object.cc
===================================================================
--- runtime/vm/object.cc (revision 41331)
+++ runtime/vm/object.cc (working copy)
@@ -942,7 +942,7 @@
intptr_t leftover_len = (leftover_size - TypedData::InstanceSize(0));
ASSERT(TypedData::InstanceSize(leftover_len) == leftover_size);
- raw->ptr()->length_ = Smi::New(leftover_len);
+ raw->StoreSmi(&(raw->ptr()->length_), Smi::New(leftover_len));
} else {
// Update the leftover space as a basic object.
ASSERT(leftover_size == Object::InstanceSize());
@@ -12147,8 +12147,10 @@
for (intptr_t i = 0; i < pointer_offsets.length(); i++) {
intptr_t offset_in_instrs = pointer_offsets[i];
code.SetPointerOffsetAt(i, offset_in_instrs);
- const Object* object = region.Load<const Object*>(offset_in_instrs);
- region.Store<RawObject*>(offset_in_instrs, object->raw());
+ uword addr = region.start() + offset_in_instrs;
+ const Object* object = *reinterpret_cast<Object**>(addr);
+ instrs.raw()->StorePointer(reinterpret_cast<RawObject**>(addr),
+ object->raw());
}
// Hook up Code and Instructions objects.
@@ -18169,8 +18171,8 @@
space);
NoGCScope no_gc;
RawOneByteString* result = reinterpret_cast<RawOneByteString*>(raw);
- result->ptr()->length_ = Smi::New(len);
- result->ptr()->hash_ = 0;
+ result->StoreSmi(&(result->ptr()->length_), Smi::New(len));
+ result->StoreSmi(&(result->ptr()->hash_), Smi::New(0));
return result;
}
}
@@ -18707,7 +18709,7 @@
Array::InstanceSize(len),
space));
NoGCScope no_gc;
- raw->ptr()->length_ = Smi::New(len);
+ raw->StoreSmi(&(raw->ptr()->length_), Smi::New(len));
return raw;
}
}
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/raw_object.h » ('j') | runtime/vm/raw_object.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698