JavaScript:ActionMonkey: Difference between revisions

→‎Stage 4: oh yeah, what about Object.watch
m (→‎Stage 4: oh yeah, this stored value thing runs a little deeper than that)
(→‎Stage 4: oh yeah, what about Object.watch)
Line 101: Line 101:
* Change the interpreter to use Tamarin strings.
* Change the interpreter to use Tamarin strings.
* Change the interpreter to use Tamarin-like 64-bit jsvals.
* Change the interpreter to use Tamarin-like 64-bit jsvals.
* Compare Tamarin and SpiderMonkey [[mdc:Core JavaScript 1.5 Reference:Global Objects:Object|<code>Object</code> features]], particularly non-standard features like <code>[[mdc:Core JavaScript 1.5 Reference:Global Objects:Object:watch|Object.watch]]</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 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 [[mdc:JSAPI:Stored value|stored value]] feature, which affects getters, setters, <code>[[mdc:JSClass.getProperty]]</code> et al, and <code>[[mdc:JS_LookupProperty|JS_LookupProperty]]</code>.
* Figure out how to support native getters, setters, and <code>[[mdc:JSClass|JSClass]]</code> hooks.  (Note in particular the [[mdc:JSAPI:Stored value|stored value]] feature, which affects getters, setters, <code>[[mdc:JSClass.getProperty]]</code> et al, and <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 <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:
* 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:


638

edits