Skip to content

Commit 14fd8e3

Browse files
committed
[GR-24484] Creating a TruffleWeakReference() no longer needs to be behind a boundary.
PullRequest: truffleruby/1772
2 parents d6e56aa + 48b2260 commit 14fd8e3

File tree

3 files changed

+4
-9
lines changed

3 files changed

+4
-9
lines changed

mx.truffleruby/suite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"name": "sulong",
99
"subdir": True,
10-
"version": "06123acce40608ee9e7b505e9bb6d37d39904698",
10+
"version": "3c99069a68f25e0383440ee2e5a1adc041f93ab4",
1111
"urls": [
1212
{"url": "https://github.com/oracle/graal.git", "kind": "git"},
1313
{"url": "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind": "binary"},

src/main/java/org/truffleruby/core/support/WeakRefNodes.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.truffleruby.language.objects.ReadObjectFieldNode;
1616
import org.truffleruby.language.objects.WriteObjectFieldNode;
1717

18-
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
1918
import com.oracle.truffle.api.dsl.Specialization;
2019
import com.oracle.truffle.api.object.DynamicObject;
2120
import com.oracle.truffle.api.object.HiddenKey;
@@ -34,14 +33,10 @@ public static abstract class WeakRefSetObjectPrimitiveNode extends PrimitiveArra
3433

3534
@Specialization
3635
protected Object weakRefSetObject(DynamicObject weakRef, Object object) {
37-
fieldNode.write(weakRef, fieldName, newTruffleWeakReference(object));
36+
fieldNode.write(weakRef, fieldName, new TruffleWeakReference<>(object));
3837
return object;
3938
}
4039

41-
@TruffleBoundary // GR-24484
42-
private TruffleWeakReference<Object> newTruffleWeakReference(Object object) {
43-
return new TruffleWeakReference<>(object);
44-
}
4540
}
4641

4742
@Primitive(name = "weakref_object")

src/main/java/org/truffleruby/interop/messages/RubyObjectMessages.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
import com.oracle.truffle.api.library.CachedLibrary;
4747
import com.oracle.truffle.api.library.ExportLibrary;
4848
import com.oracle.truffle.api.library.ExportMessage;
49+
import com.oracle.truffle.api.nodes.EncapsulatingNodeReference;
4950
import com.oracle.truffle.api.nodes.Node;
50-
import com.oracle.truffle.api.nodes.NodeUtil;
5151
import com.oracle.truffle.api.object.DynamicObject;
5252
import com.oracle.truffle.api.profiles.BranchProfile;
5353
import com.oracle.truffle.api.profiles.ConditionProfile;
@@ -769,7 +769,7 @@ protected static void untaint(DynamicObject object,
769769

770770
private static Node getNode(RubyLibrary node) {
771771
if (!node.isAdoptable()) {
772-
return NodeUtil.getCurrentEncapsulatingNode();
772+
return EncapsulatingNodeReference.getCurrent().get();
773773
}
774774
return node;
775775
}

0 commit comments

Comments
 (0)