RFR (M): 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()

Roland Westrelin roland.westrelin at oracle.com
Wed May 16 07:32:20 PDT 2012


> In c1_LIRAssembler_sparc.cpp move assert(code == lir_xchg) to the beginning of method since on sparc we have only swap
> for all types and change "xadd for oops" --> "no xadd on sparc".
>
> In c1_LIR.cpp fix comment:
>
> +        // destroy inputs. On the other platform that implements those
> +        // (x86, sparc), the extra constrainsts are armless.
> ----
> +        // destroy inputs. On other platforms that implement those
> +        // (x86, sparc), the extra constraints are harmless.
>
> In escape.cpp move add_obload_* call up with cases for GetAndSet and then fallthrough:
>
> +    case Op_GetAndSetP:
> +    case Op_GetAndSetN: {
> +      add_objload_to_connection_graph(n, delayed_worklist);
> +      // fallthrough
> +    }
>       case Op_StoreP:
>       case Op_StoreN:
>       case Op_StorePConditional:
>       case Op_CompareAndSwapP:
>       case Op_CompareAndSwapN: {
>
> The rest looks good.

Ok. Thanks for the review.

Roland.


More information about the hotspot-compiler-dev mailing list