@@ -38,9 +38,9 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
38
38
f = @lookup (frame, fex)
39
39
end
40
40
41
- if @static isdefined (Core, :OpaqueClosure ) && f isa Core. OpaqueClosure
41
+ if f isa Core. OpaqueClosure
42
42
if expand
43
- if ! Core . Compiler . uncompressed_ir (f. source). inferred
43
+ if ! Base . uncompressed_ir (f. source). inferred
44
44
return Expr (:call , f, args[2 : end ]. .. )
45
45
else
46
46
@debug " not interpreting opaque closure $f since it contains inferred code"
@@ -86,7 +86,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
86
86
return Some {Any} (Core. _apply_pure (getargs (args, frame)... ))
87
87
elseif f === Core. _call_in_world
88
88
return Some {Any} (Core. _call_in_world (getargs (args, frame)... ))
89
- elseif @static isdefined (Core, :_call_in_world_total ) && f === Core. _call_in_world_total
89
+ elseif f === Core. _call_in_world_total
90
90
return Some {Any} (Core. _call_in_world_total (getargs (args, frame)... ))
91
91
elseif f === Core. _call_latest
92
92
args = getargs (args, frame)
@@ -99,7 +99,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
99
99
push! (new_expr. args, QuoteNode (x))
100
100
end
101
101
return maybe_recurse_expanded_builtin (frame, new_expr)
102
- elseif @static isdefined (Core, :_compute_sparams ) && f === Core. _compute_sparams
102
+ elseif f === Core. _compute_sparams
103
103
return Some {Any} (Core. _compute_sparams (getargs (args, frame)... ))
104
104
elseif f === Core. _equiv_typedef
105
105
return Some {Any} (Core. _equiv_typedef (getargs (args, frame)... ))
@@ -111,7 +111,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
111
111
return Some {Any} (Core. _setsuper! (getargs (args, frame)... ))
112
112
elseif f === Core. _structtype
113
113
return Some {Any} (Core. _structtype (getargs (args, frame)... ))
114
- elseif @static isdefined (Core, :_svec_ref ) && f === Core. _svec_ref
114
+ elseif f === Core. _svec_ref
115
115
return Some {Any} (Core. _svec_ref (getargs (args, frame)... ))
116
116
elseif f === Core. _typebody!
117
117
return Some {Any} (Core. _typebody! (getargs (args, frame)... ))
@@ -123,7 +123,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
123
123
end
124
124
elseif f === Core. apply_type
125
125
return Some {Any} (Core. apply_type (getargs (args, frame)... ))
126
- elseif @static isdefined (Core, :compilerbarrier ) && f === Core. compilerbarrier
126
+ elseif f === Core. compilerbarrier
127
127
if nargs == 2
128
128
return Some {Any} (Core. compilerbarrier (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
129
129
else
@@ -139,9 +139,9 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
139
139
else
140
140
return Some {Any} (Core. current_scope (getargs (args, frame)... ))
141
141
end
142
- elseif @static isdefined (Core, :donotdelete ) && f === Core. donotdelete
142
+ elseif f === Core. donotdelete
143
143
return Some {Any} (Core. donotdelete (getargs (args, frame)... ))
144
- elseif @static isdefined (Core, :finalizer ) && f === Core. finalizer
144
+ elseif f === Core. finalizer
145
145
if nargs == 2
146
146
return Some {Any} (Core. finalizer (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
147
147
elseif nargs == 3
@@ -151,12 +151,8 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
151
151
else
152
152
return Some {Any} (Core. finalizer (getargs (args, frame)... ))
153
153
end
154
- elseif @static isdefined (Core, :get_binding_type ) && f === Core. get_binding_type
155
- if nargs == 2
156
- return Some {Any} (Core. get_binding_type (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
157
- else
158
- return Some {Any} (Core. get_binding_type (getargs (args, frame)... ))
159
- end
154
+ elseif f === Core. get_binding_type
155
+ return Some {Any} (Core. get_binding_type (getargs (args, frame)... ))
160
156
elseif f === Core. ifelse
161
157
if nargs == 3
162
158
return Some {Any} (Core. ifelse (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
@@ -255,14 +251,8 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
255
251
else
256
252
return Some {Any} (getfield (getargs (args, frame)... ))
257
253
end
258
- elseif @static isdefined (Core, :getglobal ) && f === getglobal
259
- if nargs == 2
260
- return Some {Any} (getglobal (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
261
- elseif nargs == 3
262
- return Some {Any} (getglobal (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
263
- else
264
- return Some {Any} (getglobal (getargs (args, frame)... ))
265
- end
254
+ elseif f === getglobal
255
+ return Some {Any} (getglobal (getargs (args, frame)... ))
266
256
elseif f === invoke
267
257
if ! expand
268
258
argswrapped = getargs (args, frame)
@@ -285,7 +275,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
285
275
else
286
276
return Some {Any} (isdefined (getargs (args, frame)... ))
287
277
end
288
- elseif @static isdefined (Core, :modifyfield! ) && f === modifyfield!
278
+ elseif f === modifyfield!
289
279
if nargs == 4
290
280
return Some {Any} (modifyfield! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
291
281
elseif nargs == 5
@@ -294,20 +284,14 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
294
284
return Some {Any} (modifyfield! (getargs (args, frame)... ))
295
285
end
296
286
elseif @static isdefined (Core, :modifyglobal! ) && f === modifyglobal!
297
- if nargs == 4
298
- return Some {Any} (modifyglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
299
- elseif nargs == 5
300
- return Some {Any} (modifyglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ])))
301
- else
302
- return Some {Any} (modifyglobal! (getargs (args, frame)... ))
303
- end
287
+ return Some {Any} (modifyglobal! (getargs (args, frame)... ))
304
288
elseif f === nfields
305
289
if nargs == 1
306
290
return Some {Any} (nfields (@lookup (frame, args[2 ])))
307
291
else
308
292
return Some {Any} (nfields (getargs (args, frame)... ))
309
293
end
310
- elseif @static isdefined (Core, :replacefield! ) && f === replacefield!
294
+ elseif f === replacefield!
311
295
if nargs == 4
312
296
return Some {Any} (replacefield! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
313
297
elseif nargs == 5
@@ -318,15 +302,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
318
302
return Some {Any} (replacefield! (getargs (args, frame)... ))
319
303
end
320
304
elseif @static isdefined (Core, :replaceglobal! ) && f === replaceglobal!
321
- if nargs == 4
322
- return Some {Any} (replaceglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
323
- elseif nargs == 5
324
- return Some {Any} (replaceglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ])))
325
- elseif nargs == 6
326
- return Some {Any} (replaceglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ]), @lookup (frame, args[7 ])))
327
- else
328
- return Some {Any} (replaceglobal! (getargs (args, frame)... ))
329
- end
305
+ return Some {Any} (replaceglobal! (getargs (args, frame)... ))
330
306
elseif f === setfield!
331
307
if nargs == 3
332
308
return Some {Any} (setfield! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
@@ -345,25 +321,11 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
345
321
else
346
322
return Some {Any} (setfieldonce! (getargs (args, frame)... ))
347
323
end
348
- elseif @static isdefined (Core, :setglobal! ) && f === setglobal!
349
- if nargs == 3
350
- return Some {Any} (setglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
351
- elseif nargs == 4
352
- return Some {Any} (setglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
353
- else
354
- return Some {Any} (setglobal! (getargs (args, frame)... ))
355
- end
324
+ elseif f === setglobal!
325
+ return Some {Any} (setglobal! (getargs (args, frame)... ))
356
326
elseif @static isdefined (Core, :setglobalonce! ) && f === setglobalonce!
357
- if nargs == 3
358
- return Some {Any} (setglobalonce! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
359
- elseif nargs == 4
360
- return Some {Any} (setglobalonce! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
361
- elseif nargs == 5
362
- return Some {Any} (setglobalonce! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ])))
363
- else
364
- return Some {Any} (setglobalonce! (getargs (args, frame)... ))
365
- end
366
- elseif @static isdefined (Core, :swapfield! ) && f === swapfield!
327
+ return Some {Any} (setglobalonce! (getargs (args, frame)... ))
328
+ elseif f === swapfield!
367
329
if nargs == 3
368
330
return Some {Any} (swapfield! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
369
331
elseif nargs == 4
@@ -372,13 +334,7 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
372
334
return Some {Any} (swapfield! (getargs (args, frame)... ))
373
335
end
374
336
elseif @static isdefined (Core, :swapglobal! ) && f === swapglobal!
375
- if nargs == 3
376
- return Some {Any} (swapglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
377
- elseif nargs == 4
378
- return Some {Any} (swapglobal! (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
379
- else
380
- return Some {Any} (swapglobal! (getargs (args, frame)... ))
381
- end
337
+ return Some {Any} (swapglobal! (getargs (args, frame)... ))
382
338
elseif f === throw
383
339
if nargs == 1
384
340
return Some {Any} (throw (@lookup (frame, args[2 ])))
@@ -500,16 +456,14 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
500
456
end
501
457
if isa (f, Core. IntrinsicFunction)
502
458
cargs = getargs (args, frame)
503
- @static if isdefined (Core. Intrinsics, :have_fma )
504
- if f === Core. Intrinsics. have_fma && length (cargs) == 1
505
- cargs1 = cargs[1 ]
506
- if cargs1 == Float64
507
- return Some {Any} (FMA_FLOAT64[])
508
- elseif cargs1 == Float32
509
- return Some {Any} (FMA_FLOAT32[])
510
- elseif cargs1 == Float16
511
- return Some {Any} (FMA_FLOAT16[])
512
- end
459
+ if f === Core. Intrinsics. have_fma && length (cargs) == 1
460
+ cargs1 = cargs[1 ]
461
+ if cargs1 == Float64
462
+ return Some {Any} (FMA_FLOAT64[])
463
+ elseif cargs1 == Float32
464
+ return Some {Any} (FMA_FLOAT32[])
465
+ elseif cargs1 == Float16
466
+ return Some {Any} (FMA_FLOAT16[])
513
467
end
514
468
end
515
469
if f === Core. Intrinsics. muladd_float && length (cargs) == 3
0 commit comments