Lines Matching refs:writer_
533 : writer_(writer), in DexMethodVisitor()
564 OatWriter* const writer_; member in art::OatWriter::DexMethodVisitor
584 DCHECK_LT(oat_class_index_, writer_->oat_classes_.size()); in StartClass()
606 for (const OatDexFile& oat_dex_file : writer_->oat_dex_files_) { in InitOatClassesMethodVisitor()
609 writer_->oat_classes_.reserve(num_classes); in InitOatClassesMethodVisitor()
628 writer_->compiler_driver_->GetCompiledMethod(MethodReference(dex_file_, method_idx)); in VisitMethod()
638 CompiledClass* compiled_class = writer_->compiler_driver_->GetCompiledClass(class_ref); in EndClass()
642 } else if (writer_->compiler_driver_->GetVerificationResults()->IsClassRejected(class_ref)) { in EndClass()
648 writer_->oat_classes_.emplace_back(offset_, in EndClass()
652 offset_ += writer_->oat_classes_.back().SizeOf(); in EndClass()
666 writer_->absolute_patch_locations_.reserve( in InitCodeMethodVisitor()
667 writer_->compiler_driver_->GetNonRelativeLinkerPatchCount()); in InitCodeMethodVisitor()
672 if (oat_class_index_ == writer_->oat_classes_.size()) { in EndClass()
673 offset_ = writer_->relative_patcher_->ReserveSpaceEnd(offset_); in EndClass()
680 OatClass* oat_class = &writer_->oat_classes_[oat_class_index_]; in VisitMethod()
695 quick_code_offset = writer_->relative_patcher_->GetOffset(method_ref); in VisitMethod()
713 if (writer_->relative_patcher_->GetOffset(method_ref) != 0u) { in VisitMethod()
717 << " offsets " << writer_->relative_patcher_->GetOffset(method_ref) in VisitMethod()
720 writer_->relative_patcher_->SetOffset(method_ref, quick_code_offset); in VisitMethod()
753 uintptr_t base_loc = offset_ - code_size - writer_->oat_header_->GetExecutableOffset(); in VisitMethod()
756 writer_->absolute_patch_locations_.push_back(base_loc + patch.LiteralOffset()); in VisitMethod()
762 const CompilerOptions& compiler_options = writer_->compiler_driver_->GetCompilerOptions(); in VisitMethod()
779 info.code_address = code_offset - writer_->oat_header_->GetExecutableOffset(); in VisitMethod()
784 writer_->method_info_.push_back(info); in VisitMethod()
817 offset_ = writer_->relative_patcher_->ReserveSpace( in NewQuickCodeOffset()
841 OatClass* oat_class = &writer_->oat_classes_[oat_class_index_]; in VisitMethod()
878 pointer_size_(GetInstructionSetPointerSize(writer_->compiler_driver_->GetInstructionSet())) { in InitImageMethodVisitor()
887 if (!writer_->GetCompilerDriver()->IsImageClass(class_descriptor)) { in VisitMethod()
891 OatClass* oat_class = &writer_->oat_classes_[oat_class_index_]; in VisitMethod()
908 if (writer_->HasBootImage()) { in VisitMethod()
959 if (writer_->HasBootImage()) { in WriteCodeMethodVisitor()
961 CHECK(writer_->image_writer_->IsImageAddressSpaceReady()); in WriteCodeMethodVisitor()
980 if (oat_class_index_ == writer_->oat_classes_.size()) { in EndClass()
982 offset_ = writer_->relative_patcher_->WriteThunks(out_, offset_); in EndClass()
993 OatClass* oat_class = &writer_->oat_classes_[oat_class_index_]; in VisitMethod()
1008 offset_ = writer_->relative_patcher_->WriteThunks(out, offset_); in VisitMethod()
1016 if (!writer_->WriteCodeAlignment(out, aligned_code_delta)) { in VisitMethod()
1034 writer_->size_method_header_ += sizeof(method_header); in VisitMethod()
1047 writer_->relative_patcher_->PatchCall(&patched_code_, in VisitMethod()
1055 writer_->relative_patcher_->PatchPcRelativeReference(&patched_code_, in VisitMethod()
1063 writer_->relative_patcher_->PatchPcRelativeReference(&patched_code_, in VisitMethod()
1101 writer_->size_code_ += code_size; in VisitMethod()
1138 uint32_t target_offset = writer_->relative_patcher_->GetOffset(patch.TargetMethod()); in GetTargetOffset()
1144 size_t size = GetInstructionSetPointerSize(writer_->compiler_driver_->GetInstructionSet()); in GetTargetOffset()
1147 DCHECK(!writer_->HasBootImage()); in GetTargetOffset()
1154 ? writer_->oat_header_->GetQuickGenericJniTrampolineOffset() in GetTargetOffset()
1155 : writer_->oat_header_->GetQuickToInterpreterBridgeOffset(); in GetTargetOffset()
1173 DCHECK(writer_->HasBootImage() || in GetTargetString()
1179 if (writer_->HasBootImage()) { in GetDexCacheOffset()
1180 uintptr_t element = writer_->image_writer_->GetDexCacheArrayElementImageAddress<uintptr_t>( in GetDexCacheOffset()
1182 size_t oat_index = writer_->image_writer_->GetOatIndexForDexCache(dex_cache_); in GetDexCacheOffset()
1183 uintptr_t oat_data = writer_->image_writer_->GetOatDataBegin(oat_index); in GetDexCacheOffset()
1186 size_t start = writer_->dex_cache_arrays_offsets_.Get(patch.TargetDexCacheDexFile()); in GetDexCacheOffset()
1192 DCHECK(writer_->HasBootImage()); in GetTargetObjectOffset()
1193 object = writer_->image_writer_->GetImageAddress(object); in GetTargetObjectOffset()
1194 size_t oat_index = writer_->image_writer_->GetOatIndexForDexFile(dex_file_); in GetTargetObjectOffset()
1195 uintptr_t oat_data_begin = writer_->image_writer_->GetOatDataBegin(oat_index); in GetTargetObjectOffset()
1202 if (writer_->HasBootImage()) { in PatchObjectAddress()
1203 object = writer_->image_writer_->GetImageAddress(object); in PatchObjectAddress()
1222 if (writer_->HasBootImage()) { in PatchMethodAddress()
1223 method = writer_->image_writer_->GetImageMethodAddress(method); in PatchMethodAddress()
1251 if (writer_->HasBootImage()) { in PatchCodeAddress()
1252 size_t oat_index = writer_->image_writer_->GetOatIndexForDexCache(dex_cache_); in PatchCodeAddress()
1256 writer_->image_writer_->GetOatDataBegin(oat_index) + in PatchCodeAddress()
1281 OatClass* oat_class = &writer_->oat_classes_[oat_class_index_]; in VisitMethod()