Skip to content
Snippets Groups Projects
Commit f2e935e9 authored by stepan's avatar stepan
Browse files

Remove not RPromise assertions from InternalNode

It turns out some .Internals are happy with getting a promise as an argument.
Example of this is lazyLoadDBinsertValue, which is in makeLazyLoadDB invoked
with result taken from another internal getVarsFromFrame, which is supposed
to return a promise.
parent f0e8928e
Branches
No related tags found
No related merge requests found
...@@ -43,7 +43,6 @@ import com.oracle.truffle.r.runtime.context.RContext; ...@@ -43,7 +43,6 @@ import com.oracle.truffle.r.runtime.context.RContext;
import com.oracle.truffle.r.runtime.data.RArgsValuesAndNames; import com.oracle.truffle.r.runtime.data.RArgsValuesAndNames;
import com.oracle.truffle.r.runtime.data.REmpty; import com.oracle.truffle.r.runtime.data.REmpty;
import com.oracle.truffle.r.runtime.data.RFunction; import com.oracle.truffle.r.runtime.data.RFunction;
import com.oracle.truffle.r.runtime.data.RPromise;
import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector; import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector;
import com.oracle.truffle.r.runtime.nodes.RBaseNode; import com.oracle.truffle.r.runtime.nodes.RBaseNode;
import com.oracle.truffle.r.runtime.nodes.RNode; import com.oracle.truffle.r.runtime.nodes.RNode;
...@@ -246,7 +245,6 @@ public abstract class InternalNode extends OperatorNode { ...@@ -246,7 +245,6 @@ public abstract class InternalNode extends OperatorNode {
Object[] args = new Object[arguments.length]; Object[] args = new Object[arguments.length];
for (int i = 0; i < args.length; i++) { for (int i = 0; i < args.length; i++) {
args[i] = arguments[i].execute(frame); args[i] = arguments[i].execute(frame);
assert !(args[i] instanceof RPromise);
} }
return args; return args;
} }
...@@ -275,7 +273,6 @@ public abstract class InternalNode extends OperatorNode { ...@@ -275,7 +273,6 @@ public abstract class InternalNode extends OperatorNode {
value = forcePromises(frame, (RArgsValuesAndNames) value); value = forcePromises(frame, (RArgsValuesAndNames) value);
} }
args[i] = value; args[i] = value;
assert !(args[i] instanceof RPromise);
} }
return args; return args;
} }
...@@ -284,7 +281,6 @@ public abstract class InternalNode extends OperatorNode { ...@@ -284,7 +281,6 @@ public abstract class InternalNode extends OperatorNode {
Object[] array = new Object[varArgs.getLength()]; Object[] array = new Object[varArgs.getLength()];
for (int i = 0; i < array.length; i++) { for (int i = 0; i < array.length; i++) {
array[i] = promiseHelper.checkEvaluate(frame, varArgs.getArgument(i)); array[i] = promiseHelper.checkEvaluate(frame, varArgs.getArgument(i));
assert !(array[i] instanceof RPromise);
} }
return new RArgsValuesAndNames(array, varArgs.getSignature()); return new RArgsValuesAndNames(array, varArgs.getSignature());
} }
...@@ -307,12 +303,10 @@ public abstract class InternalNode extends OperatorNode { ...@@ -307,12 +303,10 @@ public abstract class InternalNode extends OperatorNode {
for (int i = 0; i < args.length - 1; i++) { for (int i = 0; i < args.length - 1; i++) {
args[i] = arguments[i].execute(frame); args[i] = arguments[i].execute(frame);
assert !(args[i] instanceof RPromise);
} }
Object[] varArgs = new Object[arguments.length - (factory.getSignature().getLength() - 1)]; Object[] varArgs = new Object[arguments.length - (factory.getSignature().getLength() - 1)];
for (int i = 0; i < varArgs.length; i++) { for (int i = 0; i < varArgs.length; i++) {
varArgs[i] = arguments[args.length - 1 + i].execute(frame); varArgs[i] = arguments[args.length - 1 + i].execute(frame);
assert !(varArgs[i] instanceof RPromise);
} }
args[args.length - 1] = new RArgsValuesAndNames(varArgs, ArgumentsSignature.empty(varArgs.length)); args[args.length - 1] = new RArgsValuesAndNames(varArgs, ArgumentsSignature.empty(varArgs.length));
return args; return args;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment