Index: runtime/vm/code_patcher_x64.cc |
diff --git a/runtime/vm/code_patcher_x64.cc b/runtime/vm/code_patcher_x64.cc |
index 8e3e8898fd99f5bc7c35c912241310cabefa1f6e..0426ae785ffc090047f9e1c75dd62cb95e7cf7d9 100644 |
--- a/runtime/vm/code_patcher_x64.cc |
+++ b/runtime/vm/code_patcher_x64.cc |
@@ -207,9 +207,9 @@ class SwitchableCall : public ValueObject { |
bool IsValid() const { |
static int16_t pattern[kCallPatternSize] = { |
- 0x49, 0x8b, 0x9f, -1, -1, -1, -1, // movq rbx, [PP + cache_offs] |
0x4d, 0x8b, 0xa7, -1, -1, -1, -1, // movq r12, [PP + code_offs] |
0x49, 0x8b, 0x4c, 0x24, 0x0f, // movq rcx, [r12 + entrypoint_off] |
+ 0x49, 0x8b, 0x9f, -1, -1, -1, -1, // movq rbx, [PP + cache_offs] |
0xff, 0xd1, // call rcx |
}; |
ASSERT(ARRAY_SIZE(pattern) == kCallPatternSize); |
@@ -217,10 +217,10 @@ class SwitchableCall : public ValueObject { |
} |
intptr_t data_index() const { |
- return IndexFromPPLoad(start_ + 3); |
+ return IndexFromPPLoad(start_ + 15); |
} |
intptr_t target_index() const { |
- return IndexFromPPLoad(start_ + 10); |
+ return IndexFromPPLoad(start_ + 3); |
} |
RawObject* data() const { |