comparison src/cpu/x86/vm/x86_32.ad @ 3849:f1c12354c3f7

7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths Summary: replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes Reviewed-by: kvn, twisti
author roland
date Tue, 02 Aug 2011 18:36:40 +0200
parents c7b60b601eb4
children 95134e034042
comparison
equal deleted inserted replaced
3848:a19c671188cb 3849:f1c12354c3f7
7803 ins_encode(); 7803 ins_encode();
7804 ins_pipe(empty); 7804 ins_pipe(empty);
7805 %} 7805 %}
7806 7806
7807 instruct membar_acquire_lock() %{ 7807 instruct membar_acquire_lock() %{
7808 match(MemBarAcquire); 7808 match(MemBarAcquireLock);
7809 predicate(Matcher::prior_fast_lock(n));
7810 ins_cost(0); 7809 ins_cost(0);
7811 7810
7812 size(0); 7811 size(0);
7813 format %{ "MEMBAR-acquire (prior CMPXCHG in FastLock so empty encoding)" %} 7812 format %{ "MEMBAR-acquire (prior CMPXCHG in FastLock so empty encoding)" %}
7814 ins_encode( ); 7813 ins_encode( );
7824 ins_encode( ); 7823 ins_encode( );
7825 ins_pipe(empty); 7824 ins_pipe(empty);
7826 %} 7825 %}
7827 7826
7828 instruct membar_release_lock() %{ 7827 instruct membar_release_lock() %{
7829 match(MemBarRelease); 7828 match(MemBarReleaseLock);
7830 predicate(Matcher::post_fast_unlock(n));
7831 ins_cost(0); 7829 ins_cost(0);
7832 7830
7833 size(0); 7831 size(0);
7834 format %{ "MEMBAR-release (a FastUnlock follows so empty encoding)" %} 7832 format %{ "MEMBAR-release (a FastUnlock follows so empty encoding)" %}
7835 ins_encode( ); 7833 ins_encode( );