Mercurial > hg > truffle
changeset 16643:b1af1727a783
[SPARC] When handling with stackpointer register, we need to always add the stack bias as well
author | Stefan Anzinger <stefan.anzinger@gmail.com> |
---|---|
date | Thu, 24 Jul 2014 16:03:29 -0700 |
parents | 78b8af271e86 |
children | fa14ceabaf15 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java Thu Jul 24 15:38:05 2014 -0700 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java Thu Jul 24 16:03:29 2014 -0700 @@ -254,7 +254,7 @@ // significant 2 bits cleared and page_size is a power of 2 final Word alignedMask = Word.unsigned(wordSize() - 1); final Word stackPointer = registerAsWord(stackPointerRegister); - if (probability(VERY_SLOW_PATH_PROBABILITY, currentMark.subtract(stackPointer).and(alignedMask.subtract(pageSize())).notEqual(0))) { + if (probability(VERY_SLOW_PATH_PROBABILITY, currentMark.subtract(stackPointer.add(config().stackBias)).and(alignedMask.subtract(pageSize())).notEqual(0))) { // Most likely not a recursive lock, go into a slow runtime call traceObject(trace, "+lock{stub:failed-cas}", object, true); monitorenterStubC(MONITORENTER, object, lock);