From 55f1fed0c404146429d38c41b9dd1647db238ba5 Mon Sep 17 00:00:00 2001 From: Almaz Mingaleev Date: Fri, 12 Apr 2024 07:15:38 +0000 Subject: Revert^4 "x86_64: Add JIT support for LoadMethodType." This reverts commit b63adc919ba9a53f4fbad476356c702845821149. Bringing back map from ArtMethod to code pointers. Bug: 297147201 Test: CtsPerfettoTestCases Test: ./art/test/testrunner/testrunner.py --host --64 --jit -b Test: ./art/test/testrunner/testrunner.py --host --64 --jit --cms -b Test: ./art/test/testrunner/testrunner.py --host --64 -b Test: ./art/test.py --host -b Change-Id: I6a1c50598ec878393edf8ef895274da79d4ab42d --- compiler/optimizing/code_generation_data.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'compiler/optimizing/code_generation_data.cc') diff --git a/compiler/optimizing/code_generation_data.cc b/compiler/optimizing/code_generation_data.cc index 7b23d46dc5..afc4f62f0f 100644 --- a/compiler/optimizing/code_generation_data.cc +++ b/compiler/optimizing/code_generation_data.cc @@ -20,6 +20,7 @@ #include "intern_table.h" #include "mirror/object-inl.h" #include "runtime.h" +#include "well_known_classes-inl.h" namespace art HIDDEN { @@ -52,6 +53,16 @@ void CodeGenerationData::EmitJitRoots( entry.second = index; ++index; } + for (auto& entry : jit_method_type_roots_) { + // Update the `roots` with the MethodType, and replace the address temporarily + // stored to the index in the table. + uint64_t address = entry.second; + roots->emplace_back(reinterpret_cast*>(address)); + DCHECK(roots->back() != nullptr); + DCHECK(roots->back()->InstanceOf(WellKnownClasses::java_lang_invoke_MethodType.Get())); + entry.second = index; + ++index; + } } } // namespace art -- cgit v1.2.3-59-g8ed1b