diff options
Diffstat (limited to 'compiler/dex/quick/arm/call_arm.cc')
-rw-r--r-- | compiler/dex/quick/arm/call_arm.cc | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/compiler/dex/quick/arm/call_arm.cc b/compiler/dex/quick/arm/call_arm.cc index b721e02..13b9bf0 100644 --- a/compiler/dex/quick/arm/call_arm.cc +++ b/compiler/dex/quick/arm/call_arm.cc @@ -140,41 +140,6 @@ void ArmMir2Lir::GenLargePackedSwitch(MIR* mir, uint32_t table_offset, RegLocati } /* - * Array data table format: - * ushort ident = 0x0300 magic value - * ushort width width of each element in the table - * uint size number of elements in the table - * ubyte data[size*width] table of data values (may contain a single-byte - * padding at the end) - * - * Total size is 4+(width * size + 1)/2 16-bit code units. - */ -void ArmMir2Lir::GenFillArrayData(MIR* mir, DexOffset table_offset, RegLocation rl_src) { - const uint16_t* table = mir_graph_->GetTable(mir, table_offset); - // Add the table to the list - we'll process it later - FillArrayData *tab_rec = - static_cast<FillArrayData*>(arena_->Alloc(sizeof(FillArrayData), kArenaAllocData)); - tab_rec->table = table; - tab_rec->vaddr = current_dalvik_offset_; - uint16_t width = tab_rec->table[1]; - uint32_t size = tab_rec->table[2] | ((static_cast<uint32_t>(tab_rec->table[3])) << 16); - tab_rec->size = (size * width) + 8; - - fill_array_data_.push_back(tab_rec); - - // Making a call - use explicit registers - FlushAllRegs(); /* Everything to home location */ - LoadValueDirectFixed(rl_src, rs_r0); - LoadWordDisp(rs_rARM_SELF, QUICK_ENTRYPOINT_OFFSET(4, pHandleFillArrayData).Int32Value(), - rs_rARM_LR); - // Materialize a pointer to the fill data image - NewLIR3(kThumb2Adr, rs_r1.GetReg(), 0, WrapPointer(tab_rec)); - ClobberCallerSave(); - LIR* call_inst = OpReg(kOpBlx, rs_rARM_LR); - MarkSafepointPC(call_inst); -} - -/* * Handle unlocked -> thin locked transition inline or else call out to quick entrypoint. For more * details see monitor.cc. */ |