Chromium Code Reviews| Index: runtime/vm/flow_graph_compiler_ia32.cc |
| =================================================================== |
| --- runtime/vm/flow_graph_compiler_ia32.cc (revision 13622) |
| +++ runtime/vm/flow_graph_compiler_ia32.cc (working copy) |
| @@ -26,6 +26,25 @@ |
| DEFINE_FLAG(bool, unbox_mints, true, "Optimize 64-bit integer arithmetic."); |
| +FieldAddress FlowGraphCompiler::ElementAddressForRegIndex(intptr_t cid, |
| + Register array, |
| + Register index) { |
| + // Note that index is Smi, i.e, times 2. |
| + ASSERT(kSmiTagShift == 1); |
| + switch (cid) { |
| + case kArrayCid: |
| + case kGrowableObjectArrayCid: |
|
Florian Schneider
2012/10/15 09:40:25
I'd rather omit GrowableObjectArray here. This cas
srdjan
2012/10/15 16:53:13
Changed the generation of LoadIndexed to use the p
|
| + case kImmutableArrayCid: |
| + return FieldAddress(array, index, TIMES_2, sizeof(RawArray)); |
| + case kFloat64ArrayCid: |
| + return FieldAddress(array, index, TIMES_4, Float64Array::data_offset()); |
| + default: |
| + UNIMPLEMENTED(); |
| + return FieldAddress(SPREG, 0); |
| + } |
| +} |
| + |
| + |
| bool FlowGraphCompiler::SupportsUnboxedMints() { |
| // Support unboxed mints when SSE 4.1 is available. |
| return FLAG_unbox_mints && CPUFeatures::sse4_1_supported(); |