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 ----