1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-10-01 14:57:08 +00:00

Allocate proper size for defentries

This commit is contained in:
David Schmenk 2018-04-02 12:36:44 -07:00
parent 58eb615176
commit d0215eb7e1
3 changed files with 12 additions and 6 deletions

View File

@ -192,7 +192,7 @@ JITINTRP PLA
PLA
SBC #$00
STA TMPH
LDY #$05
LDY #$06
LDA (TMP),Y ; DEC JIT COUNT
SEC
SBC #$01
@ -200,6 +200,9 @@ JITINTRP PLA
BEQ RUNJIT
DEY ; INTERP BYTECODE AS USUAL
LDA (TMP),Y
STA IPX
DEY
LDA (TMP),Y
STA IPH
DEY
LDA (TMP),Y
@ -210,7 +213,10 @@ RUNJIT LDA JITCOMP
STA SRCL
LDA JITCOMP+1
STA SRCH
DEY ; LDY #$04
DEY ; LDY #$05
LDA (SRC),Y
STA IPX
DEY
LDA (SRC),Y
STA IPH
DEY

View File

@ -316,5 +316,5 @@ cmdsys:cmdparser = @shell
interpentry = compiler:interpaddr
*jitcomp = @compiler
cmdsys.jitcount = 44
cmdsys.jitsize = 96
//cmdsys.jitsize = 96
done

View File

@ -457,7 +457,7 @@ end
//
// Addresses of internal routines.
//
asm interp()#1
asm xinterp()#1
DEX
LDA #<XINTERP
STA ESTKL,X
@ -1052,7 +1052,7 @@ def adddef(isfirst, ext, addr, deflast)#1
fin
fin
defentry->interpjsr = $20
defentry=>interpaddr = interp
defentry=>interpaddr = xinterp
defentry=>bytecodeaddr = addr
defentry->bytecodexbyte = ext
defentry->t_defentry = 0
@ -1120,7 +1120,7 @@ def loadmod(mod)#1
//
// Init def table.
//
deftbl = allocheap(defcnt * 6 + 1)
deftbl = allocheap(defcnt * t_defentry + 1)
deflast = deftbl
^deflast = 0
if !refnum