JSD Low Level and API Items
DO EVERYTHING FOR BOTH ENGINES
- Threading
- threadsafe traps
- thread ids
- stop one or multiple threads
- interoperate with Java threads
- track objects used by multiple threads
- JS 1.3 JavaScript specific support
- expose and support watchpoints
- expose object creation and destruction
- expose location of object constructor
- expose location of line of code that created object (where's the 'new'?)
- expose property iterators
- expose property flags
- expose prototype chains
- expose scope resolution
- expose types
- call/return hooks
- return w/ value support
- implement
debugger
keyword as an engine hook - expose objects via reference id
- Unicode support
- expose info about natives
- deep recursion hook
- XDR hooks
- expose security annotations
- fix numerous existing Rhino bugs
- expose graph of object references (not just property iterator)
- allow for debug support when some optimizations are enabled
- JS 1.4 support
- expose and support exceptions
- expose sealing
- LiveConnect support
- Profiling support
- track amount of time in each function
- code coverage support
- sampling support
- expose ratio of time spent in compile/interpreter/native/java/XDR
- Debugger Performanace enhancements
- low level stepping
- compiled in (bytecode) debug statements
- Enhanced UI support
- expose which lines script have code
- loop stepping (and other activities that are semantically linked)
- expose an ASM (logical bytecode) mapping
- integration with Native code debugging
- support target code communication to debugger
- improve error reporter mechanism (differentiate compile errors and warnings from runtime errors)
- interpreter loop waits for adjustable slow execution modes
- cross runtime debugging
- multiple debugger on one runtime debugging
- eval as user or superuser
- fast multi object snapshot/compare to detect changes
- track type conversions
- recursize object size information
- catch function call param mismatches
- expose multiple uses of the same script source
- expose various aliases for a given object
- API enhancements
- evolve and restructure API
- add capability flags to api
- fix breakpoint clearing/chaining bugs
- constuct and maintain API testing system
- evolve the existing UI for testing new support and distibution to licensees
- support various embedding specific issues (and new embedders)
- make Corba transport more generic (not ES 3.51 specific)
- add new API transports (transend Corba)
- C++ wrapper for api
- Reference UI enhancements
- strategies for alternate logic partitioning
- General
- work up documentation
- provide examples
- support embedders and tool providers
- support Corba scripting
- multi-platform build/test issues