Home | History | Annotate | Download | only in runtime

Lines Matching refs:code_item

718   const CodeItem* code_item = GetCodeItem(method->GetCodeItemOffset());
719 DCHECK(code_item != NULL) << PrettyMethod(method) << " " << GetLocation();
723 DecodeDebugInfo(code_item, method->IsStatic(), method->GetDexMethodIndex(), LineNumForPcCb,
728 int32_t DexFile::FindTryItem(const CodeItem &code_item, uint32_t address) {
731 int32_t max = code_item.tries_size_ - 1;
736 const art::DexFile::TryItem* ti = GetTryItems(code_item, mid);
752 int32_t DexFile::FindCatchHandlerOffset(const CodeItem &code_item, uint32_t address) {
753 int32_t try_item = FindTryItem(code_item, address);
757 return DexFile::GetTryItems(code_item, try_item)->handler_off_;
761 void DexFile::DecodeDebugInfo0(const CodeItem* code_item, bool is_static, uint32_t method_idx,
766 uint16_t arg_reg = code_item->registers_size_ - code_item->ins_size_;
784 if (arg_reg >= code_item->registers_size_) {
786 << " >= " << code_item->registers_size_ << ") in " << GetLocation();
838 if (reg > code_item->registers_size_) {
840 << code_item->registers_size_ << ") in " << GetLocation();
866 if (reg > code_item->registers_size_) {
868 << code_item->registers_size_ << ") in " << GetLocation();
880 if (reg > code_item->registers_size_) {
882 << code_item->registers_size_ << ") in " << GetLocation();
924 void DexFile::DecodeDebugInfo(const CodeItem* code_item, bool is_static, uint32_t method_idx,
927 DCHECK(code_item != nullptr);
928 const byte* stream = GetDebugInfoStream(code_item);
930 new LocalInfo[code_item->registers_size_] :
933 DecodeDebugInfo0(code_item, is_static, method_idx, position_cb, local_cb, context, stream, &local_in_reg[0]);
935 for (int reg = 0; reg < code_item->registers_size_; reg++) {
936 InvokeLocalCbIfLive(context, reg, code_item->insns_size_in_code_units_, &local_in_reg[0], local_cb);
1231 CatchHandlerIterator::CatchHandlerIterator(const DexFile::CodeItem& code_item, uint32_t address) {
1236 switch (code_item.tries_size_) {
1240 const DexFile::TryItem* tries = DexFile::GetTryItems(code_item, 0);
1251 offset = DexFile::FindCatchHandlerOffset(code_item, address);
1253 Init(code_item, offset);
1256 CatchHandlerIterator::CatchHandlerIterator(const DexFile::CodeItem& code_item,
1259 Init(code_item, try_item.handler_off_);
1262 void CatchHandlerIterator::Init(const DexFile::CodeItem& code_item,
1265 Init(DexFile::GetCatchHandlerData(code_item, offset));