Skip to content

Commit 3b3f0e1

Browse files
committed
After review changes
1 parent 9fff68b commit 3b3f0e1

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

src/main/java/org/truffleruby/core/cast/NameToJavaStringNode.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.truffleruby.utils.Utils;
2121

2222
import com.oracle.truffle.api.dsl.Cached;
23+
import com.oracle.truffle.api.dsl.Cached.Exclusive;
2324
import com.oracle.truffle.api.dsl.GenerateUncached;
2425
import com.oracle.truffle.api.dsl.NodeChild;
2526
import com.oracle.truffle.api.dsl.Specialization;
@@ -50,7 +51,7 @@ public static NameToJavaStringNode getUncached() {
5051

5152
@Specialization(guards = "libString.isRubyString(value)", limit = "1")
5253
protected String stringNameToJavaString(Object value,
53-
@Cached @Shared RubyStringLibrary libString,
54+
@Cached @Exclusive RubyStringLibrary libString,
5455
@Cached @Shared ToJavaStringNode toJavaStringNode) {
5556
return toJavaStringNode.executeToJavaString(value);
5657
}
@@ -70,8 +71,8 @@ protected String nameToJavaString(String value) {
7071
protected String nameToJavaString(Object object,
7172
@Cached BranchProfile errorProfile,
7273
@Cached DispatchNode toStr,
73-
@Cached @Shared RubyStringLibrary libString,
74-
@Cached @Shared ToJavaStringNode toJavaStringNode) {
74+
@Cached @Exclusive RubyStringLibrary libString,
75+
@Cached @Exclusive ToJavaStringNode toJavaStringNode) {
7576
final Object coerced;
7677
try {
7778
coerced = toStr.call(object, "to_str");

src/main/java/org/truffleruby/core/cast/ToSymbolNode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import com.oracle.truffle.api.dsl.Cached;
1313
import com.oracle.truffle.api.dsl.Cached.Shared;
14+
import com.oracle.truffle.api.dsl.Cached.Exclusive;
1415
import com.oracle.truffle.api.dsl.NeverDefault;
1516
import com.oracle.truffle.api.dsl.NodeChild;
1617
import com.oracle.truffle.api.profiles.BranchProfile;
@@ -86,7 +87,7 @@ protected RubySymbol rubyStringUncached(Object str,
8687
protected RubySymbol toStr(Object object,
8788
@Cached BranchProfile errorProfile,
8889
@Cached DispatchNode toStrNode,
89-
@Cached @Shared RubyStringLibrary strings,
90+
@Cached @Exclusive RubyStringLibrary strings,
9091
@Cached ToSymbolNode toSymbolNode) {
9192
var coerced = toStrNode.call(
9293
coreLibrary().truffleTypeModule,

src/main/java/org/truffleruby/core/format/convert/ToStringNode.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,14 @@ protected Object toStringSpecialClass(RubyClass rubyClass,
105105
}
106106
}
107107

108-
@Specialization(guards = "libString.isRubyString(string)", limit = "1")
108+
@Specialization(guards = "argLibString.isRubyString(string)", limit = "1")
109109
protected Object toStringString(Object string,
110-
@Cached @Exclusive RubyStringLibrary libValue,
111-
@Cached @Shared RubyStringLibrary libString) {
110+
@Cached @Shared RubyStringLibrary libString,
111+
@Cached @Exclusive RubyStringLibrary argLibString) {
112112
if ("inspect".equals(conversionMethod)) {
113113
final Object value = getToStrNode().call(string, conversionMethod);
114114

115-
if (libValue.isRubyString(value)) {
115+
if (libString.isRubyString(value)) {
116116
return value;
117117
} else {
118118
throw new NoImplicitConversionException(string, "String");

0 commit comments

Comments
 (0)