4949import com .oracle .graal .python .nodes .object .GetDictIfExistsNode ;
5050import com .oracle .truffle .api .dsl .Bind ;
5151import com .oracle .truffle .api .dsl .Cached ;
52- import com .oracle .truffle .api .dsl .Cached .Exclusive ;
52+ import com .oracle .truffle .api .dsl .Cached .Shared ;
5353import com .oracle .truffle .api .dsl .GenerateInline ;
5454import com .oracle .truffle .api .dsl .GenerateUncached ;
5555import com .oracle .truffle .api .dsl .NeverDefault ;
@@ -86,10 +86,10 @@ public static ReadAttributeFromObjectNode getUncached() {
8686 @ Specialization
8787 static Object readObjectAttribute (PythonObject object , TruffleString key ,
8888 @ Bind Node inliningTarget ,
89- @ Cached InlinedConditionProfile profileHasDict ,
90- @ Exclusive @ Cached GetDictIfExistsNode getDict ,
89+ @ Shared @ Cached InlinedConditionProfile profileHasDict ,
90+ @ Shared @ Cached GetDictIfExistsNode getDict ,
9191 @ Cached ReadAttributeFromPythonObjectNode readAttributeFromPythonObjectNode ,
92- @ Exclusive @ Cached HashingStorageGetItemStringKey getItem ) {
92+ @ Shared @ Cached HashingStorageGetItemStringKey getItem ) {
9393 var dict = getDict .execute (object );
9494 if (profileHasDict .profile (inliningTarget , dict == null )) {
9595 return readAttributeFromPythonObjectNode .execute (object , key );
@@ -106,8 +106,8 @@ static Object readObjectAttribute(PythonObject object, TruffleString key,
106106 @ Specialization
107107 static Object readNativeObject (PythonAbstractNativeObject object , TruffleString key ,
108108 @ Bind Node inliningTarget ,
109- @ Exclusive @ Cached GetDictIfExistsNode getDict ,
110- @ Exclusive @ Cached HashingStorageGetItemStringKey getItem ) {
109+ @ Shared @ Cached GetDictIfExistsNode getDict ,
110+ @ Shared @ Cached HashingStorageGetItemStringKey getItem ) {
111111 PDict dict = getDict .execute (object );
112112 if (dict != null ) {
113113 Object result = getItem .execute (inliningTarget , dict .getDictStorage (), key );
0 commit comments