1026 MergeMemNode* mm = MergeMemNode::make(base); |
1026 MergeMemNode* mm = MergeMemNode::make(base); |
1027 mm->set_memory_at(Compile::AliasIdxRaw, raw_mem); |
1027 mm->set_memory_at(Compile::AliasIdxRaw, raw_mem); |
1028 phase->register_new_node(mm, ctrl); |
1028 phase->register_new_node(mm, ctrl); |
1029 |
1029 |
1030 address target = LP64_ONLY(UseCompressedOops) NOT_LP64(false) ? |
1030 address target = LP64_ONLY(UseCompressedOops) NOT_LP64(false) ? |
1031 CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_fixup_narrow) : |
1031 CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_narrow) : |
1032 CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_fixup); |
1032 CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier); |
1033 |
1033 |
1034 address calladdr = is_native ? CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_native) |
1034 address calladdr = is_native ? CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_native) |
1035 : target; |
1035 : target; |
1036 const char* name = is_native ? "load_reference_barrier_native" : "load_reference_barrier"; |
1036 const char* name = is_native ? "load_reference_barrier_native" : "load_reference_barrier"; |
1037 Node* call = new CallLeafNode(ShenandoahBarrierSetC2::shenandoah_load_reference_barrier_Type(), calladdr, name, TypeRawPtr::BOTTOM); |
1037 Node* call = new CallLeafNode(ShenandoahBarrierSetC2::shenandoah_load_reference_barrier_Type(), calladdr, name, TypeRawPtr::BOTTOM); |