diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2016-12-12 22:33:36 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2016-12-12 23:06:38 +0000 |
commit | 22384aeab988df7fa5ccdc48a668589c5f602c39 (patch) | |
tree | daca06adfc92c93017618c3729af54ed40214ba4 /compiler/optimizing/code_generator.cc | |
parent | 0ee6447c63e354131dec78743ccabcbc964129e3 (diff) |
Revert "Revert "Add kJitTableAddress for HLoadClass.""
This reverts commit d2d5262c8370309e1f2a009f00aafc24f1cf00a0.
Change-Id: I6149d5c7d5df0b0fc5cb646a802a2eea8d01ac08
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index fa6a5225e7..402eeee65f 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -1402,6 +1402,14 @@ void CodeGenerator::EmitJitRoots(uint8_t* code, entry.second = index; ++index; } + for (auto& entry : jit_class_roots_) { + // Update the `roots` with the class, and replace the address temporarily + // stored to the index in the table. + uint64_t address = entry.second; + roots->Set(index, reinterpret_cast<StackReference<mirror::Class>*>(address)->AsMirrorPtr()); + entry.second = index; + ++index; + } EmitJitRootPatches(code, roots_data); } |