< 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 >