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 {