Merge
This commit is contained in:
commit
2d91ad91db
@ -645,9 +645,10 @@ void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHan
|
|||||||
|
|
||||||
// Live at this point:
|
// Live at this point:
|
||||||
// - G5_klass : klass required by the target method
|
// - G5_klass : klass required by the target method
|
||||||
|
// - O0_argslot : argslot index in vmarg; may be required in the failing path
|
||||||
// - O1_scratch : argument klass to test
|
// - O1_scratch : argument klass to test
|
||||||
// - G3_method_handle: adapter method handle
|
// - G3_method_handle: adapter method handle
|
||||||
__ check_klass_subtype(O1_scratch, G5_klass, O0_argslot, O2_scratch, done);
|
__ check_klass_subtype(O1_scratch, G5_klass, O2_scratch, O3_scratch, done);
|
||||||
|
|
||||||
// If we get here, the type check failed!
|
// If we get here, the type check failed!
|
||||||
__ load_heap_oop(G3_amh_argument, O2_required); // required class
|
__ load_heap_oop(G3_amh_argument, O2_required); // required class
|
||||||
|
@ -175,7 +175,7 @@ class VerifyOopClosure: public OopClosure {
|
|||||||
protected:
|
protected:
|
||||||
template <class T> inline void do_oop_work(T* p) {
|
template <class T> inline void do_oop_work(T* p) {
|
||||||
oop obj = oopDesc::load_decode_heap_oop(p);
|
oop obj = oopDesc::load_decode_heap_oop(p);
|
||||||
guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, obj));
|
guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, (oopDesc*) obj));
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
virtual void do_oop(oop* p);
|
virtual void do_oop(oop* p);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user