Jim Blandy
df6f0b2ee9
Bug 554955: Give blocks and call objects unique shapes when they have parents that may be extended with new bindings. r=jorendorff
...
The comments for js::Bindings::extensibleParents explain why this is necessary.
AssertValidPropertyCacheHit should have been catching this bug, but for
reasons I don't understand, it is restricted from checking this case. This
patch extends it to assert when the bug is detected.
I've gathered the infallible parts of the initialization for Call objects
and cloned block objects into their own functions.
2011-03-15 12:18:36 -07:00
Jeff Walden
2db290c32a
Bug 638312 - Add JS_IsBuiltinEvalFunction and JS_IsBuiltinFunctionConstructor APIs. r=gal
2011-03-02 19:57:44 -08:00
Luke Wagner
08e66296bc
Bug 634542 - Back out diagnostic patches (r=dvander,a=backout)
2011-02-19 14:37:46 -08:00
Luke Wagner
e8cc2a25ba
Luke Wagner – Bug 634542 - Temporary diagnostic patch 2 (r=dvander,a=shaver)
2011-02-18 18:38:10 -08:00
Jason Orendorff
d064deac4d
Bug 630865 - Resolve interpreted function prototypes more eagerly. r=dvander.
2011-02-14 14:04:07 -06:00
Jim Blandy
de75b9fa19
Bug 537873: Add a 'strict' argument to C++ property setter functions. r=brendan
...
This changes the type of setters to JSStrictPropertyOp, which is just like
JSPropertyOp except that it takes a 'JSBool strict' argument. Most of the
patch is introducing distinct types and using the appropriate stubs.
The following are left for subsequent patches:
x Similar fixes to the browser outside SpiderMonkey.
x Actually *using* the newly available strictness information. This patch
should have no user-visible effect. I didn't want the interesting stuff
to get lost in this noise.
2011-02-09 11:31:40 -08:00
Jim Blandy
2016210905
Bug 554955: Revert fix (changesets 297b1312f534, 18a1effafe19, 26d40e1e80bf, f6117465a979): 14% performance hit as measured by Talos. r=talos
2011-01-31 16:48:26 -08:00
Jim Blandy
a237e87988
Bug 554955: Give blocks and call objects unique shapes when they have parents that may be extended with new bindings. r=jorendorff
...
The comments for js::Bindings::extensibleParents explain why this is necessary.
AssertValidPropertyCacheHit should have been catching this bug, but for
reasons I don't understand, it is restricted from checking this case. This
patch extends it to assert when the bug is detected.
I've gathered the infallible parts of the initialization for Call objects
and cloned block objects into their own functions.
2011-01-31 12:08:13 -08:00
Andreas Gal
3c34eab945
Follow-up fix for bug 625559.
2011-01-26 19:19:33 -08:00
Blake Kaplan
8f27ca08f2
Catch chrome eval escaping into content (bug 625559, r=gal).
2011-01-26 18:28:49 -08:00
Brendan Eich
0b7d9754dc
Get rid of JSOP_{GET,CALL}UPVAR and simplify code greatly (592202, r=jorendorff).
2010-12-29 23:46:50 -08:00
Jeff Walden
de8c94c378
Bug 514568 - Use a fresh variable environment for strict mode code run by eval, and give strict mode eval code frames a Call object backed by those variables. r=igor
2010-10-12 11:38:06 -07:00
Jeff Walden
f7bec8a9e8
Bug 614493 - Move top-level binding storage (and argument, variable, and upvar counts) out of JSFunction and into js::Bindings, itself stored in JSScript, anticipating the time when strict mode eval scripts will need it. r=brendan
2010-11-16 15:34:24 -08:00
Brendan Eich
0e94dad967
Restore append-only fun->u.i.names rule by binding destructured-to vars for destructuring args after binding all args (619003, r=igor).
2010-12-27 15:10:58 -08:00
Jeff Walden
e2834ef56d
Require JSFunction::inStrictMode() callers to check for isInterpreted() first, since most already know that the function in question is interpreted. r=dmandelin
2010-12-22 21:06:08 -05:00
Jeff Walden
59814e4551
Bug 620315 - "Assertion failure: unexpected constantly false guard detected" with "use strict", 4 > this. Fix a problem where we weren't marking functions created by |new Function| as accepting a primitive this value when their body was strict mode, by removing the duplicative bit that was being checked. r=dmandelin
2010-12-22 18:05:07 -05:00
Luke Wagner
91eabb4690
Bug 561954 - Abort recording earlier to avoid expensive later bails (r=jorendorff)
...
--HG--
extra : rebase_source : d2a54d2513fe8f69dcdaa5bad8dc0ce8c8ee634e
2010-11-18 10:49:45 -08:00
Jeff Walden
88d923a99a
Bug 614338 - Move some call object property methods into the js namespace. r=dmandelin
...
--HG--
extra : rebase_source : 3816a3ae6d775e5866030c8a51cc305f09dda1f2
2010-11-16 15:30:57 -08:00
Luke Wagner
9db98566fb
Backed out changeset 31e0cd11f015
2010-11-18 16:58:16 -08:00
Luke Wagner
319ccaa65d
Bug 561954 - Avoid costly deep bail by aborting earlier on bad global prop access (r=jorendorff)
2010-11-18 10:49:45 -08:00
Jeff Walden
8cb990a0d3
Make JSTreeContext::fun and JSTreeContext::scopeChain private (they share a union), and provide accessors that assert that the tree context is or is not in a function, as appropriate. r=dvander
2010-11-16 14:13:29 -08:00
Igor Bukanov
52ea348c4c
bug 610198 - Replacing JS_GetStringBytes usage with JS_EncodeString. r=gal
2010-11-11 21:40:29 +01:00
David Anderson
7487c14d37
Backed out changeset 8e119f847f97 (build busted)
2010-11-11 11:19:42 -08:00
Igor Bukanov
e32ba97023
bug 610198 - Replacing JS_GetStringBytes usage with JS_EncodeString. r=gal
2010-11-02 15:36:25 +01:00
Igor Bukanov
92b67c9caf
bug 607695 - Avoid unnecessary JS_GetStringBytes. r=gal
2010-10-28 17:15:53 +02:00
Luke Wagner
af51d6c49c
Bug 602129 - JM: make f.call(...) fast, part 2 (r=dvander)
...
--HG--
extra : rebase_source : 19405a1ec0337f39edfc3a6fe4543038c991f132
2010-10-15 19:11:51 -07:00
Brian Hackett
f9cf7a5b7d
Flexible length JSObject, bug 584917. r=brendan,igor
2010-10-13 11:49:22 -07:00
Jeff Walden
fcbd8eb10b
Bug 514570 - 1 - Convert primitive-this-of-type function flags into a single primitive-this flag, to pave way for strict mode unadulterated-this passing. r=jorendorff
2010-10-12 11:50:02 -07:00
Bill McCloskey
05473d29a8
Bug 601986 - Make blockchain determination faster for with, flat closures (r=igor)
2010-10-06 10:41:36 -07:00
Brendan Eich
853d03c5d2
Per ECMA-262, no .prototype for built-in functions and Function.prototype (445319, r=Waldo).
2010-10-03 22:46:39 -07:00
Gregor Wagner
fdb731becb
Bug 558861 - Compartmental GC (r=gal)
2010-09-24 10:54:39 -07:00
Brian Hackett
066d48b6b6
Backed out changeset 09ffb30caa47
2010-09-20 12:05:21 -07:00
Brian Hackett
e8819f33fa
Make JSObject flexible length, bug 584917. r=brendan
2010-09-20 11:40:32 -07:00
David Anderson
3bced69ba2
Fix instanceof with bound functions (bug 597167, r=brendan).
2010-09-16 19:31:11 -07:00
Luke Wagner
562fc49870
Bug 539144 - Make formal args a jit-time const offset from fp; rm argv/argc/thisv/script/callobj (r=brendan,dvander)
2010-08-09 22:43:33 -07:00
Luke Wagner
5e9978f911
Bug 581263 - remove slow natives (r=waldo,mrbkap)
2010-08-16 12:35:04 -07:00
David Mandelin
3dc48e12b2
[JAEGER] Merge from Tracemonkey.
2010-08-30 15:13:32 -07:00
Brendan Eich
790ddc9e99
Merge JSScope into JSObject and JSScopeProperty (now js::Shape; bug 558451, r=jorendorff).
2010-08-29 11:57:08 -07:00
David Mandelin
ab97c995fd
[JAEGER] Merge from tracemonkey.
2010-08-26 10:35:24 -07:00
David Mandelin
d32d792513
[JAEGER] Merge from tracemonkey. Note that we will currently fail one trace test that was recently added. There is a bug in that test that will be fixed posthaste.
2010-08-17 15:32:40 -07:00
Jeff Walden
765b61e1cb
Bug 429507 - ES5: Function.prototype.bind. r=brendan
2010-08-13 10:42:33 -07:00
Jeff Walden
24f0559035
Bug 516255 - Eagerly copy initial parameter values into the arguments object when a function's parameters might be mutated, and rely on normal resolution behavior in the remaining cases when parameters are never modified. r=dmandelin
2010-08-11 23:27:33 -07:00
Jeff Walden
88db90ddd5
Bug 516255 - Use different classes for arguments objects created inside and outside strict mode code, with slightly different ops, in preparation for implementing strict mode arguments objects' less magical functionality. r=dmandelin
2010-08-11 23:26:59 -07:00
David Mandelin
df3e6a9e74
[JAEGER] Merge from tracemonkey.
2010-08-09 11:36:39 -07:00
Luke Wagner
8d67384340
Bug 585231 - Remove ArgsPrivateNative (r=dmandelin)
2010-08-06 17:19:22 -07:00
Brian Hackett
5ab7972159
Fast native constructors, bug 579471.
2010-08-03 12:20:48 -07:00
Jeff Walden
443f3f510a
Bug 514581 - ES5: fun.caller and fun.arguments must throw when fun is strict-mode code. r=jimb
...
--HG--
extra : rebase_source : 10f930852e39b0b1ef917b18b6a1332a9a815d5d
2010-08-02 23:52:12 -07:00
David Mandelin
904ccc994c
Merge from Tracemonkey.
2010-07-27 11:48:08 -07:00
Brendan Eich
794e678554
Arguments.callee.caller does not work in FF 4 under certain circumstances (577648, r=jwalden).
2010-07-23 14:41:56 -07:00
David Mandelin
cf0c3c24a7
Merge from tracemonkey.
2010-07-22 18:31:01 -07:00