| Index: runtime/vm/assembler_arm.h
|
| ===================================================================
|
| --- runtime/vm/assembler_arm.h (revision 19272)
|
| +++ runtime/vm/assembler_arm.h (working copy)
|
| @@ -15,6 +15,9 @@
|
|
|
| namespace dart {
|
|
|
| +// Forward declarations.
|
| +class RuntimeEntry;
|
| +
|
| class Label : public ValueObject {
|
| public:
|
| Label() : position_(0) { }
|
| @@ -513,6 +516,7 @@
|
| void LoadDImmediate(DRegister dd, double value,
|
| Register scratch, Condition cond = AL);
|
| void MarkExceptionHandler(Label* label);
|
| + void Drop(intptr_t stack_elements);
|
| void LoadObject(Register rd, const Object& object);
|
| void LoadFromOffset(LoadOperandType type,
|
| Register reg,
|
| @@ -571,6 +575,14 @@
|
| void Ret();
|
| 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 CallRuntime(const RuntimeEntry& entry);
|
| +
|
| // Emit data (e.g encoded instruction or immediate) in instruction stream.
|
| void Emit(int32_t value);
|
|
|
|
|