| Index: runtime/vm/instructions_x64.h
|
| diff --git a/runtime/vm/instructions_x64.h b/runtime/vm/instructions_x64.h
|
| index 0c0dc5397f48c6aa5a976de5c1870ff45ee22bec..0d6bb0865c3d5dada0144f35dc4cd3222801f82b 100644
|
| --- a/runtime/vm/instructions_x64.h
|
| +++ b/runtime/vm/instructions_x64.h
|
| @@ -112,6 +112,33 @@ class ReturnPattern : public InstructionPattern {
|
| static const int kLengthInBytes = 1;
|
| };
|
|
|
| +
|
| +// push rbp
|
| +// mov rbp, rsp
|
| +class ProloguePattern : public InstructionPattern {
|
| + public:
|
| + explicit ProloguePattern(uword pc) : InstructionPattern(pc) {}
|
| +
|
| + virtual const int* pattern() const;
|
| + virtual int pattern_length_in_bytes() const { return kLengthInBytes; }
|
| +
|
| + private:
|
| + static const int kLengthInBytes = 4;
|
| +};
|
| +
|
| +
|
| +// mov rbp, rsp
|
| +class SetFramePointerPattern : public InstructionPattern {
|
| + public:
|
| + explicit SetFramePointerPattern(uword pc) : InstructionPattern(pc) {}
|
| +
|
| + virtual const int* pattern() const;
|
| + virtual int pattern_length_in_bytes() const { return kLengthInBytes; }
|
| +
|
| + private:
|
| + static const int kLengthInBytes = 3;
|
| +};
|
| +
|
| } // namespace dart
|
|
|
| #endif // VM_INSTRUCTIONS_X64_H_
|
|
|