|
16 | 16 | import com.oracle.truffle.api.CompilerDirectives;
|
17 | 17 | import com.oracle.truffle.api.TruffleSafepoint;
|
18 | 18 | import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
|
19 |
| -import com.oracle.truffle.api.profiles.ConditionProfile; |
| 19 | +import com.oracle.truffle.api.dsl.Bind; |
| 20 | +import com.oracle.truffle.api.nodes.Node; |
| 21 | +import com.oracle.truffle.api.profiles.InlinedConditionProfile; |
20 | 22 | import com.oracle.truffle.api.profiles.LoopConditionProfile;
|
21 | 23 | import org.truffleruby.RubyContext;
|
22 | 24 | import org.truffleruby.cext.UnwrapNode;
|
@@ -99,9 +101,10 @@ protected Object read(int index,
|
99 | 101 | protected void write(int index, Object value,
|
100 | 102 | @CachedLibrary(limit = "1") InteropLibrary wrappers,
|
101 | 103 | @Cached WrapNode wrapNode,
|
102 |
| - @Cached ConditionProfile isPointerProfile) { |
| 104 | + @Cached InlinedConditionProfile isPointerProfile, |
| 105 | + @Bind("$node") Node node) { |
103 | 106 | final ValueWrapper wrapper = wrapNode.execute(value);
|
104 |
| - if (!isPointerProfile.profile(wrappers.isPointer(wrapper))) { |
| 107 | + if (!isPointerProfile.profile(node, wrappers.isPointer(wrapper))) { |
105 | 108 | wrappers.toNative(wrapper);
|
106 | 109 | }
|
107 | 110 |
|
|
0 commit comments