< prev index next >
src/hotspot/share/opto/library_call.cpp
Print this page
rev 51594 : 8210187: Explicit barriers for C2
Reviewed-by: eosterlund, shade
rev 51595 : [mq]: JDK-8210187-01.patch
*** 2965,2976 ****
// (a) Receiving thread must be the current thread.
Node* rec_thr = argument(0);
Node* tls_ptr = NULL;
Node* cur_thr = generate_current_thread(tls_ptr);
- cur_thr = access_resolve(cur_thr, ACCESS_WRITE);
- rec_thr = access_resolve(rec_thr, ACCESS_WRITE);
Node* cmp_thr = _gvn.transform(new CmpPNode(cur_thr, rec_thr));
Node* bol_thr = _gvn.transform(new BoolNode(cmp_thr, BoolTest::ne));
generate_slow_guard(bol_thr, slow_region);
--- 2965,2974 ----
*** 3401,3413 ****
Node* p = basic_plus_adr(arg, class_klass_offset);
Node* kls = LoadKlassNode::make(_gvn, NULL, immutable_memory(), p, adr_type, kls_type);
klasses[which_arg] = _gvn.transform(kls);
}
- args[0] = access_resolve(args[0], ACCESS_WRITE);
- args[1] = access_resolve(args[1], ACCESS_WRITE);
-
// Having loaded both klasses, test each for null.
bool never_see_null = !too_many_traps(Deoptimization::Reason_null_check);
for (which_arg = 0; which_arg <= 1; which_arg++) {
Node* kls = klasses[which_arg];
Node* null_ctl = top();
--- 3399,3408 ----
*** 6120,6132 ****
}
src = must_be_not_null(src, true);
dest = must_be_not_null(dest, true);
- src = access_resolve(src, ACCESS_WRITE);
- dest = access_resolve(dest, ACCESS_WRITE);
-
ciInstanceKlass* instklass_AESCrypt = klass_AESCrypt->as_instance_klass();
Node* instof = gen_instanceof(embeddedCipherObj, makecon(TypeKlassPtr::make(instklass_AESCrypt)));
Node* cmp_instof = _gvn.transform(new CmpINode(instof, intcon(1)));
Node* bool_instof = _gvn.transform(new BoolNode(cmp_instof, BoolTest::ne));
--- 6115,6124 ----
< prev index next >