| Index: runtime/vm/instructions_x64.h
|
| diff --git a/runtime/vm/instructions_x64.h b/runtime/vm/instructions_x64.h
|
| index 97c52e9a1fa8568d51fc3c1a2a545e4b064e4385..8f1c073eff200ba1c03c796485f9dd0c90989f53 100644
|
| --- a/runtime/vm/instructions_x64.h
|
| +++ b/runtime/vm/instructions_x64.h
|
| @@ -66,6 +66,25 @@ template<class P> class InstructionPattern : public ValueObject {
|
| };
|
|
|
|
|
| +// 5 byte call instruction.
|
| +class ShortCallPattern : public InstructionPattern<ShortCallPattern> {
|
| + public:
|
| + explicit ShortCallPattern(uword pc) : InstructionPattern(pc) {}
|
| +
|
| + void SetTargetAddress(uword new_target) const;
|
| +
|
| + static int pattern_length_in_bytes() { return kLengthInBytes; }
|
| + static const int* pattern() {
|
| + static const int kCallPattern[kLengthInBytes] = {0xE8, -1, -1, -1, -1};
|
| + return kCallPattern;
|
| + }
|
| +
|
| + private:
|
| + static const int kLengthInBytes = 5;
|
| + DISALLOW_COPY_AND_ASSIGN(ShortCallPattern);
|
| +};
|
| +
|
| +
|
| class ReturnPattern : public InstructionPattern<ReturnPattern> {
|
| public:
|
| explicit ReturnPattern(uword pc) : InstructionPattern(pc) {}
|
|
|