aboutsummaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2013-12-14 18:57:15 +0100
committerDrahflow <drahflow@gmx.de>2013-12-14 18:57:15 +0100
commitc8403d1aac986c4a9b24fa23afc9bb7127cfbb9e (patch)
treecc783d13fa261b2830283e85de22fc006336f9f7 /compiler
parent36344dde86cb88e087cdfbc0f7cde0af581b4ea6 (diff)
Removed variable version of constant address
Diffstat (limited to 'compiler')
-rw-r--r--compiler/elymasAsmLib.ey6
-rw-r--r--compiler/elymasGlobalSysAsm.ey9
2 files changed, 4 insertions, 11 deletions
diff --git a/compiler/elymasAsmLib.ey b/compiler/elymasAsmLib.ey
index 2cd124f..e7d38ab 100644
--- a/compiler/elymasAsmLib.ey
+++ b/compiler/elymasAsmLib.ey
@@ -95,9 +95,6 @@
# current parser quote state
[ %00 %00 %00 %00 %00 %00 %00 %00 ] ==currentQuoted
-
- # global allocation list
- [ :globalAllocations .base :imm64 ] ==globalAllocationList # FIXME what is this for? directly use :globalAllocations
> { defv }' allocateOffsetStruct
{ ==register
@@ -673,8 +670,7 @@
# rsi == size in bytes
# record new block in global allocation list
- globalAllocationList /rax :movqImmReg
- /rax /rax :movqMemReg
+ :globalAllocations .base /rax :movqImmReg
16 /rax :addqImm8Mem
/rax /rax :addqMemReg
16 /rax :subqImm8Reg
diff --git a/compiler/elymasGlobalSysAsm.ey b/compiler/elymasGlobalSysAsm.ey
index 3a7e2c1..691a20e 100644
--- a/compiler/elymasGlobalSysAsm.ey
+++ b/compiler/elymasGlobalSysAsm.ey
@@ -114,8 +114,7 @@
[[
/rbx :popqReg
- ::globalAllocationList /rdx :movqImmReg
- /rdx /rdx :movqMemReg
+ :globalAllocations .base /rdx :movqImmReg
/rdx /rdx :movqMemReg
4 /rdx :shrqImm8Reg
/rdx :decqReg
@@ -141,8 +140,7 @@
/rcx ::unboxInteger
- ::globalAllocationList /rdx :movqImmReg
- /rdx /rdx :movqMemReg
+ :globalAllocations .base /rdx :movqImmReg
/rcx :incqReg
4 /rcx :shlqImm8Reg
@@ -168,8 +166,7 @@
/rcx ::unboxInteger
- ::globalAllocationList /rdx :movqImmReg
- /rdx /rdx :movqMemReg
+ :globalAllocations .base /rdx :movqImmReg
/rcx :incqReg
4 /rcx :shlqImm8Reg