Mercurial > hg > truffle
changeset 9873:d59b9078978c
use loadHub without null check in MonitorSnippets
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 05 Jun 2013 11:44:05 +0200 |
parents | 4391fd907278 |
children | fb010fd0b384 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java |
diffstat | 2 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java Wed Jun 05 11:34:55 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java Wed Jun 05 11:44:05 2013 +0200 @@ -443,6 +443,13 @@ return loadHubIntrinsic(object, getWordKind()); } + /** + * Loads the hub from a object. + */ + public static Word loadHubNoNullcheck(Object object) { + return loadWordFromObject(object, hubOffset()); + } + public static Object verifyOop(Object object) { if (verifyOops()) { verifyOopStub(VERIFY_OOP, object);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java Wed Jun 05 11:34:55 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java Wed Jun 05 11:44:05 2013 +0200 @@ -107,7 +107,7 @@ } else { // The bias pattern is present in the object's mark word. Need to check // whether the bias owner and the epoch are both still current. - Word hub = loadHub(object); + Word hub = loadHubNoNullcheck(object); final Word prototypeMarkWord = hub.readWord(prototypeMarkWordOffset(), PROTOTYPE_MARK_WORD_LOCATION); final Word thread = thread(); final Word tmp = prototypeMarkWord.or(thread).xor(mark).and(~ageMaskInPlace());