comparison src/cpu/sparc/vm/compiledIC_sparc.cpp @ 20804:7848fc12602b

Merge with jdk8u40-b25
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Tue, 07 Apr 2015 14:58:49 +0200
parents 5c71dcf0915d c64b6b0c40c8
children be896a1983c0
comparison
equal deleted inserted replaced
20184:84105dcdb05b 20804:7848fc12602b
46 46
47 bool CompiledIC::is_icholder_call_site(virtual_call_Relocation* call_site) { 47 bool CompiledIC::is_icholder_call_site(virtual_call_Relocation* call_site) {
48 // This call site might have become stale so inspect it carefully. 48 // This call site might have become stale so inspect it carefully.
49 NativeCall* call = nativeCall_at(call_site->addr()); 49 NativeCall* call = nativeCall_at(call_site->addr());
50 return is_icholder_entry(call->destination()); 50 return is_icholder_entry(call->destination());
51 }
52
53 //-----------------------------------------------------------------------------
54 // High-level access to an inline cache. Guaranteed to be MT-safe.
55
56 CompiledIC::CompiledIC(nmethod* nm, NativeCall* call)
57 : _ic_call(call)
58 {
59 address ic_call = call->instruction_address();
60
61 assert(ic_call != NULL, "ic_call address must be set");
62 assert(nm != NULL, "must pass nmethod");
63 assert(nm->contains(ic_call), "must be in nmethod");
64
65 // Search for the ic_call at the given address.
66 RelocIterator iter(nm, ic_call, ic_call+1);
67 bool ret = iter.next();
68 assert(ret == true, "relocInfo must exist at this address");
69 assert(iter.addr() == ic_call, "must find ic_call");
70 if (iter.type() == relocInfo::virtual_call_type) {
71 virtual_call_Relocation* r = iter.virtual_call_reloc();
72 _is_optimized = false;
73 _value = nativeMovConstReg_at(r->cached_value());
74 } else {
75 assert(iter.type() == relocInfo::opt_virtual_call_type, "must be a virtual call");
76 _is_optimized = true;
77 _value = NULL;
78 }
79 } 51 }
80 52
81 // ---------------------------------------------------------------------------- 53 // ----------------------------------------------------------------------------
82 54
83 #define __ _masm. 55 #define __ _masm.