summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-12-12 15:26:10 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-12-12 15:26:11 +0000
commit7d81bf2c9de138a65ea7189df18bc88f2c4fe6c5 (patch)
tree4fd804520510a1701a5bf8aaa74171a583152f27 /compiler/optimizing/code_generator.cc
parentc836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb (diff)
parent5b12f7973636bfea29da3956a9baa7a6bbe2b666 (diff)
Merge "Add kJitTableAddress for HLoadClass."
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r--compiler/optimizing/code_generator.cc8
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);
}