Home | History | Annotate | Download | only in patchoat

Lines Matching full:patchoat

16 #include "patchoat.h"
164 bool PatchOat::GeneratePatch(
254 if (!PatchOat::GeneratePatch(original, relocated, &output, error_msg)) {
416 bool PatchOat::CreateVdexAndOatSymlinks(const std::string& input_image_filename,
443 LOG(ERROR) << "patchoat cannot be used on non-PIC oat file: " << input_oat_filename;
458 bool PatchOat::Patch(const std::string& image_location,
540 PatchOat p = PatchOat(isa,
626 bool PatchOat::Verify(const std::string& image_location,
706 bool PatchOat::WriteImage(File* out) {
727 bool PatchOat::IsImagePic(const ImageHeader& image_header, const std::string& image_path) {
742 PatchOat::MaybePic PatchOat::IsOatPic(const ElfFile* oat_in) {
769 class PatchOat::PatchOatArtFieldVisitor : public ArtFieldVisitor {
771 explicit PatchOatArtFieldVisitor(PatchOat* patch_oat) : patch_oat_(patch_oat) {}
780 PatchOat* const patch_oat_;
783 void PatchOat::PatchArtFields(const ImageHeader* image_header) {
788 class PatchOat::PatchOatArtMethodVisitor : public ArtMethodVisitor {
790 explicit PatchOatArtMethodVisitor(PatchOat* patch_oat) : patch_oat_(patch_oat) {}
798 PatchOat* const patch_oat_;
801 void PatchOat::PatchArtMethods(const ImageHeader* image_header) {
807 void PatchOat::PatchImTables(const ImageHeader* image_header) {
818 void PatchOat::PatchImtConflictTables(const ImageHeader* image_header) {
829 class PatchOat::FixupRootVisitor : public RootVisitor {
831 explicit FixupRootVisitor(const PatchOat* patch_oat) : patch_oat_(patch_oat) {
850 const PatchOat* const patch_oat_;
853 void PatchOat::PatchInternedStrings(const ImageHeader* image_header) {
867 void PatchOat::PatchClassTable(const ImageHeader* image_header) {
883 class PatchOat::RelocatedPointerVisitor {
885 explicit RelocatedPointerVisitor(PatchOat
893 PatchOat* const patch_oat_;
896 void PatchOat::PatchDexFileArrays(mirror::ObjectArray<mirror::Object>* img_roots) {
975 bool PatchOat::PatchImage(bool primary_image) {
1013 void PatchOat::PatchVisitor::operator() (ObjPtr<mirror::Object> obj,
1021 void PatchOat::PatchVisitor::operator() (ObjPtr<mirror::Class> cls ATTRIBUTE_UNUSED,
1032 void PatchOat::VisitObject(mirror::Object* object) {
1038 PatchOat::PatchVisitor visitor(this, copy);
1069 void PatchOat::FixupMethod(ArtMethod* object, ArtMethod* copy) {
1113 UsageError("Usage: patchoat [options]...");
1170 PatchOat::Patch(
1192 PatchOat::Verify(
1204 static int patchoat(int argc, char **argv) {
1221 timings.StartTiming("Patchoat");
1238 LOG(INFO) << "patchoat: option[" << i << "]=" << argv[i];
1304 return art::patchoat(argc, argv);