aboutsummaryrefslogtreecommitdiff
path: root/compiler/elymasGlobalSysTyped.ey
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2013-09-28 13:32:21 +0200
committerDrahflow <drahflow@gmx.de>2013-09-28 13:32:21 +0200
commitfb00faedb262e98cbb992339b14226665e18f590 (patch)
treece2a97910fab8c049cd7c95b7c6ac558108afc0f /compiler/elymasGlobalSysTyped.ey
parent18b0b19af65e92bf47611882d7d6448532404fea (diff)
11% faster with unboxed integers
Diffstat (limited to 'compiler/elymasGlobalSysTyped.ey')
-rw-r--r--compiler/elymasGlobalSysTyped.ey15
1 files changed, 10 insertions, 5 deletions
diff --git a/compiler/elymasGlobalSysTyped.ey b/compiler/elymasGlobalSysTyped.ey
index 298dba8..5284c69 100644
--- a/compiler/elymasGlobalSysTyped.ey
+++ b/compiler/elymasGlobalSysTyped.ey
@@ -45,15 +45,20 @@
[[
/rbx :popqReg
- ::internalAllocateInteger /rax :movqImmReg
- /rax :callqReg
-
/rdx :popqReg
+ 63 /rdx :btrqImm8Reg
+ /integerType :jcLbl8
+
7 /rdx /rdx :movzxMem8Disp8Reg64
4 /rdx :shrqImm8Reg
- /rdx 8 /rax :movqRegMemDisp8
+ /done :jmpLbl8
- /rax :pushqReg
+ @integerType
+ /rdx /rdx :xorqRegReg
+
+ @done
+ 63 /rdx :btsqImm8Reg
+ /rdx :pushqReg
/rbx :pushqReg
:retn