-
-
Notifications
You must be signed in to change notification settings - Fork 925
Commit
- 9.4.12.0
- 9.4.11.0
- 9.4.10.0
- 9.4.9.0
- 9.4.8.0
- 9.4.7.0
- 9.4.6.0
- 9.4.5.0
- 9.4.4.0
- 9.4.3.0
- 9.4.2.0
- 9.4.1.0
- 9.4.0.0
- 9.3.15.0
- 9.3.14.0
- 9.3.13.0
- 9.3.12.0
- 9.3.11.0
- 9.3.10.0
- 9.3.9.0
- 9.3.8.0
- 9.3.7.0
- 9.3.6.0
- 9.3.5.0
- 9.3.4.0
- 9.3.3.0
- 9.3.2.0
- 9.3.1.0
- 9.3.0.0
- 9.2.21.0
- 9.2.20.1
- 9.2.20.0
- 9.2.19.0
- 9.2.18.0
- 9.2.17.0
- 9.2.16.0
- 9.2.15.0
- 9.2.14.0
- 9.2.13.0
- 9.2.12.0
- 9.2.11.1
- 9.2.11.0
- 9.2.10.0
- 9.2.9.0
- 9.2.8.0
- 9.2.7.0
- 9.2.6.0
- 9.2.5.0
- 9.2.4.1
- 9.2.4.0
- 9.2.3.0
- 9.2.2.0
- 9.2.1.0
- 9.2.0.0
- 9.1.17.0
- 9.1.16.0
- 9.1.15.0
- 9.1.14.0
- 9.1.13.0
- 9.1.12.0
- 9.1.11.0
- 9.1.10.0
- 9.1.9.0
- 9.1.8.0
- 9.1.7.0
- 9.1.6.0
- 9.1.5.0
- 9.1.4.0
- 9.1.3.0
- 9.1.2.0
- 9.1.1.0
- 9.1.0.0
- 9.0.5.0
- 9.0.4.0
- 9.0.3.0
- 9.0.1.0
- 9.0.0.0
- 9.0.0.0.rc2
- 9.0.0.0.rc1
- 9.0.0.0.pre2
There are no files selected for viewing
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,16 +13,44 @@ | |
import com.oracle.truffle.api.frame.FrameSlot; | ||
import com.oracle.truffle.api.frame.MaterializedFrame; | ||
import com.oracle.truffle.api.source.SourceSection; | ||
import org.jruby.runtime.Visibility; | ||
import org.jruby.truffle.nodes.globals.GetFromThreadLocalNode; | ||
import org.jruby.truffle.nodes.globals.WrapInThreadLocalNode; | ||
import org.jruby.truffle.runtime.RubyArguments; | ||
import org.jruby.truffle.runtime.RubyContext; | ||
import org.jruby.truffle.runtime.core.RubyBinding; | ||
import org.jruby.truffle.runtime.core.RubyString; | ||
import org.jruby.truffle.runtime.core.RubySymbol; | ||
|
||
@CoreClass(name = "Binding") | ||
public abstract class BindingNodes { | ||
|
||
@CoreMethod(names = "initialize_copy", visibility = Visibility.PRIVATE, required = 1) | ||
public abstract static class InitializeCopyNode extends CoreMethodNode { | ||
|
||
public InitializeCopyNode(RubyContext context, SourceSection sourceSection) { | ||
super(context, sourceSection); | ||
} | ||
|
||
public InitializeCopyNode(InitializeCopyNode prev) { | ||
super(prev); | ||
} | ||
|
||
@Specialization | ||
public Object initializeCopy(RubyBinding self, RubyBinding from) { | ||
notDesignedForCompilation(); | ||
|
||
if (self == from) { | ||
return self; | ||
} | ||
|
||
self.initialize(from.getSelf(), from.getFrame()); | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
chrisseaton
Contributor
|
||
|
||
return self; | ||
} | ||
|
||
} | ||
|
||
@CoreMethod(names = "local_variable_get", required = 1) | ||
public abstract static class LocalVariableGetNode extends CoreMethodNode { | ||
|
||
|
@chrisseaton This isn't quite right. The problem is the duped binding should have a shared view to any existing variables, but new ones should be local to the duped binding. I think it needs a new frame descriptor, but I'm really not sure how to go about this.