Commit Graph

216 Commits

Author SHA1 Message Date
Jason Orendorff
4235dced5c Bug 679879 - Change JSFunction macros to methods. Part 2, js/src changes. r=Waldo. 2011-08-18 12:39:44 -05:00
Bill McCloskey
095fa57be2 Bug 673451 - Add getters and setters to make JS write barriers easier to implement (r=cdleary) 2011-07-13 15:43:33 -07:00
Ehsan Akhgari
8eaf1685d8 Backout bug 670205 and bug 673451 because of build bustage
--HG--
extra : rebase_source : 1125480c0f47d0388876c09648d64bdbd62d1206
2011-07-26 14:41:43 -04:00
Bill McCloskey
eda8607b71 Bug 673451 - Add getters and setters to make JS write barriers easier to implement (r=cdleary) 2011-07-13 15:43:33 -07:00
Jason Orendorff
e4e749adc2 Bug 620316 - Remove WrapEscapingClosure. r=brendan. 2011-07-13 07:15:59 -05:00
Luke Wagner
c9e1bf13c0 Bug 667915 - Don't let content JS consume all the stack and cause chrome JS to OOM (r=waldo,mrbkap) 2011-06-30 09:26:56 -07:00
Chris Leary
7922cf2289 Merge mozilla central and tracemonkey. 2011-06-20 16:49:20 -07:00
Jeff Walden
4641c09f96 Bug 645464 - js::ClassMethodIsNative doesn't return false when the object has a property of the given name which isn't the specified native method. r=luke
--HG--
extra : rebase_source : a9c6944975bec3b155dc537733643e0faa5f6b0b
2011-03-28 19:27:14 -07:00
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
Luke Wagner
35892b7351 Bug 664252 - Turn lemons (LLVM-only build bustage) into lemonade (rewrite JSOP_CALL/EVAL/NEW to have less goto madness) (r=waldo) 2011-06-14 16:36:13 -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