From cde514733d2c0c3c070d2452c653cf3a4eea0313 Mon Sep 17 00:00:00 2001 From: Drahflow Date: Thu, 10 Jan 2013 19:34:47 +0100 Subject: Some code clean- and speedup --- compiler/elymasAsm.ey | 14 ++++++++++---- compiler/elymasAsmLib.ey | 11 +++++++---- compiler/elymasGlobal.ey | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) (limited to 'compiler') diff --git a/compiler/elymasAsm.ey b/compiler/elymasAsm.ey index d3ad34b..3a7ca60 100644 --- a/compiler/elymasAsm.ey +++ b/compiler/elymasAsm.ey @@ -576,7 +576,9 @@ /rsp /rbx xchgqRegMem callStack /rbx movqImmReg /r15 /rbx xchgqRegMem - ] opcodes [ + + opcodes _ len dearray + callStack /rbx movqImmReg /r15 /rbx xchgqRegMem valueStack /rbx movqImmReg @@ -584,13 +586,17 @@ /r15 popqReg /rbx popqReg retn - ] cat cat =opcodes + ] + } /compileOn deff - opcodes arrayToCode _ .base sys .asm .execute - .free + { + compileOn arrayToCode _ .base sys .asm .execute + .free } /executeOn deff { mainStack .base mainCallStack .base executeOn } /execute deff + + { mainStack .base mainCallStack .base compileOn } /compile deff > /assembler defv # vim: syn=elymas diff --git a/compiler/elymasAsmLib.ey b/compiler/elymasAsmLib.ey index 9cea01e..76cb7e7 100644 --- a/compiler/elymasAsmLib.ey +++ b/compiler/elymasAsmLib.ey @@ -497,15 +497,18 @@ sys .asm .peek } /peekImm8 deff + [ /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /A /B /C /D /E /F ] ==base16singleDigits + [ base16singleDigits { ==first base16singleDigits { first -01 cat } each } each ] ==base16digits + { - [ -01 16 { _ 16 mod -01 16 div } rep -- ] - [ /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /A /B /C /D /E /F ] * + [ -01 8 { _ 256 mod -01 256 div } rep -- ] + base16digits * reverse |cat fold } /base16encode64 deff { - [ -01 8 { _ 16 mod -01 16 div } rep -- ] - [ /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /A /B /C /D /E /F ] * + [ -01 4 { _ 256 mod -01 256 div } rep -- ] + base16digits * reverse |cat fold } /base16encode32 deff diff --git a/compiler/elymasGlobal.ey b/compiler/elymasGlobal.ey index 12589e8..a6dcfb8 100644 --- a/compiler/elymasGlobal.ey +++ b/compiler/elymasGlobal.ey @@ -94,7 +94,7 @@ { _ "([^\\n]*)\\n(.*)" regex } { -102 -- tokenize { _ .handle assemblerLibrary .stackDump - assemblerLibrary .globalScopeDump + # assemblerLibrary .globalScopeDump } each } loop } loop } /executeFile deff -- cgit v1.2.3