@@ -200,52 +200,51 @@ by RASTBuilder and passed to the FunctionDefinitionNode constructor.
200200### ` CALLER_FRAME ` argument life-cycle
201201(see ` CallerFrameClosureProvider ` )
202202
203- ```
204- Legend:
205- (*) - a caller frame closure holding a materialised frame; it never occurs in the compiler
206- ( ) - a caller frame closure with no frame; it never occurs in the interpreter
207- * - a materialised closure
208- ^ - a stack introspection
209- <opt> - optimisation; the boundary between interpreted and compiled code
210- <deopt> - deoptimisation; the boundary between compiled and interpreted code
211- ```
203+ Legend:
204+ (*) - a caller frame closure holding a materialised frame; it never occurs in the interpreter
205+ ( ) - a caller frame closure with no frame; it never occurs in the compiler
206+ * - a materialised closure
207+ ^ - a request for the frame, e.g. stack introspection
208+ <opt> - optimisation; the boundary between interpreted and compiled code
209+ <deopt> - deoptimisation; the boundary between compiled and interpreted code
212210
213211#### The caller frame is available on the first call
214- ```
215- a) no stack introspection
216212
217- time
218- ------------------------------------->
213+ a) no stack introspection
219214
220- (*) (*) (*) <opt> ( ) ( ) ( )
215+ time
216+ ------------------------------------->
221217
218+ (*) (*) (*) <opt> ( ) ( ) ( )
222219
223- b) early stack introspection (i.e. in the interpreter)
224220
225- (*) (*) * <opt> * * *
226- ^
221+ b) early stack introspection (i.e. in the interpreter)
227222
228- c) late stack introspection (i.e. in the compiler)
223+ (*) (*) * <opt> * * *
224+ ^
225+
226+ c) late stack introspection (i.e. in the compiler)
227+
228+ (*) (*) (*) <opt> ( ) ( ) <deopt> * *
229+ ^
229230
230- (*) (*) (*) <opt> ( ) ( ) <deopt> * *
231- ```
232231
233232#### The caller frame is not available on the first call
234- ```
235- time
236- ------------------------------------->
237233
238- a) no stack introspection
234+ time
235+ ------------------------------------->
236+
237+ a) no stack introspection
239238
240- ( ) ( ) ( ) <opt> ( ) ( ) ( )
239+ ( ) ( ) ( ) <opt> ( ) ( ) ( )
241240
242241
243- b) early stack introspection (i.e. in the interpreter)
242+ b) early stack introspection (i.e. in the interpreter)
244243
245- ( ) ( ) * <opt> * * *
246- ^
244+ ( ) ( ) * <opt> * * *
245+ ^
247246
248- c) late stack introspection (i.e. in the compiler)
247+ c) late stack introspection (i.e. in the compiler)
249248
250- ( ) ( ) ( ) <opt> ( ) ( ) <deopt> * *
251- ```
249+ ( ) ( ) ( ) <opt> ( ) ( ) <deopt> * *
250+ ^
0 commit comments