src/cpu/x86/vm/x86_32.ad

Print this page
rev 2506 : [mq]: membar2

*** 7803,7844 **** format %{ "MEMBAR-acquire ! (empty encoding)" %} ins_encode(); ins_pipe(empty); %} - instruct membar_acquire_lock() %{ - match(MemBarAcquire); - predicate(Matcher::prior_fast_lock(n)); - ins_cost(0); - - size(0); - format %{ "MEMBAR-acquire (prior CMPXCHG in FastLock so empty encoding)" %} - ins_encode( ); - ins_pipe(empty); - %} - instruct membar_release() %{ match(MemBarRelease); ins_cost(400); size(0); format %{ "MEMBAR-release ! (empty encoding)" %} ins_encode( ); ins_pipe(empty); %} - instruct membar_release_lock() %{ - match(MemBarRelease); - predicate(Matcher::post_fast_unlock(n)); - ins_cost(0); - - size(0); - format %{ "MEMBAR-release (a FastUnlock follows so empty encoding)" %} - ins_encode( ); - ins_pipe(empty); - %} - instruct membar_volatile(eFlagsReg cr) %{ match(MemBarVolatile); effect(KILL cr); ins_cost(400); --- 7803,7822 ----