Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.ruby.parser/src/com/oracle/truffle/ruby/parser/MethodTranslator.java @ 13706:232eb6708943
Ruby: required fixes for moving FrameDescriptor to the RootNode.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 20 Jan 2014 13:44:54 +0100 |
parents | 0fbee3eb71f0 |
children |
comparison
equal
deleted
inserted
replaced
13705:ac5b0f31f7a2 | 13706:232eb6708943 |
---|---|
57 } else { | 57 } else { |
58 body = new CatchReturnNode(context, sourceSection, body, environment.getReturnID()); | 58 body = new CatchReturnNode(context, sourceSection, body, environment.getReturnID()); |
59 body = new CatchNextNode(context, sourceSection, body); | 59 body = new CatchNextNode(context, sourceSection, body); |
60 } | 60 } |
61 | 61 |
62 final RubyRootNode pristineRootNode = new RubyRootNode(sourceSection, methodName, body); | 62 final RubyRootNode pristineRootNode = new RubyRootNode(sourceSection, environment.getFrameDescriptor(), methodName, body); |
63 | 63 |
64 final CallTarget callTarget = Truffle.getRuntime().createCallTarget(NodeUtil.cloneNode(pristineRootNode), environment.getFrameDescriptor()); | 64 final CallTarget callTarget = Truffle.getRuntime().createCallTarget(NodeUtil.cloneNode(pristineRootNode)); |
65 | 65 |
66 if (isBlock) { | 66 if (isBlock) { |
67 return new BlockDefinitionNode(context, sourceSection, methodName, environment.getUniqueMethodIdentifier(), environment.getFrameDescriptor(), environment.needsDeclarationFrame(), | 67 return new BlockDefinitionNode(context, sourceSection, methodName, environment.getUniqueMethodIdentifier(), environment.getFrameDescriptor(), environment.needsDeclarationFrame(), |
68 pristineRootNode, callTarget); | 68 pristineRootNode, callTarget); |
69 } else { | 69 } else { |