Commit Graph

207 Commits

Author SHA1 Message Date
Luke Wagner
0d7bf8cc22 Bug 656462, part 4 - Simplify stack code, keep track of native calls, create new iterator over native/scripted callstack, make JS_SaveFrameChain fallible (r=waldo,mrbkap)
--HG--
extra : rebase_source : 756a640568464d11fe6bb00104a2fdb6f6d02d02
2011-05-13 08:56:26 -07:00
Luke Wagner
fe7b0581ce Bug 656462, part 2 - Merge ContextStack::get* and push* operations (r=waldo)
--HG--
extra : rebase_source : bdc7a7ba9ee21435a20e77bf6cea8c4d34a840c9
2011-05-24 16:04:18 -07:00
Bill McCloskey
6a8823ab66 Bug 658055 - Always use getter to access fun->script() (r=dmandelin) 2011-05-20 11:27:27 -07:00
Chris Leary
a7253cc393 Bug 654301: Better interned string API, take 2. (r=Waldo) 2011-05-17 12:15:12 -07:00
Chris Leary
089bf2c468 Back out bug 654301 to run again on try. 2011-05-16 19:03:20 -07:00
Chris Leary
338cf025af Bug 654301: Better interned string API. (r=Waldo) 2011-05-16 18:18:59 -07:00
Jeff Walden
5d29251946 Bug 652746 - Implement js::ArgumentsObject, js::NormalArgumentsObject, and js::StrictArgumentsObject. r=njn
--HG--
extra : rebase_source : 84258ffa658ba09928ab9b86f8017fa6683f3146
2011-04-25 22:40:00 -04:00
Ryan VanderMeulen
36e9afa970 Bug 653959 - Fix warning spam by using consistent declaration for js_DeclEnvClass. r=luke 2011-05-05 17:53:36 +02:00
Luke Wagner
05d2002b66 Bug 644074 - Simplify and consolidate VM stack code into js/src/vm/Stack* 2011-04-13 09:27:37 -07:00
Tom Schuster
de983504ce Bug 202019 - Objects with [[Call]] arent automatically constructbale r=jorendorff 2011-04-26 00:28:30 +02:00
Jason Orendorff
7c1bcbce33 Backed out changeset e02df4a05968 due to orange. 2011-04-20 16:10:38 -05:00
Tom Schuster
479dc912bc Bug 202019 - Built-in functions should not be constructors. r=jorendorff.
--HG--
extra : rebase_source : 2f845218384004c09a60c59ae03704729f1d91dc
2011-04-20 13:22:57 -05:00
Luke Wagner
a15ba4f804 Bug 636296 - Change meaning of JSStackFrame::hasCallObj to be more sane (r=waldo) 2011-03-14 11:30:36 -07:00
Luke Wagner
7c96945e3c Bug 613457 - clean up string interfaces (r=njn)
--HG--
extra : rebase_source : 3e77b67fa9fe2cc31312ad99951cf92258a98e64
2011-03-14 13:59:53 -07:00
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