mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-03-22 01:30:45 +00:00
Add NO-JITC flag to module SYSFLAGS
This commit is contained in:
parent
fd641bef8f
commit
dad0f4b4d5
@ -33,6 +33,7 @@ import cmdsys
|
||||
const reshgr2 = $0020
|
||||
const resxhgr1 = $0040
|
||||
const resxhgr2 = $0080
|
||||
const nojitc = $0100
|
||||
//
|
||||
// Module don't free memory
|
||||
//
|
||||
|
@ -1024,7 +1024,7 @@ def loadmod(mod)#1
|
||||
word addr, defaddr, modaddr, modfix, modofst, modend
|
||||
word deftbl, deflast
|
||||
word moddep, rld, esd, sym
|
||||
byte refnum, defbank, str[16], filename[64]
|
||||
byte refnum, defbank, filename[64], str[]
|
||||
byte header[128]
|
||||
//
|
||||
// Read the RELocatable module header (first 128 bytes)
|
||||
@ -1209,6 +1209,8 @@ def loadmod(mod)#1
|
||||
*$0042 = defaddr
|
||||
call($C311, 0, 0, 0, $05) // CALL XMOVE with carry set (MAIN->AUX) and ints disabled
|
||||
fin
|
||||
else
|
||||
perr = $46
|
||||
fin
|
||||
if perr
|
||||
return -perr
|
||||
|
@ -16,6 +16,7 @@ const reshgr1 = $0010
|
||||
const reshgr2 = $0020
|
||||
const resxhgr1 = $0040
|
||||
const resxhgr2 = $0080
|
||||
const nojitc = $0100
|
||||
//
|
||||
// Module don't free memory
|
||||
//
|
||||
@ -1044,7 +1045,7 @@ def loadmod(mod)#1
|
||||
word addr, defaddr, modaddr, modfix, modofst, modend
|
||||
word deftbl, deflast
|
||||
word moddep, rld, esd, sym
|
||||
byte refnum[], deffirst, str[16], filename[64]
|
||||
byte refnum[], deffirst, skipjit, filename[64], str[]
|
||||
byte header[128]
|
||||
//
|
||||
// Read the RELocatable module header (first 128 bytes)
|
||||
@ -1074,11 +1075,12 @@ def loadmod(mod)#1
|
||||
//
|
||||
// This is an EXTended RELocatable (data+bytecode) module.
|
||||
//
|
||||
systemflags = header:4 | systemflags
|
||||
defofst = header:6
|
||||
defcnt = header:8
|
||||
init = header:10
|
||||
moddep = @header.12
|
||||
systemflags = header.4 | systemflags
|
||||
skipjit = header.5 & (nojitc >> 8)
|
||||
defofst = header:6
|
||||
defcnt = header:8
|
||||
init = header:10
|
||||
moddep = @header.12
|
||||
//
|
||||
// Load module dependencies.
|
||||
//
|
||||
@ -1153,8 +1155,8 @@ def loadmod(mod)#1
|
||||
// This is a bytcode def entry - add it to the def directory.
|
||||
//
|
||||
adddef(deffirst, rld=>1 + defofst, @deflast)
|
||||
deffirst = 0
|
||||
rld = rld + 4
|
||||
deffirst = skipjit // Calculate JIT potential or not
|
||||
rld = rld + 4
|
||||
loop
|
||||
//
|
||||
// Run through the Re-Location Dictionary.
|
||||
@ -1194,6 +1196,8 @@ def loadmod(mod)#1
|
||||
*$003E = modaddr + modsize
|
||||
*$0042 = defaddr
|
||||
call($C311, 0, 0, 0, $05) // CALL XMOVE with carry set (MAIN->AUX) and ints disabled
|
||||
else
|
||||
perr = $46
|
||||
fin
|
||||
if perr
|
||||
return -perr
|
||||
|
@ -11,6 +11,7 @@ const reshgr1 = $0010
|
||||
const reshgr2 = $0020
|
||||
const resxhgr1 = $0040
|
||||
const resxhgr2 = $0080
|
||||
const nojitc = $0100
|
||||
//
|
||||
// Module don't free memory
|
||||
//
|
||||
@ -1050,7 +1051,7 @@ def loadmod(mod)#1
|
||||
word addr, defaddr, modaddr, modfix, modofst, modend
|
||||
word deftbl, deflast, codeseg
|
||||
word moddep, rld, esd, sym
|
||||
byte lerr, defext, fileinfo[], str[16], filename[33]
|
||||
byte lerr, defext, skipjit, fileinfo[], str[16], filename[33]
|
||||
byte header[128]
|
||||
lerr = 0
|
||||
//
|
||||
@ -1084,7 +1085,8 @@ def loadmod(mod)#1
|
||||
//
|
||||
// This is an EXTended RELocatable (data+bytecode) module.
|
||||
//
|
||||
systemflags = header:4 | systemflags
|
||||
systemflags = header.4 | systemflags
|
||||
skipjit = header.5 & (nojitc >> 8)
|
||||
defofst = header:6
|
||||
defcnt = header:8
|
||||
init = header:10
|
||||
@ -1176,8 +1178,8 @@ def loadmod(mod)#1
|
||||
// This is a bytcode def entry - add it to the def directory.
|
||||
//
|
||||
adddef(deffirst, defext, rld=>1 + defofst, @deflast)
|
||||
deffirst = 0
|
||||
rld = rld + 4
|
||||
deffirst = skipjit // Calculate JIT potential or not
|
||||
rld = rld + 4
|
||||
loop
|
||||
//
|
||||
// Run through the Re-Location Dictionary.
|
||||
@ -1241,6 +1243,8 @@ def loadmod(mod)#1
|
||||
//
|
||||
memxcpy(codeseg, bytecode, modsize - (bytecode - modaddr))
|
||||
fin
|
||||
else
|
||||
lerr = $46
|
||||
fin
|
||||
if lerr
|
||||
return -lerr
|
||||
|
Loading…
x
Reference in New Issue
Block a user