Index: runtime/vm/flow_graph_compiler_arm64.cc |
=================================================================== |
--- runtime/vm/flow_graph_compiler_arm64.cc (revision 36300) |
+++ runtime/vm/flow_graph_compiler_arm64.cc (working copy) |
@@ -1278,8 +1278,8 @@ |
__ Bind(&loop); |
__ and_(R3, R3, Operand(R1)); |
const intptr_t base = Array::data_offset(); |
- // R3 is smi tagged, but table entries are 8 bytes, so LSL 2. |
- __ add(TMP, R2, Operand(R3, LSL, 2)); |
Florian Schneider
2014/05/20 13:12:49
Use kWordSizeLog2 instead.
|
+ // R3 is smi tagged, but table entries are 16 bytes, so LSL 3. |
Florian Schneider
2014/05/20 13:12:49
...entries are 2 words, so use LSL kWordSizeLog2.
|
+ __ add(TMP, R2, Operand(R3, LSL, 3)); |
Florian Schneider
2014/05/20 13:12:49
Use kWordSizeLog2 instead.
|
__ LoadFieldFromOffset(R4, TMP, base, PP); |
ASSERT(kIllegalCid == 0); |
@@ -1293,7 +1293,7 @@ |
// proper target for the given name and arguments descriptor. If the |
// illegal class id was found, the target is a cache miss handler that can |
// be invoked as a normal Dart function. |
- __ add(TMP, R2, Operand(R3, LSL, 2)); |
Florian Schneider
2014/05/20 13:12:49
Use kWordSizeLog2 instead.
|
+ __ add(TMP, R2, Operand(R3, LSL, 3)); |
Florian Schneider
2014/05/20 13:12:49
Use kWordSizeLog2 instead.
|
__ LoadFieldFromOffset(R0, TMP, base + kWordSize, PP); |
__ LoadFieldFromOffset(R1, R0, Function::code_offset(), PP); |
__ LoadFieldFromOffset(R1, R1, Code::instructions_offset(), PP); |