• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java UnexpectedResultException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.oracle.truffle.api.nodes.UnexpectedResultException的典型用法代码示例。如果您正苦于以下问题:Java UnexpectedResultException类的具体用法?Java UnexpectedResultException怎么用?Java UnexpectedResultException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UnexpectedResultException类属于com.oracle.truffle.api.nodes包,在下文中一共展示了UnexpectedResultException类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: evalForRemaining

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@ExplodeLoop
public static Object evalForRemaining(final VirtualFrame frame,
    final ExpressionNode[] exprs, final long[] storage, final int next) {
  for (int i = next; i < exprs.length; i++) {
    try {
      storage[i] = exprs[i].executeLong(frame);
    } catch (UnexpectedResultException e) {
      Object[] newStorage = new Object[exprs.length];
      for (int j = 0; j < i; j += 1) {
        newStorage[j] = storage[j];
      }
      newStorage[i] = e.getResult();
      return evalForRemaining(frame, exprs, newStorage, i + 1);
    }
  }
  return storage;
}
 
开发者ID:smarr,项目名称:SOMns,代码行数:18,代码来源:ArraySetAllStrategy.java


示例2: evalBoolean

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
boolean evalBoolean(VirtualFrame frame) throws UnexpectedResultException {
  if (nodes.length == 0) {
    setTypeState(TYPE_STATE_OBJECT);
    throw new UnexpectedResultException(List.empty());
  }
  for(int i = 0; i < nodes.length - 1; i++) {
    nodes[i].eval(frame);
  }
  Node last = nodes[nodes.length - 1];
  try {
    return last.evalBoolean(frame);
  } catch(UnexpectedResultException e) {
    setTypeState(TYPE_STATE_OBJECT);
    throw e;
  }
}
 
开发者ID:forax,项目名称:ninal,代码行数:18,代码来源:Interpreter.java


示例3: evalInt

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
int evalInt(VirtualFrame frame) throws UnexpectedResultException {
  if (nodes.length == 0) {
    setTypeState(TYPE_STATE_OBJECT);
    throw new UnexpectedResultException(List.empty());
  }
  for(int i = 0; i < nodes.length - 1; i++) {
    nodes[i].eval(frame);
  }
  Node last = nodes[nodes.length - 1];
  try {
    return last.evalInt(frame);
  } catch(UnexpectedResultException e) {
    setTypeState(TYPE_STATE_OBJECT);
    throw e;
  }
}
 
开发者ID:forax,项目名称:ninal,代码行数:18,代码来源:Interpreter.java


示例4: doSmallOp

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
private int doSmallOp(int left, int right) throws UnexpectedResultException {
  try {
    if (binOp == BinOp.ADD) {
      return ExactMath.addExact(left, right);
    }
    if (binOp == BinOp.SUB) {
      return ExactMath.subtractExact(left, right);
    }
    if (binOp == BinOp.MUL) {
      return ExactMath.multiplyExact(left, right);
    }
    if (binOp == BinOp.DIV) {
      return left / right;
    }
    throw should_not_reach_here();
  } catch(ArithmeticException e) {
    throw new UnexpectedResultException(slowPath(left, right));
  }
}
 
开发者ID:forax,项目名称:ninal,代码行数:20,代码来源:Interpreter.java


示例5: evaluateCondition

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
private boolean evaluateCondition(final VirtualFrame frame) {
  try {
    return conditionNode.executeBoolean(frame);
  } catch (UnexpectedResultException e) {
    // TODO: should rewrite to a node that does a proper message send...
    throw new UnsupportedSpecializationException(this,
        new Node[] {conditionNode}, e.getResult());
  }
}
 
开发者ID:smarr,项目名称:SOMns,代码行数:10,代码来源:WhileInlinedLiteralsNode.java


示例6: evaluateReceiver

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
protected final boolean evaluateReceiver(final VirtualFrame frame) {
  try {
    return profile.profile(receiverNode.executeBoolean(frame));
  } catch (UnexpectedResultException e) {
    // TODO: should rewrite to a node that does a proper message send...
    throw new UnsupportedSpecializationException(this,
        new Node[] {receiverNode}, e.getResult());
  }
}
 
开发者ID:smarr,项目名称:SOMns,代码行数:10,代码来源:BooleanInlinedLiteralNode.java


示例7: evaluateArgument

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
protected final boolean evaluateArgument(final VirtualFrame frame) {
  try {
    return argumentNode.executeBoolean(frame);
  } catch (UnexpectedResultException e) {
    // TODO: should rewrite to a node that does a proper message send...
    throw new UnsupportedSpecializationException(this,
        new Node[] {argumentNode}, e.getResult());
  }
}
 
开发者ID:smarr,项目名称:SOMns,代码行数:10,代码来源:BooleanInlinedLiteralNode.java


示例8: evaluateCondition

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
private boolean evaluateCondition(final VirtualFrame frame) {
  try {
    return condProf.profile(conditionNode.executeBoolean(frame));
  } catch (UnexpectedResultException e) {
    // TODO: should rewrite to a node that does a proper message send...
    throw new UnsupportedSpecializationException(this,
        new Node[] {conditionNode}, e.getResult());
  }
}
 
开发者ID:smarr,项目名称:SOMns,代码行数:10,代码来源:IfTrueIfFalseInlinedLiteralsNode.java


示例9: testResult

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
private boolean testResult(VirtualFrame virtualFrame) {
    try {
        return this.testNode.executeBoolean(virtualFrame);
    } catch (UnexpectedResultException e) {
        Object result = this.testNode.execute(virtualFrame);
        return result != MumblerList.EMPTY;
    }
}
 
开发者ID:cesquivias,项目名称:mumbler,代码行数:9,代码来源:IfNode.java


示例10: evaluateFunction

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
private MumblerFunction evaluateFunction(VirtualFrame virtualFrame) {
    try {
        return this.functionNode.executeMumblerFunction(virtualFrame);
    } catch (UnexpectedResultException e) {
        throw new UnsupportedSpecializationException(this,
                new Node[] {this.functionNode}, e);
    }
}
 
开发者ID:cesquivias,项目名称:mumbler,代码行数:9,代码来源:InvokeNode.java


示例11: evalObject

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
Object evalObject(VirtualFrame frame) {
  Object leftValue = leftNode.evalObject(frame);
  Object rightValue = rightNode.evalObject(frame);
  if (leftValue instanceof Integer && rightValue instanceof Integer) {
    int left = (Integer)leftValue;
    int right = (Integer)rightValue;
    try {
      return doSmallOp(left, right);
    } catch (UnexpectedResultException e) {
      return e.getResult();
    }
  }
  return slowPath(leftValue, rightValue);
}
 
开发者ID:forax,项目名称:ninal,代码行数:16,代码来源:Interpreter.java


示例12: slowPathInt

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@SlowPath
private UnexpectedResultException slowPathInt(Object leftValue, int left, Object rightValue, int right) throws UnexpectedResultException {
  setTypeState(TYPE_STATE_OBJECT);
  if (leftValue == null) {
    leftValue = left;
  }
  if (rightValue == null) {
    rightValue = right;
  }
  throw new UnexpectedResultException(slowPath(leftValue, rightValue));
}
 
开发者ID:forax,项目名称:ninal,代码行数:12,代码来源:Interpreter.java


示例13: read

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public Object read(final SObject obj) {
  try {
    return readDouble(obj);
  } catch (UnexpectedResultException e) {
    return e.getResult();
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:9,代码来源:StorageLocation.java


示例14: readDouble

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public double readDouble(final SObject obj) throws UnexpectedResultException {
  if (isSet(obj)) {
    return unsafe.getDouble(obj, offset);
  } else {
    TruffleCompiler.transferToInterpreterAndInvalidate("unstabelized read node");
    throw new UnexpectedResultException(Nil.nilObject);
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:10,代码来源:StorageLocation.java


示例15: readLong

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public long readLong(final SObject obj) throws UnexpectedResultException {
  if (isSet(obj)) {
    return unsafe.getLong(obj, offset);
  } else {
    TruffleCompiler.transferToInterpreter("unstabelized read node");
    throw new UnexpectedResultException(Nil.nilObject);
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:10,代码来源:StorageLocation.java


示例16: readLong

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public long readLong(final SObject obj) throws UnexpectedResultException {
  try {
    if (hasExpectedLayout(obj)) {
      return storage.readLong(obj);
    } else {
      return respecializedNodeOrNext(obj).readLong(obj);
    }
  } catch (InvalidAssumptionException e) {
    return replace(nextInCache).readLong(obj);
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:13,代码来源:FieldAccessorNode.java


示例17: read

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public Object read(final SObject obj) {
  try {
    return readLong(obj);
  } catch (UnexpectedResultException e) {
    return e.getResult();
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:9,代码来源:FieldAccessorNode.java


示例18: readDouble

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public double readDouble(final SObject obj) throws UnexpectedResultException {
  try {
    if (hasExpectedLayout(obj)) {
      return storage.readDouble(obj);
    } else {
      return respecializedNodeOrNext(obj).readDouble(obj);
    }
  } catch (InvalidAssumptionException e) {
    return replace(nextInCache).readDouble(obj);
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:13,代码来源:FieldAccessorNode.java


示例19: executeGeneric

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
@Override
public Object executeGeneric(final VirtualFrame frame) {
  SObject obj;
  try {
    obj = self.executeSObject(frame);
  } catch (UnexpectedResultException e) {
    CompilerDirectives.transferToInterpreter();
    throw new RuntimeException("This should never happen by construction");
  }
  return executeEvaluated(obj);
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:12,代码来源:FieldNode.java


示例20: evaluateReceiver

import com.oracle.truffle.api.nodes.UnexpectedResultException; //导入依赖的package包/类
protected final boolean evaluateReceiver(final VirtualFrame frame) {
  try {
    return receiverNode.executeBoolean(frame);
  } catch (UnexpectedResultException e) {
    // TODO: should rewrite to a node that does a proper message send...
    throw new UnsupportedSpecializationException(this,
        new Node[] {receiverNode}, e.getResult());
  }
}
 
开发者ID:smarr,项目名称:TruffleSOM,代码行数:10,代码来源:BooleanInlinedLiteralNode.java



注:本文中的com.oracle.truffle.api.nodes.UnexpectedResultException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ResourceArrayPropertyEditor类代码示例发布时间:2022-05-22
下一篇:
Java Combine类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap