# HG changeset patch # User Lukas Stadler # Date 1370425445 -7200 # Node ID d59b9078978c3549a833bd51fd001818c1f27fba # Parent 4391fd907278cd5b294dec93e3bb9a6077beec3a use loadHub without null check in MonitorSnippets diff -r 4391fd907278 -r d59b9078978c graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java --- 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); diff -r 4391fd907278 -r d59b9078978c graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java --- 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());