com.oracle.truffle.api.nodes.Node.inAtomicBlock()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(2.3k)|赞(0)|评价(0)|浏览(680)

本文整理了Java中com.oracle.truffle.api.nodes.Node.inAtomicBlock()方法的一些代码示例,展示了Node.inAtomicBlock()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.inAtomicBlock()方法的具体详情如下:
包路径:com.oracle.truffle.api.nodes.Node
类名称:Node
方法名:inAtomicBlock

Node.inAtomicBlock介绍

暂无

代码示例

代码示例来源:origin: com.oracle.truffle/truffle-api

  1. final void replaceHelper(Node newNode, CharSequence reason) {
  2. CompilerAsserts.neverPartOfCompilation("do not call Node.replaceHelper from compiled code");
  3. assert inAtomicBlock();
  4. if (this.getParent() == null) {
  5. throw new IllegalStateException("This node cannot be replaced, because it does not yet have a parent.");
  6. }
  7. // (aw) need to set parent *before* replace, so that (unsynchronized) getRootNode()
  8. // will always find the root node
  9. newNode.parent = this.parent;
  10. if (!NodeUtil.replaceChild(this.parent, this, newNode, true)) {
  11. this.parent.adoptUnadoptedHelper(newNode);
  12. }
  13. reportReplace(this, newNode, reason);
  14. onReplace(newNode, reason);
  15. }

代码示例来源:origin: org.graalvm.truffle/truffle-api

  1. final void replaceHelper(Node newNode, CharSequence reason) {
  2. CompilerAsserts.neverPartOfCompilation("do not call Node.replaceHelper from compiled code");
  3. assert inAtomicBlock();
  4. if (this.getParent() == null) {
  5. throw new IllegalStateException("This node cannot be replaced, because it does not yet have a parent.");
  6. }
  7. // (aw) need to set parent *before* replace, so that (unsynchronized) getRootNode()
  8. // will always find the root node
  9. newNode.parent = this.parent;
  10. if (!NodeUtil.replaceChild(this.parent, this, newNode, true)) {
  11. this.parent.adoptUnadoptedHelper(newNode);
  12. }
  13. reportReplace(this, newNode, reason);
  14. onReplace(newNode, reason);
  15. }

代码示例来源:origin: com.oracle/truffle

  1. final void replaceHelper(Node newNode, CharSequence reason) {
  2. CompilerAsserts.neverPartOfCompilation();
  3. assert inAtomicBlock();
  4. if (this.getParent() == null) {
  5. throw new IllegalStateException("This node cannot be replaced, because it does not yet have a parent.");
  6. }
  7. if (sourceSection != null && newNode.getSourceSection() == null) {
  8. // Pass on the source section to the new node.
  9. newNode.assignSourceSection(sourceSection);
  10. }
  11. // (aw) need to set parent *before* replace, so that (unsynchronized) getRootNode()
  12. // will always find the root node
  13. newNode.parent = this.parent;
  14. if (NodeUtil.replaceChild(this.parent, this, newNode)) {
  15. this.parent.adoptHelper(newNode);
  16. } else {
  17. this.parent.adoptUnadoptedHelper(newNode);
  18. }
  19. reportReplace(this, newNode, reason);
  20. onReplace(newNode, reason);
  21. }

相关文章