| Index: runtime/vm/assembler_mips.h
|
| ===================================================================
|
| --- runtime/vm/assembler_mips.h (revision 21490)
|
| +++ runtime/vm/assembler_mips.h (working copy)
|
| @@ -789,6 +789,12 @@
|
|
|
| void ReserveAlignedFrameSpace(intptr_t frame_space);
|
|
|
| + // Create a frame for calling into runtime that preserves all volatile
|
| + // registers. Frame's SP is guaranteed to be correctly aligned and
|
| + // frame_space bytes are reserved under it.
|
| + void EnterCallRuntimeFrame(intptr_t frame_space);
|
| + void LeaveCallRuntimeFrame();
|
| +
|
| void LoadWordFromPoolOffset(Register rd, int32_t offset);
|
| void LoadObject(Register rd, const Object& object);
|
| void PushObject(const Object& object);
|
| @@ -801,6 +807,18 @@
|
| void LoadClassById(Register result, Register class_id);
|
| void LoadClass(Register result, Register object);
|
|
|
| + void StoreIntoObject(Register object, // Object we are storing into.
|
| + const Address& dest, // Where we are storing into.
|
| + Register value, // Value we are storing.
|
| + bool can_value_be_smi = true);
|
| +
|
| + void StoreIntoObjectNoBarrier(Register object,
|
| + const Address& dest,
|
| + Register value);
|
| + void StoreIntoObjectNoBarrier(Register object,
|
| + const Address& dest,
|
| + const Object& value);
|
| +
|
| void CallRuntime(const RuntimeEntry& entry);
|
|
|
| // Set up a Dart frame on entry with a frame pointer and PC information to
|
| @@ -956,6 +974,13 @@
|
| delay_slot_available_ = true;
|
| }
|
|
|
| + void StoreIntoObjectFilter(Register object, Register value, Label* no_update);
|
| +
|
| + // Shorter filtering sequence that assumes that value is not a smi.
|
| + void StoreIntoObjectFilterNoSmi(Register object,
|
| + Register value,
|
| + Label* no_update);
|
| +
|
| DISALLOW_ALLOCATION();
|
| DISALLOW_COPY_AND_ASSIGN(Assembler);
|
| };
|
|
|