diff options
| author | 2017-01-17 10:25:57 +0000 | |
|---|---|---|
| committer | 2017-01-17 10:25:57 +0000 | |
| commit | dcc7ab628c9d59bfab203ab752ff7e11bfd60181 (patch) | |
| tree | b37f3f978c06d4205145eab948d51f86560f64b0 /compiler/optimizing/nodes.cc | |
| parent | 9748d3d2094c1d3c443a350cf12b9d77b4c4d1e3 (diff) | |
| parent | 5247c08fb186a5a2ac02226827cf6b994f41a681 (diff) | |
Merge "Put the resolved class in HLoadClass."
Diffstat (limited to 'compiler/optimizing/nodes.cc')
| -rw-r--r-- | compiler/optimizing/nodes.cc | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc index 81662fabc5..b929674cac 100644 --- a/compiler/optimizing/nodes.cc +++ b/compiler/optimizing/nodes.cc @@ -2448,9 +2448,9 @@ std::ostream& operator<<(std::ostream& os, HInvokeStaticOrDirect::ClinitCheckReq  // mirrors, they are stored in a variable size handle scope which is always  // visited during a pause. Also, the only caller of this helper  // only uses the mirror for pointer comparison. -static inline mirror::Class* AsMirrorInternal(uint64_t address) +static inline mirror::Class* AsMirrorInternal(Handle<mirror::Class> handle)      NO_THREAD_SAFETY_ANALYSIS { -  return reinterpret_cast<StackReference<mirror::Class>*>(address)->AsMirrorPtr(); +  return handle.Get();  }  bool HLoadClass::InstructionDataEquals(const HInstruction* other) const { @@ -2463,9 +2463,8 @@ bool HLoadClass::InstructionDataEquals(const HInstruction* other) const {    }    switch (GetLoadKind()) {      case LoadKind::kBootImageAddress: -      return GetAddress() == other_load_class->GetAddress();      case LoadKind::kJitTableAddress: -      return AsMirrorInternal(GetAddress()) == AsMirrorInternal(other_load_class->GetAddress()); +      return AsMirrorInternal(GetClass()) == AsMirrorInternal(other_load_class->GetClass());      default:        DCHECK(HasTypeReference(GetLoadKind()));        return IsSameDexFile(GetDexFile(), other_load_class->GetDexFile()); |