@@ -158,20 +158,6 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
158
158
else
159
159
return Some {Any} (Core. ifelse (getargs (args, frame)... ))
160
160
end
161
- elseif @static isdefined (Core, :memoryref ) && f === Core. memoryref
162
- if nargs == 1
163
- return Some {Any} (Core. memoryref (@lookup (frame, args[2 ])))
164
- elseif nargs == 2
165
- return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
166
- elseif nargs == 3
167
- return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
168
- elseif nargs == 4
169
- return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
170
- elseif nargs == 5
171
- return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ])))
172
- else
173
- return Some {Any} (Core. memoryref (getargs (args, frame)... ))
174
- end
175
161
elseif @static isdefined (Core, :memoryref_isassigned ) && f === Core. memoryref_isassigned
176
162
if nargs == 3
177
163
return Some {Any} (Core. memoryref_isassigned (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
@@ -190,6 +176,20 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
190
176
else
191
177
return Some {Any} (Core. memoryrefmodify! (getargs (args, frame)... ))
192
178
end
179
+ elseif @static isdefined (Core, :memoryrefnew ) && f === Core. memoryrefnew
180
+ if nargs == 1
181
+ return Some {Any} (Core. memoryrefnew (@lookup (frame, args[2 ])))
182
+ elseif nargs == 2
183
+ return Some {Any} (Core. memoryrefnew (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
184
+ elseif nargs == 3
185
+ return Some {Any} (Core. memoryrefnew (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
186
+ elseif nargs == 4
187
+ return Some {Any} (Core. memoryrefnew (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
188
+ elseif nargs == 5
189
+ return Some {Any} (Core. memoryrefnew (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ])))
190
+ else
191
+ return Some {Any} (Core. memoryrefnew (getargs (args, frame)... ))
192
+ end
193
193
elseif @static isdefined (Core, :memoryrefoffset ) && f === Core. memoryrefoffset
194
194
if nargs == 1
195
195
return Some {Any} (Core. memoryrefoffset (@lookup (frame, args[2 ])))
@@ -468,6 +468,20 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
468
468
else
469
469
return Some {Any} (Core. const_arrayref (getargs (args, frame)... ))
470
470
end
471
+ elseif @static (isdefined (Core, :memoryref ) && Core. memoryref isa Core. Builtin) && f === Core. memoryref
472
+ if nargs == 1
473
+ return Some {Any} (Core. memoryref (@lookup (frame, args[2 ])))
474
+ elseif nargs == 2
475
+ return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ])))
476
+ elseif nargs == 3
477
+ return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ])))
478
+ elseif nargs == 4
479
+ return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ])))
480
+ elseif nargs == 5
481
+ return Some {Any} (Core. memoryref (@lookup (frame, args[2 ]), @lookup (frame, args[3 ]), @lookup (frame, args[4 ]), @lookup (frame, args[5 ]), @lookup (frame, args[6 ])))
482
+ else
483
+ return Some {Any} (Core. memoryref (getargs (args, frame)... ))
484
+ end
471
485
elseif f === Core. Intrinsics. llvmcall
472
486
return Some {Any} (Core. Intrinsics. llvmcall (getargs (args, frame)... ))
473
487
end
0 commit comments