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: 5dc368f3709a
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: e792a66f1e4a
Choose a head ref
  • 2 commits
  • 9 files changed
  • 2 contributors

Commits on Feb 13, 2015

  1. Copy the full SHA
    aae71d6 View commit details
  2. Merge pull request #2597 from fniephaus/truffle-kwargs

    [Truffle] Fix indentation
    chrisseaton committed Feb 13, 2015
    Copy the full SHA
    e792a66 View commit details
Original file line number Diff line number Diff line change
@@ -53,7 +53,7 @@ public RubyCallNode(RubyContext context, SourceSection section, String methodNam

ProcOrNullNode blockNode = null;
if (block != null) {
blockNode = ProcOrNullNodeFactory.create(context, section, block);
blockNode = ProcOrNullNodeFactory.create(context, section, block);
}

this.isVCall = isVCall;
Original file line number Diff line number Diff line change
@@ -129,8 +129,8 @@ public Object executeDispatch(

switch (getDispatchAction()) {
case CALL_METHOD: {
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
if (isIndirect()) {
return indirectCallNode.call(
frame,
@@ -179,8 +179,8 @@ public Object executeDispatch(

switch (getDispatchAction()) {
case CALL_METHOD: {
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
if (isIndirect()) {
return indirectCallNode.call(
frame,
Original file line number Diff line number Diff line change
@@ -126,17 +126,17 @@ public static RubyNode[] expandedArgumentNodes(RubyContext context,

List<String> restKeywordLabels = new ArrayList<String>();
for (int j = 0; j < hashNode.size(); j++) {
Object key = hashNode.getKey(j);
boolean keyIsSymbol = key instanceof ObjectLiteralNode &&
((ObjectLiteralNode) key).getObject() instanceof RubySymbol;
if (!keyIsSymbol) {
// cannot optimize case where keyword label is dynamic (not a fixed RubySymbol)
return argumentNodes;
}
final String label = ((ObjectLiteralNode) hashNode.getKey(j)).getObject().toString();
restKeywordLabels.add(label);
Object key = hashNode.getKey(j);
boolean keyIsSymbol = key instanceof ObjectLiteralNode &&
((ObjectLiteralNode) key).getObject() instanceof RubySymbol;
if (!keyIsSymbol) {
// cannot optimize case where keyword label is dynamic (not a fixed RubySymbol)
return argumentNodes;
}
final String label = ((ObjectLiteralNode) hashNode.getKey(j)).getObject().toString();
restKeywordLabels.add(label);
}

for (String kwarg : kwargs) {
@@ -255,8 +255,8 @@ public Object executeDispatch(

switch (getDispatchAction()) {
case CALL_METHOD: {
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
if (isIndirect()) {
return indirectCallNode.call(
frame,
Original file line number Diff line number Diff line change
@@ -116,8 +116,8 @@ public Object executeDispatch(
final Object[] modifiedArgumentsObjects = new Object[1 + argumentsObjectsArray.length];
modifiedArgumentsObjects[0] = getCachedNameAsSymbol();
RubyArguments.arraycopy(argumentsObjectsArray, 0, modifiedArgumentsObjects, 1, argumentsObjectsArray.length);
blockObject = executeBlock(frame, blockObject);
blockObject = executeBlock(frame, blockObject);
if (isIndirect()) {
return indirectCallNode.call(
frame,
@@ -144,7 +144,7 @@ public Object executeDispatch(
return false;

case READ_CONSTANT: {
blockObject = executeBlock(frame, blockObject);
blockObject = executeBlock(frame, blockObject);
if (isIndirect()) {
return indirectCallNode.call(
frame,
Original file line number Diff line number Diff line change
@@ -98,9 +98,9 @@ public Object executeDispatch(

switch (getDispatchAction()) {
case CALL_METHOD: {
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);

if (isIndirect()) {
return indirectCallNode.call(
frame,
Original file line number Diff line number Diff line change
@@ -97,9 +97,9 @@ public Object executeDispatch(

switch (getDispatchAction()) {
case CALL_METHOD: {
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);

if (isIndirect()) {
return indirectCallNode.call(
frame,
Original file line number Diff line number Diff line change
@@ -94,6 +94,6 @@ public RubyNode[] getArgumentNodes() {
}

public ProcOrNullNode getBlock() {
return block;
return block;
}
}
Original file line number Diff line number Diff line change
@@ -221,10 +221,10 @@ protected Object executeArguments(VirtualFrame frame, Object argumentOverride) {
}

protected Object executeBlock(VirtualFrame frame, Object blockOverride) {
if (blockOverride != null) {
return blockOverride;
}
if (blockOverride != null) {
return blockOverride;
}
if (block != null) {
return block.executeRubyProc(frame);
} else {
Original file line number Diff line number Diff line change
@@ -95,9 +95,9 @@ public Object executeDispatch(

if (method != null) {
if (dispatchAction == DispatchAction.CALL_METHOD) {
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);
argumentsObjects = executeArguments(frame, argumentsObjects);
blockObject = executeBlock(frame, blockObject);

return callNode.call(
frame,
method.getCallTarget(),
@@ -136,8 +136,8 @@ public Object executeDispatch(

RubyArguments.arraycopy(argumentsObjectsArray, 0, modifiedArgumentsObjects, 1, argumentsObjectsArray.length);

blockObject = executeBlock(frame, blockObject);
blockObject = executeBlock(frame, blockObject);

return callNode.call(
frame,
missingMethod.getCallTarget(),