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

Method call

chapter24/src/test/java/com/seaofnodes/simple/Eval2.java:212–222  ·  view source on GitHub ↗
( CallNode call )

Source from the content-addressed store, hash-verified

210
211 // Make a call.
212 private static CFGNode call( CallNode call ) {
213 // Set up the Return PC and return frame (which is just the current frame).
214 // Really making a Continuation, but it's just a Closure
215 Closure cont = new Closure(call.cend(),F);
216 // Set the return continuation into the current frame RPC
217 F.put(call, cont );
218 // Next Frame to use
219 F = new Frame(F);
220 // Target function and environment
221 return CODE.link(tfp(call.fptr()));
222 }
223
224 private static CFGNode ret( ReturnNode ret ) {
225 // 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