You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



JSD Low Level and API Items

John Bandhauer
17 June 1998

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