JavaScript:ActionMonkey: Difference between revisions

Jump to navigation Jump to search
→‎Stage 4: links, more work for Jim
(→‎Stage 4: still more work for Jim)
(→‎Stage 4: links, more work for Jim)
Line 97: Line 97:
* Determine which JSAPI <code>JS_*Double*</code> functions can be preserved and which must be removed.  Patch the entire Mozilla codebase as needed.
* Determine which JSAPI <code>JS_*Double*</code> functions can be preserved and which must be removed.  Patch the entire Mozilla codebase as needed.
* Change the interpreter to use Tamarin strings.
* Change the interpreter to use Tamarin strings.
* Change the interpreter to use Tamarin jsvals.
* Change the interpreter to use Tamarin-like 64-bit jsvals. (Note:  We need 64-bit support in Tamarin at this point, unless we just want to regress those platforms.  Nobody is [[Tamarin plans|planning]] to work on this during 2008, as of 3 February 2008.)
* Figure out what to do when an application calls <code>[[JS_GetClass]]</code> on a plain <code>Object</code>, <code>Array</code>, or <code>Function</code>.
* Figure out what to do when an application calls <code>[[mdc:JS_GetClass|JS_GetClass]]</code> on a plain <code>Object</code>, <code>Array</code>, or <code>Function</code>.
* Figure out how to support the "last-retrieved value" behavior of <code>[[JS_LookupProperty]]</code>.
* Figure out how to support the "last-retrieved value" behavior of <code>[[mdc:JS_LookupProperty|JS_LookupProperty]]</code>.
* Figure out how to support native getters, setters, and <code>[[JSClass]]</code> hooks.
* Figure out how to support native getters, setters, and <code>[[mdc:JSClass|JSClass]]</code> hooks.
* Figure out how to support <code>[[JSObjectOps]]</code> callbacks.  ''Or'' find the people to reimplement all Mozilla's <code>JSObjectOps</code>-level magic on Tamarin's object model.
* Figure out how to support <code>[[mdc:JSObjectOps|JSObjectOps]]</code> callbacks.  ''Or'' find the people to reimplement all Mozilla's <code>JSObjectOps</code>-level magic on Tamarin's object model.
* Implement an adapter class to support Tamarin objects that preserve the <code>JSClass</code> behavior (and <code>JSObjectOps</code> if necessary).
* Implement an adapter class to support Tamarin objects that preserve the <code>JSClass</code> behavior (and <code>JSObjectOps</code> if necessary).
* Implement support for using <code>JSNative</code> and <code>JSFastNative</code> native functions in the Tamarin object model.
* Implement support for using <code>[[mdc:JSNative|JSNative]]</code> and <code>[[mdc:JSFastNative|JSFastNative]]</code> native functions in the Tamarin object model.
* Change the interpreter to use Tamarin objects.
* Change the interpreter to use Tamarin objects.
* Make sure jsxdrapi.h works with the new object model.
* Make sure jsxdrapi.h works with the new object model.
638

edits

Navigation menu