Chromium Code Reviews| Index: src/arm/assembler-arm.h |
| =================================================================== |
| --- src/arm/assembler-arm.h (revision 5874) |
| +++ 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 = NON_MARKING_NOP); |
|
Søren Thygesen Gjesse
2010/11/23 14:00:37
Missing argument name.
Alexandre
2010/11/23 17:32:59
Done.
|
| protected: |