638
edits
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 <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: | ||
edits