Commit Graph

800 Commits

Author SHA1 Message Date
Wes Garland
256dd8ad05 Bug 586016, update JS_GetImplementationVersion. r=jorendorff 2011-04-16 14:16:50 -04:00
Colin Walters
2a0395d63b Bug 648102 - Make shell REPL/snarf/run always take UTF-8 input; add JS_DecodeUTF8; add UTF-8 flag to JS_BufferIsCompilableUnit. r=gal 2011-04-16 14:11:10 -04:00
Luke Wagner
6fcaf8c63f Bug 649531 - tidy up this-computation logic a bit, add some asserts (r=waldo)
--HG--
extra : rebase_source : f01409526e4582b87ced4b9f9d1170254a55373b
2011-04-12 17:16:12 -07:00
David Anderson
61cc68f032 Fix clang warnings (bug 647280, r=luke). 2011-04-14 13:45:06 -07:00
Jeff Walden
d3676c4409 Bug 649819 - Remove JS_BeginJSONParse/JS_ConsumeJSONText/JS_EndJSONParse now that these APIs are no longer used and the cleaner API is available and works. r=brendan 2011-03-21 11:42:14 -07:00
Luke Wagner
774c050740 Bug 602994 - Preparatory syntactic cleanup (r=waldo) 2011-04-08 10:52:48 -07:00
Blake Kaplan
d7c603eab8 Bug 618176 - Skip multiple wrappers when deciding whether this object is an array. r=gal 2011-04-12 15:56:45 -07:00
L. David Baron
0a579a3bbb Back out changeset 7dcd0d16cc08 (bug 547941) for causing jsreftest crashes on debug builds. 2011-04-12 01:28:40 -07:00
Andreas Gal
55fc66a7e0 Bug 547941 - WeakMap. r=jorendorff. 2011-04-11 22:38:11 -07:00
Jeff Walden
0266764efe Fix JS_InstanceOf to work correctly again with a null obj, and to assert same-compartment only if called when an error might be reported. rs=luke 2011-04-11 15:36:06 -07:00
Tom Schuster
b1920f16e2 Typo fixes for previous patch, r=jwalden 2011-04-11 10:48:28 -07:00
Tom Schuster
612aedeb49 Bug 601709 - Remove the misnomer InstanceOf variant methods by replacing their uses with clearer if-not-class-then-report code. r=jwalden
--HG--
extra : rebase_source : 171b8afefec6b00dd9981315a3e591fe347634dd
2011-04-11 01:38:27 -07:00
Ed Morley
90a849de12 Bug 647389 - Remove WINCE stuff from Spidermonkey (r=jorendorff) 2011-04-09 20:17:53 +01:00
Jeff Walden
b80782b484 Bug 643532 - Implement JS_ParseJSON and JS_ParseJSONWithReviver, a first step toward moving away from a begin-consume-finish-based JSON parsing process. r=luke 2011-03-21 11:42:06 -07:00
Phil Ringnalda
8d4385b7fe Back out bd821ea0ad41 (638324) for mochitest-chrome crashes 2011-03-31 19:55:10 -07:00
Andreas Gal
e69500d1bc Maintain a list of IdArrays as we hand them out via JS API (638324, r=brendan). 2011-03-31 14:42:33 -07:00
Paul Biggar
43b850291d Bug 643548: Remove mozalloc_undef_macro_wrappers hack from JS engine. (r=luke,rs=brendan)
mozalloc_undef_macro_wrappers are brittle and have side-effects that are hard
to debug and fix. The alternative is the just stick an underscore on the end of
malloc, free, etc, which is a comparatively small burden.
2011-03-31 01:14:12 -07:00
Paul Biggar
72c7701093 Bug 634155: Account for NewCompartment's memory, and change allocation APIs (r=nnethercote)
This changes the allocation API, in the following way:

  js_malloc -> {cx->,rt->,OffTheBooks::}malloc
  js_calloc -> {cx->,rt->,OffTheBooks::}calloc
  js_realloc -> {cx->,rt->,OffTheBooks::}realloc
  js_free -> {cx->,rt->,Foreground::,UnwantedForeground::}free
  js_new -> {cx->,rt->,OffTheBooks::}new_
  js_new_array -> {cx->,rt->,OffTheBooks::}new_array
  js_delete -> {cx->,rt->,Foreground::,UnwantedForeground::}delete_

This is to move as many allocations as possible through a JSContext (so that they may be aken into account by gcMallocBytes) and to move as many deallocations to the background as possible (except on error paths).
2011-03-31 01:13:49 -07:00
Chris Leary
2ef1aa6439 Bug 642274: Add loose equality to JSAPI. (r=Waldo)
--HG--
extra : rebase_source : 3001604e6e6bfc9c8e73aafc1498a71ae7ade9cd
2011-03-21 10:04:43 -07:00
Andreas Gal
707f928b25 Expose public APIs for converting doubles to signed/unsigned int per ECMA spec (bug 631132, r=bzbarsky). 2011-03-29 19:19:15 -07:00
Bill McCloskey
0f733168cb Bug 569422 - Allocate js::Shape from the GC heap (r=brendan) 2011-03-23 11:57:44 -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
Luke Wagner
fee4a41733 Bug 616562 - speed up JSString::isStatic (r=njn)
--HG--
extra : rebase_source : 9f0b553b8ab54bfbbd5290ba936581bda8bb40ec
2011-03-14 13:55:55 -07:00
Mike Hommey
2ec52f1e18 Backed out changeset d4c0875dc41a -- tinderbox build bustage 2011-03-21 18:31:02 +01:00
Chris Leary
1ef870e8d1 Bug 642274: Add loose equality to JSAPI. (r=Waldo) 2011-03-21 10:04:43 -07:00
Igor Bukanov
6990aee491 Bug 633219 - replacing resolve hashtable with a linked list. r=luke 2011-03-07 23:00:00 +01:00
Luke Wagner
0db79e7ad5 Bug 640274 - rm {JS_,js_,}GetExternalStringGCType (r=brendan)
--HG--
extra : rebase_source : 1a2b1df8c7ed9cdbf0455e6e8c117382cb1fb2bb
2011-03-14 13:55:43 -07:00
Andreas Gal
e787b97701 Sweep compartments when no objects live in them (bug 639270, r=gregor). 2011-03-08 20:58:38 -08:00
Phil Ringnalda
d21d12b55b Back out 80d8431f209e (bug 639270) for failing to actually compile 2011-03-08 19:59:30 -08:00
Andreas Gal
033fce6c39 Sweep compartments when no objects live in them (bug 639270, r=gregor). 2011-03-08 18:10:47 -08:00
Nicholas Nethercote
155ec564ef Bug 638034 - Make scanning safer. r=brendan. 2011-03-08 16:10:51 -08:00
Andreas Gal
29c7365b34 Make empty shape initialization lazy (bug 639254, r=billm). 2011-03-07 18:42:04 -08:00
Jeff Walden
ff7d62dfcb Bug 637905 - Add (asserted-infallible) append methods to js::Vector, for use when the vector in question has previously had space reserved, and use them a bunch of places. r=luke
--HG--
extra : rebase_source : 89002f1cb5160d89e90a22e54bdca1d57bf9deda
2011-02-18 18:32:29 -08:00
Jeff Walden
fc5075d1f7 Bug 608473 - |var eval = otherWindow.eval; eval(...)| should behave like indirectly calling that eval from a script in that other window. r=jorendorff
--HG--
extra : rebase_source : 9accca7e9a2b8304c2c823852cfd71b13c595afe
2011-03-02 20:56:37 -08:00
Andreas Gal
f5b9aeb7d0 Remove obsolete JSMarkOp API (bug 638291, r=jorendorff). 2011-03-05 14:50:11 -08:00
Jeff Walden
2db290c32a Bug 638312 - Add JS_IsBuiltinEvalFunction and JS_IsBuiltinFunctionConstructor APIs. r=gal 2011-03-02 19:57:44 -08:00
Igor Bukanov
b9b1577eec bug 630209 - (Compile|Execute)Script that are GC-safe. r=jorendorff 2011-02-03 14:06:21 +01:00
Blake Kaplan
239d15c104 Fixing bug 623810. r=jst@mozilla.org, gal@uci.edu, a=blocker. CLOSED TREE 2011-02-11 16:17:25 -08:00
Andreas Gal
9a7cc712a8 When idle the GC holds on to unused chunks indefinitely (bug 631733, r=brendan, a=blocker). (relanding in a CLOSED TREE) 2011-02-19 22:59:49 -08:00
Jeff Walden
1e41f95c6d #jsapi observed the extent of orange in the TM tree and saw that OS X x86 opt was consistently and totally evil. So jwalden was sorry he had ever pushed changes for bug 631135. It broke his heart. And he said, “I will wipe this tree of every push back to 9105cd721d46. Yes, and I will revert the entire TM CLOSED TREE. I am sorry I ever pushed to it.” But 9105cd721d46 found favor with #jsapi. 2011-02-20 17:46:35 -08:00
Andreas Gal
faec8b99c2 When idle the GC holds on to unused chunks indefinitely (bug 631733, r=brendan, a=blocker). 2011-02-19 22:59:49 -08:00
Jeff Walden
7ce51759aa Backed out changeset 4d86e63ff60d, diagnostic patch; back out 3da12edf735e, followup fix; back out bug 631135 completely, unexplained intermittent orange.
--HG--
extra : rebase_source : e2e56a78bc0eea0d6e005bc976c74b33d8c22281
2011-02-19 19:50:19 -08:00
Jeff Walden
e604ceddc7 Bug 631135 - Objects created by or on behalf of fast natives and property ops (getters or setters) are parented to the wrong proto and global. r=lw,jst,mrbkap,bz, a=jst 2011-02-08 17:20:06 -08:00
Jan de Mooij
f1c8050e59 Bug 633741 - Check result of defineProperty in js_InitFunctionAndObjectClasses. r=jwalden, a=dmandelin
--HG--
extra : rebase_source : 25e7e6dce22a5f5eb57a7954bcc39415050b5595
2011-02-17 14:17:24 -08:00
Igor Bukanov
e9f9fd9db6 Backed out changeset 510c42c0d472 - bug 633219 2011-02-17 19:39:05 +01:00
Igor Bukanov
8bc1ca45aa Bug 633219 - replacing per context resolving list with per-thread resolving list. r=lw 2011-02-15 13:57:54 +01:00
Brendan Eich
4906480245 Method read barrier requried when changing attributes but not value (634210, r=jorendorff). 2011-02-15 12:11:04 -08:00
Andreas Gal
5a206a522e Xray wrappers don't cache resolved native properties on the holder object (bug 633382, r=mrbkap/jst, a=blocker). 2011-02-15 19:00:55 -08:00
Andreas Gal
5d4e5b427f js_UnbrandAndClearSlots leaks, use JS_ClearScope and throw if compile-N-go scripts are run after JS_ClearScope (630072, r=brendan). 2011-02-13 20:55:33 -08:00
Luke Wagner
d4edb54e54 Bug 632358 - Only call resetCompartment() when safe to GC (r=waldo)
--HG--
extra : rebase_source : 77127374d754a5a39695bb3c7dac95275616a150
2011-02-11 16:13:08 -08: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
Bill McCloskey
40b74847a1 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-02-04 10:59:07 -08:00
Bill McCloskey
4d89be0bd8 Backed out bug 609104 (csets ac3ba38f20c0 and 7717cabaf20c) (orange) 2011-02-02 14:20:06 -08:00
Bill McCloskey
daa16e64bb Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00
Bill McCloskey
8e7e07dfaa Bug 623297 - Make JS_TRACE_MONITOR more robust by distinguishing callers (r=gal) 2011-02-01 10:18:06 -08:00
Bill McCloskey
3c8509742b Bug 623297 - Reduce usage of JS_TRACE_MONITOR in jstracer (r=gal) 2011-02-01 10:16:44 -08:00
Jeff Walden
13fb18a6fe Bug 619283 - Built-in JS methods must not box undefined or null into the global object when called, both to comply with ES5 and to prevent inadvertent global object exposure to secure JS variants. r=dmandelin
--HG--
extra : rebase_source : be6802a24bd58eb6339369e6803d3eb2fbbc07a5
2011-01-26 13:37:45 -08:00
Igor Bukanov
6d2d81f9db bug 629655 - avoid influencing the malloc GC counters when dumping the heap. r=anygregor 2011-01-28 23:25:05 +01:00
Chris Leary
6d0cc31d27 Back out changeset 7d82892cb8df. 2011-01-27 19:43:33 -08:00
Bill McCloskey
a4f9ab0da8 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00
Chris Leary
074bd0c596 Bug 595691, take 2: fix versioning across VM instances, remove _options. (r=luke,brendan,igor) 2011-01-27 02:54:58 -08:00
Chris Leary
1771b7c232 Backed out changeset b88172246b66 due to Win32 debug failures. 2011-01-25 04:11:47 -08:00
Chris Leary
b462e1fb98 Bug 595691: fix versioning across VM instances, remove _options. (r=luke,brendan,igor) 2011-01-25 02:33:27 -08:00
Jeff Walden
882117c5e3 Back out everything from the last several hours for turning into a disaster zone finally ending in total orange. r=return-to-sanity 2011-01-23 03:12:28 -08:00
Andreas Gal
0fc264ef3f Don't lose error condition in decompiler (bug 621988, r=brendan). 2011-01-22 23:30:30 -08:00
Andreas Gal
927855f788 Cache eval CSP check (bug 614137, r=mrbkap, a=dmandelin). 2011-01-22 14:28:37 -08:00
Andrew Paprocki
224681155f Add JS_NewDateObject, JS_NewDateObjectMsec, JS_ObjectIsDate to the JSAPI. Bug 625870, r=jorendorff, a=shaver. 2011-01-18 16:11:03 -06:00
Jason Orendorff
b12d9b4edc Backed out changeset 27bf86dbdb52 due to redness. 2011-01-18 12:49:36 -06:00
Andrew Paprocki
187630946a Add JS_NewDateObject, JS_NewDateObjectMsec, JS_ObjectIsDate to the JSAPI. r=jorendorff, a=shaver. 2011-01-18 12:29:35 -06:00
Nicholas Nethercote
ed55695802 Bug 624878 - Remove dangerous uses of vanilla (throw-on-failure) |operator new|. r=lw. 2011-01-17 19:44:10 -08:00
Gregor Wagner
bc39a65c18 Bug 625484 - rename defaultCompartment r=gal 2011-01-13 14:42:36 -08:00
Chris Leary
29a4e97a8f Bug 617935: Check string lengths using StringBuffer. (r=lw) 2011-01-12 15:28:58 -08:00
Jeff Walden
f46caec81b Bug 625191 - Root Bindings used in JS_CompileUCFunctionForPrincipals. rs=gwagner
--HG--
extra : rebase_source : af09c008781d39de0e756422e0ac56e5f88c71c6
2011-01-12 17:09:06 -06:00
Igor Bukanov
5a00058c07 Bug 619529 - avoid any exposure of XML's AttributeName and AnyName objects. r=brendan 2011-01-09 00:01:52 +01:00
Steve Fink
8470e15e9e Bug 624316 - Unwrap wrapped functions before returning them to JSD to see the contained script and name, r=gal, a=blocker
--HG--
extra : rebase_source : cd15aed41ace6f368ef5f149cd88f32c9dfd1aa5
2011-01-11 14:24:52 -08:00
Andreas Gal
108bc95880 Add API to enable/disable per-compartment GCs (bug 624229, r=shaver). 2011-01-09 22:57:21 -08:00
Gregor Wagner
cbc0a9cb10 Enable per-compartment garbage collection (bug 605662, r=gal). 2011-01-07 23:44:57 -08:00
Andreas Gal
6b5539dc39 Compartment mismatch with pending exception (bug 621845, r=lw,jorendorff). 2011-01-07 02:03:14 -08:00
Chris Leary
e2855fd450 Merge tracemonkey and mozilla-central. 2011-01-07 00:17:35 -08:00
Ben Turner
c926abf576 Bug 618484 - 'Allow ChromeWorkers access to XPCOM objects'. r=jst+jorendorff, a=blocking. 2011-01-06 22:21:30 -08:00
Robert Sayre
4af90e6de9 Backed out changeset d58e45442c87 2011-01-06 21:39:25 -05:00
Andreas Gal
9b4055e1f5 Compartment mismatch with pending exception (bug 621845, r=lw,jorendorff). 2011-01-06 15:15:00 -08:00
Chris Leary
5ada212069 Bug 587288: 0. Compartmentalize regexp allocator, remove ExecutablePool atomic refcounts. (r=gal) 2011-01-05 18:44:30 -08: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
Chris Leary
272d457a20 Merge mozilla-central to tracemonkey. 2010-12-29 19:25:04 -05:00
Ben Turner
8a02f568a0 Backing out worker changes, a=backout. 2010-12-21 16:44:49 -05:00
Ben Turner
d8739dcb8a Bug 618484 - 'Allow ChromeWorkers access to XPCOM objects'. r=jst, a=blocking. 2010-12-21 14:28:08 -05:00
Ben Turner
bb620ec2bf Bug 613083 - 'IndexedDB: Switch serialization format from JSON to structured clone bytestream'. r=sicking, a=blocking. 2010-12-21 11:02:04 -05:00
Paul Biggar
d5a5d3946f Bug 612292 - Rename array allocation functions (r=lw) 2010-12-13 16:22:59 -08:00
Igor Bukanov
034b3c6618 bug 618262 - Removal of JS_NewString. r=brendan 2010-12-10 12:50:50 +01:00
Jeff Walden
f432da735d Bug 614333 - Remove the empty-script singleton optimization: it is effectively disabled with the methodjit, and its use of a single const JSScript for everything (including across compartments) interferes with recording name bindings in scripts, in order to correctly implement strict mode eval. r=brendan
--HG--
extra : rebase_source : 38a7faedb4b090e844cc342c82b273c75ef763bb
2010-11-16 15:30:56 -08:00
Igor Bukanov
a18b8a8142 bug 617215 - eliminating JS_NewString usage in FF while fixing a leak there. r=bz 2010-12-09 11:22:15 +01:00
Nicholas Nethercote
fecf9a1832 Bug 588648 - Don't copy chars when scanning. r=brendan. 2010-12-07 15:22:52 -08:00
Jason Orendorff
5ad6740cda Fix warning: no return value in JS_IsInRequest if !JS_THREADSAFE. no bug, rs=bz. 2010-12-07 09:03:05 -06:00
Igor Bukanov
933918e6f4 Bug 614578 - Removal of nsAutoGCRoot. r=mrbkap 2010-11-26 15:11:14 +01:00
Igor Bukanov
3717953163 Bug 612150 - Eliminating JS_GetFunctionName. r=mrbkap 2010-11-24 17:56:43 +01:00
Blake Kaplan
6deeefba3d bug 601803 - Support adopting a node cross-compartment. r=gal/jst 2010-11-15 17:21:25 -08:00
Blake Kaplan
bd44733edc Backout due to bustage 2010-12-02 17:13:20 -08:00
Blake Kaplan
439ca83a7b bug 601803 - Support adopting a node cross-compartment. r=gal/jst 2010-11-15 17:21:25 -08:00
timeless@mozdev.org
9520a5b1a4 Bug 615068 obj is only used ifdef DEBUG in JS_NextProperty. r=jorendorff. 2010-11-30 10:16:21 -06:00