comparison graal/com.oracle.truffle.ruby.parser/src/com/oracle/truffle/ruby/parser/ModuleTranslator.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
55 body = new SequenceNode(context, sourceSection, initFlipFlopStates(sourceSection), body); 55 body = new SequenceNode(context, sourceSection, initFlipFlopStates(sourceSection), body);
56 } 56 }
57 57
58 body = new CatchReturnNode(context, sourceSection, body, environment.getReturnID()); 58 body = new CatchReturnNode(context, sourceSection, body, environment.getReturnID());
59 59
60 final RubyRootNode pristineRootNode = new RubyRootNode(sourceSection, methodName, body); 60 final RubyRootNode pristineRootNode = new RubyRootNode(sourceSection, environment.getFrameDescriptor(), methodName, body);
61 61
62 final CallTarget callTarget = Truffle.getRuntime().createCallTarget(NodeUtil.cloneNode(pristineRootNode), environment.getFrameDescriptor()); 62 final CallTarget callTarget = Truffle.getRuntime().createCallTarget(NodeUtil.cloneNode(pristineRootNode));
63 63
64 return new MethodDefinitionNode(context, sourceSection, methodName, environment.getUniqueMethodIdentifier(), environment.getFrameDescriptor(), environment.needsDeclarationFrame(), 64 return new MethodDefinitionNode(context, sourceSection, methodName, environment.getUniqueMethodIdentifier(), environment.getFrameDescriptor(), environment.needsDeclarationFrame(),
65 pristineRootNode, callTarget); 65 pristineRootNode, callTarget);
66 } 66 }
67 67