# HG changeset patch # User Benoit Daloze # Date 1446736310 -3600 # Node ID 6546703e0c761e4b04398b07406c28dbe60e7803 # Parent d099f8650cfb4c74ee9e8268726a254e282f1092 SL: Remove LRUCache in read property node diff -r d099f8650cfb -r 6546703e0c76 truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/access/SLReadPropertyCacheNode.java --- a/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/access/SLReadPropertyCacheNode.java Wed Nov 04 20:55:06 2015 -0800 +++ b/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/access/SLReadPropertyCacheNode.java Thu Nov 05 16:11:50 2015 +0100 @@ -107,27 +107,14 @@ */ @Specialization(contains = "doCachedObject") @TruffleBoundary - protected Object doGeneric(DynamicObject receiver, @Cached("new()") LRUPropertyLookup lruCache) { - if (!lruCache.shape.check(receiver)) { - Shape receiverShape = receiver.getShape(); - lruCache.shape = receiverShape; - lruCache.property = receiverShape.getProperty(propertyName); - } - if (lruCache.property != null) { - return lruCache.property.get(receiver, true); + protected Object doGeneric(DynamicObject receiver) { + Shape shape = receiver.getShape(); + Property property = shape.getProperty(propertyName); + if (property != null) { + return property.get(receiver, shape); } else { return SLNull.SINGLETON; } } - protected static class LRUPropertyLookup { - - private Shape shape; - private Property property; - - public LRUPropertyLookup() { - } - - } - }