MCPcopy Create free account
hub / github.com/SeaOfNodes/Simple / call

Method call

chapter19/src/test/java/com/seaofnodes/simple/Eval2.java:209–219  ·  view source on GitHub ↗
( CallNode call )

Source from the content-addressed store, hash-verified

207
208 // Make a call.
209 private static CFGNode call( CallNode call ) {
210 // Set up the Return PC and return frame (which is just the current frame).
211 // Really making a Continuation, but it's just a Closure
212 Closure cont = new Closure(call.cend(),F);
213 // Set the return continuation into the current frame RPC
214 F.put(call, cont );
215 // Next Frame to use
216 F = new Frame(F);
217 // Target function and environment
218 return CODE.link(tfp(call.fptr()));
219 }
220
221 private static CFGNode ret( ReturnNode ret ) {
222 // Fetch return expression value and continuation from current frame

Callers 1

evalMethod · 0.95

Calls 5

tfpMethod · 0.95
cendMethod · 0.45
putMethod · 0.45
linkMethod · 0.45
fptrMethod · 0.45

Tested by

no test coverage detected