20,741
edits
Line 87: | Line 87: | ||
* Working with bytecode: | * Working with bytecode: | ||
** Expose to Nasal: {{Done}} | ** Expose to Nasal: {{Done}} | ||
** Decompile to text: partial (untested) | ** Decompile to text: partial (untested) {{Progressbar|70}} | ||
** Optimize: not started (it makes only sense to look at optimizations after we're able to instrument/profile a running FG session to come up with hot spots that are executed either frequently, or that are responsible for significant runtime overhead - i.e. due to GC pressure or other issues) | ** Optimize: not started (it makes only sense to look at optimizations after we're able to instrument/profile a running FG session to come up with hot spots that are executed either frequently, or that are responsible for significant runtime overhead - i.e. due to GC pressure or other issues) | ||
** Working with it: provide Bytecode class in Nasal: not started<!-- (the exposeOpcode() API already exists, most other machinery could be built in scripting space on top of it?)--> | ** Working with it: provide Bytecode class in Nasal: not started<!-- (the exposeOpcode() API already exists, most other machinery could be built in scripting space on top of it?)--> | ||
* Inspect Context: not started, should be easy. | * Inspect Context: not started, should be easy. | ||
* Expose Tokens to Nasal: implemented by Hooray as argument to compile(), should be extended to cover output from lex.c and after blocking in addition to the current after-prec-ing (and before freeing!) support. | * Expose Tokens to Nasal: implemented by Hooray as argument to compile(), should be extended to cover output from lex.c and after blocking in addition to the current after-prec-ing (and before freeing!) support. {{Progressbar|70}} | ||
** compile() being used by call(), it should be straightforward to also map a call() hash.callback to do the same thing here - so that there's no disparity here. | ** compile() being used by call(), it should be straightforward to also map a call() hash.callback to do the same thing here - so that there's no disparity here. | ||
** Yeah, just another entry in naContext->extras, right? | ** Yeah, just another entry in naContext->extras, right? |