JavaScript:ActionMonkey: Difference between revisions

Jump to navigation Jump to search
→‎Stage 4: more work for Jim, and make JSObjectOps seem less important
(Food for thought: platforms)
(→‎Stage 4: more work for Jim, and make JSObjectOps seem less important)
Line 101: Line 101:
* Figure out how to support the "last-retrieved value" behavior of <code>[[mdc:JS_LookupProperty|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>[[mdc:JSClass|JSClass]]</code> hooks.
* Figure out how to support native getters, setters, and <code>[[mdc:JSClass|JSClass]]</code> hooks.
* 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.
* Figure out how to support <code>[[mdc:JSObjectOps|JSObjectOps]]</code> callbacks.  ''Or'' reimplement all Mozilla's <code>JSObjectOps</code> on Tamarin's object model. There are not many <code>JSObjectOps</code> implementations in Mozilla:
 
::Inside SpiderMonkey:
::*js_ObjectOps
::*js_WithObjectOps
::*js_ArrayObjectOps - coming in {{bug|322899}}
::*js_SlowArrayObjectOps - same
::In xpconnect:
::*XPC_WN_WithCall_JSOps
::*XPC_WN_NoCall_JSOps
::In liveconnect, which is not even built in Mozilla 2:
::*JavaArray_ops
::*JavaObject_ops
::*JavaClass_ops
 
* 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>[[mdc:JSNative|JSNative]]</code> and <code>[[mdc:JSFastNative|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.
Line 109: Line 123:
* Make sure E4X works with the new object model.
* Make sure E4X works with the new object model.
* Make sure the debugger still works with the new object model.
* Make sure the debugger still works with the new object model.
* Make sure XPConnect works.
* Make sure security works.
* Merge the SpiderMonkey and Tamarin <code>Array</code> implementations.
* Merge the SpiderMonkey and Tamarin <code>Array</code> implementations.
* Figure out how to do all the above and still support platforms that tamarin-tracing doesn't support:
* Figure out how to do all the above and still support platforms that tamarin-tracing doesn't support:
638

edits

Navigation menu