Skip to content

Commit d62601f

Browse files
committed
WriteMemberWithoutConversionNode is DSL inlinable node
1 parent 0defdb7 commit d62601f

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/main/java/org/truffleruby/interop/InteropNodes.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,21 +1328,22 @@ public abstract static class InteropWriteMemberWithoutConversionNode extends Cor
13281328
@Specialization
13291329
protected Object write(Object receiver, Object identifier, Object value,
13301330
@Cached WriteMemberWithoutConversionNode writeMemberWithoutConversionNode) {
1331-
return writeMemberWithoutConversionNode.execute(receiver, identifier, value);
1331+
return writeMemberWithoutConversionNode.execute(this, receiver, identifier, value);
13321332
}
13331333
}
13341334

13351335
@GenerateUncached
1336+
@GenerateInline
1337+
@GenerateCached(false)
13361338
public abstract static class WriteMemberWithoutConversionNode extends RubyBaseNode {
13371339

1338-
public abstract Object execute(Object receiver, Object identifier, Object value);
1340+
public abstract Object execute(Node node, Object receiver, Object identifier, Object value);
13391341

13401342
@Specialization(limit = "getInteropCacheLimit()")
1341-
protected static Object write(Object receiver, Object identifier, Object value,
1343+
protected static Object write(Node node, Object receiver, Object identifier, Object value,
13421344
@CachedLibrary("receiver") InteropLibrary receivers,
13431345
@Cached ToJavaStringNode toJavaStringNode,
1344-
@Cached TranslateInteropExceptionNode translateInteropException,
1345-
@Bind("this") Node node) {
1346+
@Cached TranslateInteropExceptionNode translateInteropException) {
13461347
final String name = toJavaStringNode.execute(node, identifier);
13471348
try {
13481349
receivers.writeMember(receiver, name, value);

src/main/java/org/truffleruby/language/methods/CallForeignMethodNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ protected static Object assignmentMethod(Node node, Object receiver, String name
102102
@Cached WriteMemberWithoutConversionNode writeMemberNode,
103103
@Cached InlinedBranchProfile errorProfile) {
104104
if (args.length == 1) {
105-
return writeMemberNode.execute(receiver, propertyName, args[0]);
105+
return writeMemberNode.execute(node, receiver, propertyName, args[0]);
106106
} else {
107107
errorProfile.enter(node);
108108
throw new RaiseException(getContext(node), coreExceptions(node).argumentError(args.length, 1, node));

0 commit comments

Comments
 (0)