638
edits
(→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. | ||
edits