aboutsummaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2015-05-13 13:23:45 +0200
committerDrahflow <drahflow@gmx.de>2015-05-13 13:24:42 +0200
commit505524b45f59263fb29057e829b9a39ef86e0e99 (patch)
treee0d0b859c7e9d317fe3f544dc824177001a2aa7b /compiler
parenta50ac40758fe485807035e88f5e203c93f267dbc (diff)
Use nametable templating
Diffstat (limited to 'compiler')
-rw-r--r--compiler/elymasAsmLib.ey4
-rw-r--r--compiler/elymasGlobal.ey12
2 files changed, 10 insertions, 6 deletions
diff --git a/compiler/elymasAsmLib.ey b/compiler/elymasAsmLib.ey
index 2347495..fdf97b8 100644
--- a/compiler/elymasAsmLib.ey
+++ b/compiler/elymasAsmLib.ey
@@ -1378,6 +1378,9 @@
[[
/rdi :pushqReg
/rsi :pushqReg
+
+ 58 /rsi :btqImm8Mem
+ /noSlotFound :jcLbl32 # nametable has template bit set, cannot modify
8 /rdi /rcx :movqMemDisp8Reg # load cached hash value
/rcx /rcx :testqRegReg
@@ -1439,6 +1442,7 @@
trySlot
> --
+ @noSlotFound
/rax /rax :xorqRegReg # no slot found
/rdx /rdx :xorqRegReg
16 /rsp :addqImm8Reg
diff --git a/compiler/elymasGlobal.ey b/compiler/elymasGlobal.ey
index 90fbfda..e7cea98 100644
--- a/compiler/elymasGlobal.ey
+++ b/compiler/elymasGlobal.ey
@@ -1809,12 +1809,12 @@
%30 -101* /eydefvst defv
%31 -101* /eydeffst defv
%33 -101* /eydefmst defv
- %40 -101* /eydefvc defv
- %41 -101* /eydeffc defv
- %43 -101* /eydefmc defv
- %C0 -101* /eydefvd defv
- %C1 -101* /eydeffd defv
- %C3 -101* /eydefmd defv
+ %50 -101* /eydefvc defv
+ %51 -101* /eydeffc defv
+ %53 -101* /eydefmc defv
+ %D0 -101* /eydefvd defv
+ %D1 -101* /eydeffd defv
+ %D3 -101* /eydefmd defv
--
# retype a function