Chromium Code Reviews| Index: runtime/vm/assembler_x64.cc |
| diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc |
| index 213b8cb2cd5bdb6480de789e4bd367452b916df4..ea2c95d5fe1a7795990240932f2c627bc1230e08 100644 |
| --- a/runtime/vm/assembler_x64.cc |
| +++ b/runtime/vm/assembler_x64.cc |
| @@ -3335,9 +3335,7 @@ void Assembler::NoMonomorphicCheckedEntry() { |
| void Assembler::MonomorphicCheckedEntry() { |
| Label immediate, have_cid, miss; |
| Bind(&miss); |
| - movq(CODE_REG, Address(THR, Thread::monomorphic_miss_stub_offset())); |
| - movq(RCX, FieldAddress(CODE_REG, Code::entry_point_offset())); |
| - jmp(RCX); |
| + jmp(Address(THR, Thread::monomorphic_miss_entry_offset())); |
| Bind(&immediate); |
| movq(R10, Immediate(kSmiCid)); |
| @@ -3354,6 +3352,7 @@ void Assembler::MonomorphicCheckedEntry() { |
| Bind(&have_cid); |
| cmpq(R10, RBX); |
| j(NOT_EQUAL, &miss, Assembler::kNearJump); |
| + nop(); |
|
Florian Schneider
2016/10/10 21:10:39
Why is this nop needed?
rmacnak
2016/10/11 20:31:04
IC calls in AOT store the entry as a Smi.
|
| // Fall through to unchecked entry. |
| ASSERT(CodeSize() == Instructions::kUncheckedEntryOffset); |