aboutsummaryrefslogtreecommitdiff
path: root/compiler/elymasGlobalSysAsm.ey
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2013-06-26 00:07:24 +0200
committerDrahflow <drahflow@gmx.de>2013-06-26 00:07:24 +0200
commitfa3aacdad35ac149ae972e390e670a2ad9781dfc (patch)
treee843723d545567a9fff889141ba77ffa12de4a2a /compiler/elymasGlobalSysAsm.ey
parenta9d45d870ddd6cd1a95935544bf1a3c6e5cb2e86 (diff)
Fixed incorrectly frozen allocator state
Diffstat (limited to 'compiler/elymasGlobalSysAsm.ey')
-rw-r--r--compiler/elymasGlobalSysAsm.ey22
1 files changed, 20 insertions, 2 deletions
diff --git a/compiler/elymasGlobalSysAsm.ey b/compiler/elymasGlobalSysAsm.ey
index cc1ec43..fd3f983 100644
--- a/compiler/elymasGlobalSysAsm.ey
+++ b/compiler/elymasGlobalSysAsm.ey
@@ -211,8 +211,17 @@
# (template) program boot sequence after freeze
[[
- /rsp :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE
- /r15 :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE
+ /rsp :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE # 10
+ /r15 :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE # 20
+ ::heapEnd /rax :movqImmReg # 30
+ /rbx :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE # 40
+ /rbx /rax :movqRegMem # 43
+ ::unusedHeapStart /rax :movqImmReg # 53
+ /rbx :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE # 63
+ /rbx /rax :movqRegMem # 66
+ ::currentScope /rax :movqImmReg # 76
+ /rbx :movqImmOOBReg %EE %EE %EE %EE %EE %EE %EE %EE # 86
+ /rbx /rax :movqRegMem # 89
|ey* /rax :movqImmReg
/rax :callqReg
@@ -228,6 +237,15 @@
eyprogramStart /rax :movqImmReg
/rsp 2 /rax :movqRegMemDisp8
/r15 12 /rax :movqRegMemDisp8
+ ::heapEnd /rdx :movqImmReg
+ /rdx /rdx :movqMemReg
+ /rdx 32 /rax :movqRegMemDisp8
+ ::unusedHeapStart /rdx :movqImmReg
+ /rdx /rdx :movqMemReg
+ /rdx 55 /rax :movqRegMemDisp8
+ ::currentScope /rdx :movqImmReg
+ /rdx /rdx :movqMemReg
+ /rdx 78 /rax :movqRegMemDisp8
/rbx :pushqReg
:retn