summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generation_data.cc
diff options
context:
space:
mode:
author Almaz Mingaleev <mingaleev@google.com> 2024-04-12 07:15:38 +0000
committer Almaz Mingaleev <mingaleev@google.com> 2024-07-02 13:36:08 +0000
commit55f1fed0c404146429d38c41b9dd1647db238ba5 (patch)
tree882436a95c9b9932b7717710c8ce778fa30785c9 /compiler/optimizing/code_generation_data.cc
parent6a44606e6b27eb04e911cab0adec627014e678ff (diff)
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
Diffstat (limited to 'compiler/optimizing/code_generation_data.cc')
-rw-r--r--compiler/optimizing/code_generation_data.cc11
1 files changed, 11 insertions, 0 deletions
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<StackReference<mirror::Object>*>(address));
+ DCHECK(roots->back() != nullptr);
+ DCHECK(roots->back()->InstanceOf(WellKnownClasses::java_lang_invoke_MethodType.Get()));
+ entry.second = index;
+ ++index;
+ }
}
} // namespace art