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

Unified Diff: runtime/vm/intrinsifier_arm.cc

Issue 841343002: ARM port of r42723. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 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/intrinsifier_arm.cc
===================================================================
--- runtime/vm/intrinsifier_arm.cc (revision 42713)
+++ runtime/vm/intrinsifier_arm.cc (working copy)
@@ -117,7 +117,7 @@
// Store backing array object in growable array object.
__ ldr(R1, Address(SP, kArrayOffset)); // Data argument.
// R0 is new, no barrier needed.
- __ StoreIntoObjectNoBarrier(
+ __ InitializeFieldNoBarrier(
R0,
FieldAddress(R0, GrowableObjectArray::data_offset()),
R1);
@@ -125,7 +125,7 @@
// R0: new growable array object start as a tagged pointer.
// Store the type argument field in the growable array object.
__ ldr(R1, Address(SP, kTypeArgumentsOffset)); // Type argument.
- __ StoreIntoObjectNoBarrier(
+ __ InitializeFieldNoBarrier(
R0,
FieldAddress(R0, GrowableObjectArray::type_arguments_offset()),
R1);
@@ -132,8 +132,10 @@
// Set the length field in the growable array object to 0.
__ LoadImmediate(R1, 0);
- __ StoreIntoSmiField(FieldAddress(R0, GrowableObjectArray::length_offset()),
- R1);
+ __ InitializeFieldNoBarrier(
+ R0,
+ FieldAddress(R0, GrowableObjectArray::length_offset()),
+ R1);
__ Ret(); // Returns the newly allocated object in R0.
__ Bind(&fall_through);
@@ -329,7 +331,7 @@
/* R2: allocation size. */ \
/* R4: allocation stats address. */ \
__ ldr(R3, Address(SP, kArrayLengthStackOffset)); /* Array length. */ \
- __ StoreIntoObjectNoBarrier(R0, \
+ __ InitializeFieldNoBarrier(R0, \
FieldAddress(R0, type_name::length_offset()), \
R3); \
/* Initialize all array elements to 0. */ \
@@ -1816,12 +1818,14 @@
}
// Set the length field using the saved length (R6).
- __ StoreIntoObjectNoBarrier(R0,
+ __ InitializeFieldNoBarrier(R0,
FieldAddress(R0, String::length_offset()),
R6);
// Clear hash.
__ LoadImmediate(TMP, 0);
- __ StoreIntoSmiField(FieldAddress(R0, String::hash_offset()), TMP);
+ __ InitializeFieldNoBarrier(R0,
+ FieldAddress(R0, String::hash_offset()),
+ TMP);
__ IncrementAllocationStatsWithSize(R4, R2, cid, space);
__ b(ok);

Powered by Google App Engine
This is Rietveld 408576698