Lines Matching refs:writer_

228     : writer_(writer),  in DexMethodVisitor()
259 OatWriter* const writer_; member in art::OatWriter::DexMethodVisitor
279 DCHECK_LT(oat_class_index_, writer_->oat_classes_.size()); in StartClass()
317 writer_->compiler_driver_->GetCompiledMethod(MethodReference(dex_file_, method_idx)); in VisitMethod()
327 CompiledClass* compiled_class = writer_->compiler_driver_->GetCompiledClass(class_ref); in EndClass()
331 } else if (writer_->compiler_driver_->GetVerificationResults()->IsClassRejected(class_ref)) { in EndClass()
339 writer_->oat_classes_.push_back(oat_class); in EndClass()
340 oat_class->UpdateChecksum(writer_->oat_header_); in EndClass()
355 writer_->absolute_patch_locations_.reserve( in InitCodeMethodVisitor()
356 writer_->compiler_driver_->GetNonRelativeLinkerPatchCount()); in InitCodeMethodVisitor()
361 if (oat_class_index_ == writer_->oat_classes_.size()) { in EndClass()
362 offset_ = writer_->relative_patcher_->ReserveSpaceEnd(offset_); in EndClass()
369 OatClass* oat_class = writer_->oat_classes_[oat_class_index_]; in VisitMethod()
398 auto method_lb = writer_->method_offset_map_.map.lower_bound(method_ref); in VisitMethod()
399 if (method_lb != writer_->method_offset_map_.map.end() && in VisitMethod()
400 !writer_->method_offset_map_.map.key_comp()(method_ref, method_lb->first)) { in VisitMethod()
406 writer_->method_offset_map_.map.PutBefore(method_lb, method_ref, quick_code_offset); in VisitMethod()
443 uintptr_t base_loc = offset_ - code_size - writer_->oat_header_->GetExecutableOffset(); in VisitMethod()
446 writer_->absolute_patch_locations_.push_back(base_loc + patch.LiteralOffset()); in VisitMethod()
452 if (writer_->compiler_driver_->GetCompilerOptions().GetGenerateDebugInfo()) { in VisitMethod()
455 writer_->oat_header_->GetExecutableOffset() - thumb_offset; in VisitMethod()
456 writer_->method_info_.push_back(DebugInfo { in VisitMethod()
470 const CompilerDriver* compiler_driver = writer_->compiler_driver_; in VisitMethod()
536 offset_ = writer_->relative_patcher_->ReserveSpace( in NewQuickCodeOffset()
561 OatClass* oat_class = writer_->oat_classes_[oat_class_index_]; in VisitMethod()
578 writer_->oat_header_->UpdateChecksum(&(*map)[0], map_size); in VisitMethod()
597 pointer_size_(GetInstructionSetPointerSize(writer_->compiler_driver_->GetInstructionSet())) { in InitImageMethodVisitor()
602 OatClass* oat_class = writer_->oat_classes_[oat_class_index_]; in VisitMethod()
650 if (writer_->image_writer_ != nullptr) { in WriteCodeMethodVisitor()
652 CHECK(writer_->image_writer_->IsImageAddressSpaceReady()); in WriteCodeMethodVisitor()
671 if (oat_class_index_ == writer_->oat_classes_.size()) { in EndClass()
673 offset_ = writer_->relative_patcher_->WriteThunks(out_, offset_); in EndClass()
684 OatClass* oat_class = writer_->oat_classes_[oat_class_index_]; in VisitMethod()
701 offset_ = writer_->relative_patcher_->WriteThunks(out, offset_); in VisitMethod()
709 if (!writer_->WriteCodeAlignment(out, aligned_code_delta)) { in VisitMethod()
723 writer_->oat_header_->UpdateChecksum(&method_header, sizeof(method_header)); in VisitMethod()
728 writer_->size_method_header_ += sizeof(method_header); in VisitMethod()
740 writer_->relative_patcher_->PatchCall(&patched_code_, literal_offset, in VisitMethod()
745 writer_->relative_patcher_->PatchDexCacheReference(&patched_code_, patch, in VisitMethod()
761 writer_->oat_header_->UpdateChecksum(wrapped.data(), code_size); in VisitMethod()
766 writer_->size_code_ += code_size; in VisitMethod()
803 auto target_it = writer_->method_offset_map_.map.find(patch.TargetMethod()); in GetTargetOffset()
805 (target_it != writer_->method_offset_map_.map.end()) ? target_it->second : 0u; in GetTargetOffset()
810 size_t size = GetInstructionSetPointerSize(writer_->compiler_driver_->GetInstructionSet()); in GetTargetOffset()
819 ? writer_->oat_header_->GetQuickGenericJniTrampolineOffset() in GetTargetOffset()
820 : writer_->oat_header_->GetQuickToInterpreterBridgeOffset(); in GetTargetOffset()
836 if (writer_->image_writer_ != nullptr) { in GetDexCacheOffset()
837 auto* element = writer_->image_writer_->GetDexCacheArrayElementImageAddress( in GetDexCacheOffset()
839 const uint8_t* oat_data = writer_->image_writer_->GetOatFileBegin() + file_offset_; in GetDexCacheOffset()
851 if (writer_->image_writer_ != nullptr) { in PatchObjectAddress()
852 object = writer_->image_writer_->GetImageAddress(object); in PatchObjectAddress()
867 if (writer_->image_writer_ != nullptr) { in PatchMethodAddress()
868 method = writer_->image_writer_->GetImageMethodAddress(method); in PatchMethodAddress()
882 uint32_t address = writer_->image_writer_ == nullptr ? target_offset : in PatchCodeAddress()
883 PointerToLowMemUInt32(writer_->image_writer_->GetOatFileBegin() + in PatchCodeAddress()
884 writer_->oat_data_offset_ + target_offset); in PatchCodeAddress()
905 OatClass* oat_class = writer_->oat_classes_[oat_class_index_]; in VisitMethod()