| Index: src/arm/assembler-arm.h
|
| ===================================================================
|
| --- src/arm/assembler-arm.h (revision 5878)
|
| +++ src/arm/assembler-arm.h (working copy)
|
| @@ -1079,8 +1079,23 @@
|
| const Condition cond = al);
|
|
|
| // Pseudo instructions
|
| - void nop(int type = 0);
|
|
|
| + // Different nop operations are used by the code generator to detect certain
|
| + // states of the generated code.
|
| + enum NopMarkerTypes {
|
| + NON_MARKING_NOP = 0,
|
| + DEBUG_BREAK_NOP,
|
| + // IC markers.
|
| + PROPERTY_ACCESS_INLINED,
|
| + PROPERTY_ACCESS_INLINED_CONTEXT,
|
| + PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE,
|
| + // Helper values.
|
| + LAST_CODE_MARKER,
|
| + FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
|
| + };
|
| +
|
| + void nop(int type = 0); // 0 is the default non-marking type.
|
| +
|
| void push(Register src, Condition cond = al) {
|
| str(src, MemOperand(sp, 4, NegPreIndex), cond);
|
| }
|
| @@ -1151,7 +1166,6 @@
|
| static void instr_at_put(byte* pc, Instr instr) {
|
| *reinterpret_cast<Instr*>(pc) = instr;
|
| }
|
| - static bool IsNop(Instr instr, int type = 0);
|
| static bool IsBranch(Instr instr);
|
| static int GetBranchOffset(Instr instr);
|
| static bool IsLdrRegisterImmediate(Instr instr);
|
| @@ -1168,6 +1182,8 @@
|
| static bool IsLdrRegFpOffset(Instr instr);
|
| static bool IsStrRegFpNegOffset(Instr instr);
|
| static bool IsLdrRegFpNegOffset(Instr instr);
|
| + static bool IsLdrPcImmediateOffset(Instr instr);
|
| + static bool IsNop(Instr instr, int type = NON_MARKING_NOP);
|
|
|
|
|
| protected:
|
|
|