Skip to content

Commit

Permalink
[Truffle] Use the proper constructor for creating a Binding.
Browse files Browse the repository at this point in the history
  • Loading branch information
eregon committed Oct 5, 2015
1 parent 137e3d3 commit b204d86
Showing 5 changed files with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -17,8 +17,10 @@
import com.oracle.truffle.api.nodes.InvalidAssumptionException;
import com.oracle.truffle.api.object.DynamicObject;
import com.oracle.truffle.api.source.SourceSection;

import org.jcodings.specific.UTF8Encoding;
import org.jruby.truffle.nodes.RubyNode;
import org.jruby.truffle.nodes.core.BindingNodes;
import org.jruby.truffle.nodes.core.ProcNodes;
import org.jruby.truffle.runtime.RubyContext;
import org.jruby.truffle.runtime.core.StringOperations;
@@ -82,7 +84,7 @@ public void trace(VirtualFrame frame) {
file,
line,
context.getCoreLibrary().getNilObject(),
Layouts.BINDING.createBinding(getContext().getCoreLibrary().getBindingFactory(), frame.materialize()),
BindingNodes.createBinding(getContext(), frame.materialize()),
context.getCoreLibrary().getNilObject()
};

Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ public SetTopLevelBindingNode(RubyContext context, SourceSection sourceSection)

@Override
public Object execute(VirtualFrame frame) {
final DynamicObject binding = Layouts.BINDING.createBinding(getContext().getCoreLibrary().getBindingFactory(), frame.materialize());
final DynamicObject binding = BindingNodes.createBinding(getContext(), frame.materialize());
Layouts.MODULE.getFields(getContext().getCoreLibrary().getObjectClass()).setConstant(this, "TOPLEVEL_BINDING", binding);
return nil();
}
Original file line number Diff line number Diff line change
@@ -80,7 +80,7 @@ public MaterializedFrame visitFrame(FrameInstance frameInstance) {

});

return Layouts.BINDING.createBinding(getContext().getCoreLibrary().getBindingFactory(), frame);
return BindingNodes.createBinding(getContext(), frame);
}

}
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@
import org.jruby.truffle.nodes.RubyNode;
import org.jruby.truffle.nodes.RubyRootNode;
import org.jruby.truffle.nodes.control.SequenceNode;
import org.jruby.truffle.nodes.core.BindingNodes;
import org.jruby.truffle.nodes.core.LoadRequiredLibrariesNode;
import org.jruby.truffle.nodes.core.SetTopLevelBindingNode;
import org.jruby.truffle.nodes.dispatch.CallDispatchHeadNode;
@@ -224,7 +225,7 @@ public Object inlineRubyHelper(Node currentNode, String expression, Object... ar

public Object inlineRubyHelper(Node currentNode, Frame frame, String expression, Object... arguments) {
final MaterializedFrame evalFrame = setupInlineRubyFrame(frame, arguments);
final DynamicObject binding = Layouts.BINDING.createBinding(getCoreLibrary().getBindingFactory(), evalFrame);
final DynamicObject binding = BindingNodes.createBinding(this, evalFrame);
return eval(ParserContext.INLINE, ByteList.create(expression), binding, true, "inline-ruby", currentNode);
}

Original file line number Diff line number Diff line change
@@ -20,7 +20,9 @@
import com.oracle.truffle.api.source.LineLocation;
import com.oracle.truffle.api.source.Source;
import com.oracle.truffle.api.tools.LineToProbesMap;

import org.jruby.truffle.nodes.RubyGuards;
import org.jruby.truffle.nodes.core.BindingNodes;
import org.jruby.truffle.nodes.core.ProcNodes;
import org.jruby.truffle.runtime.RubyContext;
import org.jruby.truffle.runtime.layouts.Layouts;
@@ -52,7 +54,7 @@ public synchronized void attach(String file, int line, final DynamicObject block

@Override
public void enter(Probe probe, Node node, VirtualFrame frame) {
final DynamicObject binding = Layouts.BINDING.createBinding(context.getCoreLibrary().getBindingFactory(), frame.materialize());
final DynamicObject binding = BindingNodes.createBinding(context, frame.materialize());
ProcNodes.rootCall(block, binding);
}

0 comments on commit b204d86

Please sign in to comment.