diff --git a/src/device/utils.jl b/src/device/utils.jl index 95c824a81..d65361325 100644 --- a/src/device/utils.jl +++ b/src/device/utils.jl @@ -1,12 +1,5 @@ # local method table for device functions -@static if isdefined(Base.Experimental, Symbol("@overlay")) Base.Experimental.@MethodTable(method_table) -else -const method_table = nothing -end - -# list of overrides (only for Julia 1.6) -const overrides = Expr[] macro device_override(ex) ex = macroexpand(__module__, ex) @@ -14,15 +7,9 @@ macro device_override(ex) ex = eval(ex) error() end - code = quote + esc(quote $GPUCompiler.@override($method_table, $ex) - end - if isdefined(Base.Experimental, Symbol("@overlay")) - return esc(code) - else - push!(overrides, code) - return - end + end) end macro device_function(ex) diff --git a/src/initialization.jl b/src/initialization.jl index 8ef46cdb2..c14bf978c 100644 --- a/src/initialization.jl +++ b/src/initialization.jl @@ -44,15 +44,9 @@ function __init__() push!(Base.active_repl_backend.ast_transforms, synchronize_metal_tasks) end - # register device overrides - eval(Expr(:block, overrides...)) - empty!(overrides) - @static if !isdefined(Base, :get_extension) @require SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" begin include("../ext/SpecialFunctionsExt.jl") - eval(Expr(:block, overrides...)) - empty!(overrides) end end end