src/cpu/x86/vm/x86_64.ad

Print this page
rev 2506 : [mq]: membar2

*** 7379,7400 **** 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(0); --- 7379,7388 ----
*** 7402,7423 **** 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(rFlagsReg cr) %{ match(MemBarVolatile); effect(KILL cr); ins_cost(400); --- 7390,7399 ----