Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/x86_64.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 |
---|---|
7373 ins_pipe(empty); | 7373 ins_pipe(empty); |
7374 %} | 7374 %} |
7375 | 7375 |
7376 instruct membar_acquire_lock() | 7376 instruct membar_acquire_lock() |
7377 %{ | 7377 %{ |
7378 match(MemBarAcquire); | 7378 match(MemBarAcquireLock); |
7379 predicate(Matcher::prior_fast_lock(n)); | |
7380 ins_cost(0); | 7379 ins_cost(0); |
7381 | 7380 |
7382 size(0); | 7381 size(0); |
7383 format %{ "MEMBAR-acquire (prior CMPXCHG in FastLock so empty encoding)" %} | 7382 format %{ "MEMBAR-acquire (prior CMPXCHG in FastLock so empty encoding)" %} |
7384 ins_encode(); | 7383 ins_encode(); |
7396 ins_pipe(empty); | 7395 ins_pipe(empty); |
7397 %} | 7396 %} |
7398 | 7397 |
7399 instruct membar_release_lock() | 7398 instruct membar_release_lock() |
7400 %{ | 7399 %{ |
7401 match(MemBarRelease); | 7400 match(MemBarReleaseLock); |
7402 predicate(Matcher::post_fast_unlock(n)); | |
7403 ins_cost(0); | 7401 ins_cost(0); |
7404 | 7402 |
7405 size(0); | 7403 size(0); |
7406 format %{ "MEMBAR-release (a FastUnlock follows so empty encoding)" %} | 7404 format %{ "MEMBAR-release (a FastUnlock follows so empty encoding)" %} |
7407 ins_encode(); | 7405 ins_encode(); |