@@ -232,6 +232,9 @@ function evaluate_call!(interp::NonRecursiveInterpreter, frame::Frame, call_expr
232
232
ret = maybe_evaluate_builtin (interp, frame, call_expr, false )
233
233
isa (ret, Some{Any}) && return ret. value
234
234
fargs = collect_args (interp, frame, call_expr)
235
+ return evaluate_call! (interp, frame, fargs, enter_generated)
236
+ end
237
+ function evaluate_call! (:: NonRecursiveInterpreter , frame:: Frame , fargs:: Vector{Any} , :: Bool )
235
238
return native_call (fargs, frame)
236
239
end
237
240
@@ -243,6 +246,9 @@ function evaluate_call!(interp::Interpreter, frame::Frame, call_expr::Expr, ente
243
246
isa (ret, Some{Any}) && return ret. value
244
247
call_expr = ret
245
248
fargs = collect_args (interp, frame, call_expr)
249
+ return evaluate_call! (interp, frame, fargs, enter_generated)
250
+ end
251
+ function evaluate_call! (interp:: Interpreter , frame:: Frame , fargs:: Vector{Any} , enter_generated:: Bool )
246
252
if fargs[1 ] === Core. eval
247
253
return Core. eval (fargs[2 ], fargs[3 ]) # not a builtin, but worth treating specially
248
254
elseif fargs[1 ] === Base. rethrow
0 commit comments