Chromium Code Reviews| Index: runtime/vm/instructions_arm.h |
| =================================================================== |
| --- runtime/vm/instructions_arm.h (revision 19713) |
| +++ runtime/vm/instructions_arm.h (working copy) |
| @@ -10,37 +10,22 @@ |
| #error Do not include instructions_arm.h directly; use instructions.h instead. |
| #endif |
| +#include "vm/constants_arm.h" |
| #include "vm/object.h" |
| namespace dart { |
| -// Abstract class for all instruction pattern classes. |
| -class InstructionPattern : public ValueObject { |
| +class CallPattern : public ValueObject { |
| public: |
| - explicit InstructionPattern(uword pc) : end_(reinterpret_cast<uword*>(pc)) { |
| - ASSERT(pc != 0); |
| - } |
| - virtual ~InstructionPattern() { } |
| - |
| - protected: |
| - uword Back(int n) const; |
| - |
| - private: |
| - const uword* end_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(InstructionPattern); |
| -}; |
| - |
| - |
| -class CallPattern : public InstructionPattern { |
| - public: |
| CallPattern(uword pc, const Code& code); |
| uword TargetAddress() const; |
| void SetTargetAddress(uword target_address) const; |
| private: |
| + uword Back(int n) const; |
| int DecodePoolIndex(); |
| + const uword* end_; |
| const int pool_index_; |
| const Array& object_pool_; |
| @@ -48,20 +33,23 @@ |
| }; |
| -class JumpPattern : public InstructionPattern { |
| +class JumpPattern : public ValueObject { |
| public: |
| - explicit JumpPattern(uword pc) : InstructionPattern(pc) { } |
| + explicit JumpPattern(uword pc); |
| - static const int kLengthInBytes = 3*kWordSize; |
| + static const int kLengthInBytes = 3*Instr::kInstrSize; |
|
srdjan
2013/03/08 19:47:04
Add space between.
regis
2013/03/08 21:15:37
Done.
|
| int pattern_length_in_bytes() const { |
| return kLengthInBytes; |
| } |
| + |
| bool IsValid() const; |
| uword TargetAddress() const; |
| void SetTargetAddress(uword target_address) const; |
| private: |
| + const uword pc_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(JumpPattern); |
| }; |