@ExplodeLoop protected static void check(Assumption[] assumptions) throws InvalidAssumptionException { if (assumptions != null) { CompilerAsserts.compilationConstant(assumptions.length); for (Assumption assumption : assumptions) { check(assumption); } } }
@Override @ExplodeLoop public Object execute(VirtualFrame virtualFrame) { int last = this.bodyNodes.length - 1; CompilerAsserts.compilationConstant(last); for (int i=0; i<last; i++) { this.bodyNodes[i].execute(virtualFrame); } return this.bodyNodes[last].execute(virtualFrame); }
@Override @ExplodeLoop public Object execute(VirtualFrame virtualFrame) { MumblerFunction function = this.evaluateFunction(virtualFrame); CompilerAsserts.compilationConstant(this.argumentNodes.length); CompilerAsserts.compilationConstant(this.isTail()); Object[] argumentValues = new Object[this.argumentNodes.length + 1]; argumentValues[0] = function.getLexicalScope(); for (int i=0; i<this.argumentNodes.length; i++) { argumentValues[i+1] = this.argumentNodes[i].execute(virtualFrame); } return call(virtualFrame, function.callTarget, argumentValues); }
@Override @ExplodeLoop public Object execute(VirtualFrame frame) { try { LuaFunction method = functionNode.executeLuaMethod(frame); CompilerAsserts.compilationConstant(argumentNodes.length); Object[] argumentValues = new Object[argumentNodes.length]; for (int i = 0; i < argumentNodes.length; i++) { argumentValues[i] = argumentNodes[i].execute(frame); } return dispatchNode.executeDispatch(frame, method, argumentValues); } catch (UnexpectedResultException ex) { throw new UnsupportedSpecializationException(this, new Node[]{functionNode}, ex.getResult()); } } }
protected void execute(final VirtualFrame frame, final boolean compactString) { CompilerDirectives.ensureVirtualized(frame); CompilerAsserts.compilationConstant(states); CompilerAsserts.compilationConstant(states.length); if (!validArgs(frame)) { CompilerDirectives.transferToInterpreter();