mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-06 09:30:06 +00:00
65802 JITC placeholders
This commit is contained in:
parent
82a4b57c43
commit
11dc4abcda
51
src/libsrc/apple/jit16.pla
Normal file
51
src/libsrc/apple/jit16.pla
Normal file
@ -0,0 +1,51 @@
|
||||
//
|
||||
// PLASMA JIT bytecode compiler
|
||||
//
|
||||
include "inc/cmdsys.plh"
|
||||
//
|
||||
// Module don't free memory
|
||||
//
|
||||
const modkeep = $2000
|
||||
const modinitkeep = $4000
|
||||
//
|
||||
// Indirect interpreter DEFinition entrypoint
|
||||
//
|
||||
struc t_defentry
|
||||
byte interpjsr
|
||||
word interpaddr
|
||||
word bytecodeaddr
|
||||
byte callcount
|
||||
byte bytecodesize
|
||||
end
|
||||
//
|
||||
// JIT compiler constants
|
||||
//
|
||||
const jitcomp = $03E2
|
||||
const jitcodeptr = $03E4
|
||||
const codemax = $BEE0
|
||||
//
|
||||
// Bytecode interpreter entrypoints
|
||||
//
|
||||
const indirectentry = $03DC
|
||||
const directentry = $03D0
|
||||
//
|
||||
// Copy bytecode DEF to main memory
|
||||
//
|
||||
def defcpy(dst, defptr)#0
|
||||
*$003C = defptr=>bytecodeaddr
|
||||
*$003E = *$003C + defptr->bytecodesize
|
||||
*$0042 = dst
|
||||
call($C311, 0, 0, 0, $04) // CALL XMOVE with carry clear (AUX->MAIN) and ints disabled
|
||||
end
|
||||
include "libsrc/jitcore.pla"
|
||||
//
|
||||
// Install JIT compiler
|
||||
//
|
||||
if *jitcomp
|
||||
return 0
|
||||
fin
|
||||
*jitcomp = @compiler
|
||||
cmdsys.jitcount = 44
|
||||
cmdsys.jitsize = 96
|
||||
return modkeep
|
||||
done
|
1563
src/libsrc/jit16core.pla
Normal file
1563
src/libsrc/jit16core.pla
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user