Index: src/ia32/macro-assembler-ia32.h |
diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h |
index 165c9ce6d20c95403483dee45d18a0881a6515fc..d537b0b2cbd953b36887fbf558ae9257e53faa7a 100644 |
--- a/src/ia32/macro-assembler-ia32.h |
+++ b/src/ia32/macro-assembler-ia32.h |
@@ -61,6 +61,15 @@ class MacroAssembler: public Assembler { |
// macro assembler. |
MacroAssembler(Isolate* isolate, void* buffer, int size); |
+ // Operations on roots in the root-array. |
+ void LoadRoot(Register destination, Heap::RootListIndex index); |
+ void StoreRoot(Register source, Register scratch, Heap::RootListIndex index); |
+ void CompareRoot(Register with, Register scratch, Heap::RootListIndex index); |
+ // These methods can only be used with constant roots (i.e. non-writable |
+ // and not in new space). |
+ void CompareRoot(Register with, Heap::RootListIndex index); |
+ void CompareRoot(const Operand& with, Heap::RootListIndex index); |
+ |
// --------------------------------------------------------------------------- |
// GC Support |
enum RememberedSetFinalAction { |
@@ -362,10 +371,6 @@ class MacroAssembler: public Assembler { |
void SafeSet(Register dst, const Immediate& x); |
void SafePush(const Immediate& x); |
- // Compare against a known root, e.g. undefined, null, true, ... |
- void CompareRoot(Register with, Heap::RootListIndex index); |
- void CompareRoot(const Operand& with, Heap::RootListIndex index); |
- |
// Compare object type for heap object. |
// Incoming register is heap_object and outgoing register is map. |
void CmpObjectType(Register heap_object, InstanceType type, Register map); |