Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 15b58ec80f30
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 596a74a58e89
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Mar 3, 2015

  1. Copy the full SHA
    27f115f View commit details
  2. [Truffle] Renamed a variable to be less confusing.

    Usually we use the name 'block' for a RubyProc, not an arbitrary unit of code.
    nirvdrum committed Mar 3, 2015
    Copy the full SHA
    596a74a View commit details
Original file line number Diff line number Diff line change
@@ -55,7 +55,7 @@

int[] lowerFixnumParameters() default {};

int taintSource() default -1;
int taintFrom() default -1;

UnsupportedOperationBehavior unsupportedOperationBehavior() default UnsupportedOperationBehavior.TYPE_ERROR;

Original file line number Diff line number Diff line change
@@ -200,14 +200,14 @@ private static RubyRootNode makeGenericMethod(RubyContext context, MethodDetails
verifyNoAmbiguousDefaultArguments(methodDetails);

final CheckArityNode checkArity = new CheckArityNode(context, sourceSection, arity);
RubyNode block = SequenceNode.sequence(context, sourceSection, checkArity, methodNode);
RubyNode sequence = SequenceNode.sequence(context, sourceSection, checkArity, methodNode);

final int taintSource = methodDetails.getMethodAnnotation().taintSource();
final int taintSource = methodDetails.getMethodAnnotation().taintFrom();
if (taintSource != -1) {
block = new TaintResultNode(context, sourceSection, needsSelf, taintSource, block);
sequence = new TaintResultNode(context, sourceSection, needsSelf, taintSource, sequence);
}

final ExceptionTranslatingNode exceptionTranslatingNode = new ExceptionTranslatingNode(context, sourceSection, block, methodDetails.getMethodAnnotation().unsupportedOperationBehavior());
final ExceptionTranslatingNode exceptionTranslatingNode = new ExceptionTranslatingNode(context, sourceSection, sequence, methodDetails.getMethodAnnotation().unsupportedOperationBehavior());

return new RubyRootNode(context, sourceSection, null, sharedMethodInfo, exceptionTranslatingNode);
}
Original file line number Diff line number Diff line change
@@ -454,7 +454,7 @@ public Object clone(VirtualFrame frame, RubyBasicObject self) {

}

@CoreMethod(names = "dup", taintSource = 0)
@CoreMethod(names = "dup", taintFrom = 0)
public abstract static class DupNode extends CoreMethodNode {

@Child private CallDispatchHeadNode initializeDupNode;
Original file line number Diff line number Diff line change
@@ -280,7 +280,7 @@ private RubyString formatSlow(RubyString format, Object[] args) {
}
}

@CoreMethod(names = {"[]", "slice"}, required = 1, optional = 1, lowerFixnumParameters = {0, 1}, taintSource = 0)
@CoreMethod(names = {"[]", "slice"}, required = 1, optional = 1, lowerFixnumParameters = {0, 1}, taintFrom = 0)
public abstract static class GetIndexNode extends CoreMethodNode {

@Child private ToIntNode toIntNode;