diff options
Diffstat (limited to 'lib/system/arc.nim')
-rw-r--r-- | lib/system/arc.nim | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/lib/system/arc.nim b/lib/system/arc.nim index 50dec241f..a8da0b6e3 100644 --- a/lib/system/arc.nim +++ b/lib/system/arc.nim @@ -227,8 +227,6 @@ template tearDownForeignThreadGc* = ## With `--gc:arc` a nop. discard -type ObjCheckCache = array[0..1, PNimTypeV2] - proc memcmp(str1, str2: cstring, n: csize_t): cint {.importc, header: "<string.h>".} func endsWith(s, suffix: cstring): bool {.inline.} = @@ -242,19 +240,8 @@ func endsWith(s, suffix: cstring): bool {.inline.} = proc isObj(obj: PNimTypeV2, subclass: cstring): bool {.compilerRtl, inl.} = result = endsWith(obj.name, subclass) -proc isObjSlowPath(obj: PNimTypeV2, subclass: cstring, cache: var ObjCheckCache): bool {.compilerRtl, inline.} = - if endsWith(obj.name, subclass): - cache[1] = obj - result = true - else: - cache[0] = obj - result = false - -proc isObjWithCache(obj: PNimTypeV2, subclass: cstring, cache: var ObjCheckCache): bool {.compilerRtl.} = - if cache[0] == obj: result = false - elif cache[1] == obj: result = true - else: - result = isObjSlowPath(obj, subclass, cache) +proc isObjDisplayCheck(source: PNimTypeV2, targetDepth: int16, token: uint32): bool {.compilerRtl, inline.} = + result = targetDepth <= source.depth and source.display[targetDepth] == token proc chckObj(obj: PNimTypeV2, subclass: cstring) {.compilerRtl.} = # checks if obj is of type subclass: |