summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-12-12 16:29:18 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-12-12 16:29:18 +0000
commit4dd3f7d2e9319bc622e89cbe110620d85d14ffca (patch)
treeeb5203121c5b8d1d6b33f39e1c8b2ff45ad26ca8 /compiler/optimizing/nodes.h
parent7d81bf2c9de138a65ea7189df18bc88f2c4fe6c5 (diff)
parentd2d5262c8370309e1f2a009f00aafc24f1cf00a0 (diff)
Merge "Revert "Add kJitTableAddress for HLoadClass.""
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 659cddae05..e3f4d8f035 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -5493,8 +5493,9 @@ class HLoadClass FINAL : public HInstruction {
// GetIncludePatchInformation().
kBootImageAddress,
- // Load from the root table associated with the JIT compiled method.
- kJitTableAddress,
+ // Load from the resolved types array at an absolute address.
+ // Used for classes outside the boot image referenced by JIT-compiled code.
+ kDexCacheAddress,
// Load from resolved types array in the dex cache using a PC-relative load.
// Used for classes outside boot image when we know that we can access
@@ -5587,6 +5588,7 @@ class HLoadClass FINAL : public HInstruction {
NeedsAccessCheck();
}
+
bool CanThrow() const OVERRIDE {
return CanCallRuntime();
}
@@ -5611,9 +5613,7 @@ class HLoadClass FINAL : public HInstruction {
return load_data_.address;
}
- bool NeedsDexCacheOfDeclaringClass() const OVERRIDE {
- return !IsReferrersClass();
- }
+ bool NeedsDexCacheOfDeclaringClass() const OVERRIDE { return !IsReferrersClass(); }
static SideEffects SideEffectsForArchRuntimeCalls() {
return SideEffects::CanTriggerGC();
@@ -5672,8 +5672,7 @@ class HLoadClass FINAL : public HInstruction {
}
static bool HasAddress(LoadKind load_kind) {
- return load_kind == LoadKind::kBootImageAddress ||
- load_kind == LoadKind::kJitTableAddress;
+ return load_kind == LoadKind::kBootImageAddress || load_kind == LoadKind::kDexCacheAddress;
}
static bool HasDexCacheReference(LoadKind load_kind) {
@@ -5692,7 +5691,7 @@ class HLoadClass FINAL : public HInstruction {
union {
uint32_t dex_cache_element_index; // Only for dex cache reference.
- uint64_t address; // Up to 64-bit, needed for kJitTableAddress on 64-bit targets.
+ uint64_t address; // Up to 64-bit, needed for kDexCacheAddress on 64-bit targets.
} load_data_;
ReferenceTypeInfo loaded_class_rti_;