Commit Graph

18209 Commits

Author SHA1 Message Date
Mike Hommey
544b7a606d Bug 695711 - Always add -ffunction-sections and -fdata-sections when building with GCC, and port bug 670659 and bug 675867 to js/src. r=khuey
--HG--
rename : build/unix/check_debug_ranges.py => build/autoconf/check_debug_ranges.py
rename : build/unix/check_debug_ranges.py => js/src/build/autoconf/check_debug_ranges.py
2012-02-27 16:35:44 +01:00
David Mandelin
4b287e8788 Bug 733260 followup: use uint32_t for array and string lengths, r=luke
--HG--
extra : rebase_source : 1729b4b927fde0678872b9de62a7466381aa07c3
2012-03-06 15:52:55 -08:00
Bobby Holley
cdc3b32f77 Bug 731845 - XPCWrappedNative::ReparentWrapperIfFound should handle preserved wrappers. r=mrbkap 2012-03-05 16:58:59 -08:00
Gregory Szorc
9474ae8763 Bug 729098 - Part 1/2: Create xUnit XML results file when executing xpcshell tests; r=khuey 2012-03-06 15:03:34 -08:00
Bill McCloskey
5eebfa9576 Bug 731094 - Expose a testing function that permits only deterministic GCs (r=igor) 2012-03-06 11:39:31 -08:00
Bill McCloskey
8317610173 Bug 729369 - Expose the same set of SpiderMonkey testing APIs to debug shell and debug browser chrome (r=Waldo) 2012-03-06 11:38:44 -08:00
Terrence Cole
e0888901b5 Bug 733372 - Fix an infinite recursion in GC marking; r=billm
Since the private data is sometimes packed in strange ways into the underlying
structure, we cannot just pass a reference to it to the marker.  Instead, we
store the gotten value on the C stack, do marking and potentially update its
value there, then pass the updated privates location to the object using
setPrivate.  If the setPrivate function triggers write barriers that end up
marking, this can recurse.  For now we should simply not do this.

--HG--
extra : rebase_source : ce2607907cc66f8beaeab433e21ba302cbf1b34e
2012-03-06 11:30:25 -08:00
Matt Brubeck
2d824e1746 Back out 2fbc7d9ac670 (bug 731845) on suspicion of causing test_native_mouse_mac.xul timeouts 2012-03-06 11:05:37 -08:00
Mike Hommey
3dfdf56522 Bug 731151 - Avoid creating (and leaving around) an a.out during configure. r=khuey 2012-02-28 10:48:16 +01:00
Nicholas Nethercote
b9d2e7bc8e Bug 729403 (follow-up) - Use the right KIND for runtime/gc-marker, thus avoiding warnings about explicit mismatches. r=me.
--HG--
extra : rebase_source : 4625531f438d5e1e6a2e600134dee959a45e8204
2012-03-05 21:04:38 -08:00
Mark Hammond
460967a978 Bug 728986: dump() writes to stdout instead of stderr. r=bent 2012-03-06 15:44:37 +11:00
David Mandelin
77d336e566 Bug 733260: remove typedef jsuint, r=luke
--HG--
extra : rebase_source : e8f576e1b5b189b47807c613c0cff79f5c8038e7
2012-03-05 18:43:45 -08:00
Andrew McCreight
fa54e188c3 Bug 723971 - unmark gray for shapes. r=billm 2012-03-05 18:11:29 -08:00
Bobby Holley
2ac145bc8a Bug 731845 - XPCWrappedNative::ReparentWrapperIfFound should handle preserved wrappers. r=mrbkap 2012-03-05 16:58:59 -08:00
Bobby Holley
138146697b Bug 720580 - Assert that we have the global jsclass flag if and only if we're a global. r=mrbkap 2012-03-05 15:22:53 -08:00
Bobby Holley
d3345b4254 Bug 720580 - Assert against creating globals in xpc_NewSystemInheritingJSObject. r=mrbkap
With this patch, the only call to JS_NewGlobalObject in XPConnect happens in xpc_CreateGlobalObject. \o/
2012-03-05 15:22:45 -08:00
Bobby Holley
73485885f8 Bug 720580 - Do the last bit of wrapped global initialization once the dust has settled. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
e0a6e0b68d Bug 720580 - Kill temporary globals. r=mrbkap
This patch breaks the "every commit is a 100% correct tree" invariant a little bit, because constructors and prototypes for DOM globals are broken (PostCreatePrototype never gets called). This is fixed in the next patch. Doing it this way makes for a cleaner series of commits, and the browser still builds and runs fine.
2012-03-05 15:22:45 -08:00
Bobby Holley
06eb6e6126 Bug 720580 - Introduce XPCWrappedNative::WrapNewGlobal. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
df8c12c18b Bug 720580 - Call TraceDOMPrototypes via TraceXPCGlobal, and avoid the verification process for wrapped natives. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
8fbe582aea Bug 720580 - Make the call to PostCreatePrototype optional. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
ea2172967e Bug 720580 - Factor out the call to PostCreatePrototype into a helper method. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
9afaa4890f Bug 720580 - Accept an explicit native global during XPCWrappedNativeScope creation. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
8a333a7b50 Bug 720580 - Manually resolve |Object| on the global in XPCWrappedNativeScope::SetGlobal() to avoid calling into the XPConnect resolve hook too early. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
90f6c6474a Bug 720580 - Make JSID class initialization happen on demand. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
9c4024ecaa Bug 720580 - Modify the semantics of XPCWrappedNative::FinishCreate() so that it doesn't muck around with the refcounts of its inparam. r=mrbkap
The current semantics involve the caller transfering ownership of the input wrapper to FinishCreate(), which is complicated and error-prone. Now that we're using nsRefPtr at the callsites, we can get rid of it.
2012-03-05 15:22:44 -08:00
Bobby Holley
c1e81348b9 Bug 720580 - Use nsRefPtr instead of manual AddRef/Release in XPCWrappedNative::{GetNewOrUsed,Morph}. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
7f6929b9ff Bug 720580 - Move the AutoMarkingWrappedNativePtr in XPCWrappedNative::{GetNewOrUsed,Morph} closer to where we need it. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
15d04a0773 Bug 720580 - Stop passing isGlobal everywhere and use the nsIXPCScriptable flags instead. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
d3868262e8 Bug 720580 - Stop passing aExtraPtr to InitClassesWithNewWrapedGlobal. r=mrbkap
We only ever pass null here anyway, and this whole infrastructure is going away real soon now.
2012-03-05 15:22:44 -08:00
Bobby Holley
1a5208e617 Bug 720580 - Remove unnecessary aIID parameter from nsIXPConnect::InitClassesWithNewWrappedGlobal. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
a7519fcb64 Bug 720580 - Introduce a flag for global natives and assert that we have it. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
b1d50a8c93 Bug 720580 - Indicate free bits in nsIXPCScriptable.idl. r=mrbkap 2012-03-05 15:22:43 -08:00
Brian Hackett
fef4714ccf Don't use reference to freed contents of JIT script, bug 730806. r=dvander 2012-03-05 13:25:24 -08:00
Charles Chan
ae3662fc99 Bug 724736 - Move js::StringBuffer into js/src/vm/StringBuffer{-inl.h,.cpp}. r=jwalden
--HG--
extra : rebase_source : 69c3319801fbe80dbe0fc150680c9ffca2e519d9
2012-03-05 12:40:11 -08:00
Brian Hackett
5a694ed717 Ensure 'for' loops have a leading JSOP_NOP, bug 732776. r=dvander. 2012-03-05 12:45:14 -08:00
Jeff Walden
868086dce7 Bug 732669 - Box primitive values correctly when accessing properties of them. r=bhackett
--HG--
extra : rebase_source : c4c084557425e6d42b990ca22c10972fcc6697ce
2012-03-05 09:34:38 -08:00
Terrence Cole
191929071f Bug 728343 - Make unbarriered object marking interface indirect ; r=billm
This will allow us to move objects that are not wrapped in a HeapPtr.
2012-02-17 11:46:11 -08:00
Ed Morley
e63b667897 Backout afeafc02c1de, dfae37833c9b & f9f51c726fa7 (bug 729940 parts 1-3) for talos regressions 2012-03-05 15:22:28 +00:00
Justin Lebar
5b3d13a72b Bug 729940 - Part 2: Stop using crappy hash functions in the js engine. r=bhackett 2012-03-04 15:58:06 -05:00
Justin Lebar
2449f55f11 Back out bug 729940 (a108aee:d75775d) due to 32-bit red. 2012-03-04 14:20:34 -05:00
Justin Lebar
609b52cb35 Bug 729940 - Part 2: Stop using crappy hash functions in the js engine. r=bhackett 2012-03-04 13:49:41 -05:00
Jan de Mooij
3a4053f8e2 Bug 732693 - Fix bytecode emitted for o.__proto__(). r=bhackett 2012-03-03 16:27:51 +01:00
Matheus Kerschbaum
51254c73d0 Bug 687579 part 1: Remove globalStorage implementation. r=jst
Bug 687579 part 1: Remove globalStorage implementation. r=jst
2011-10-09 22:14:00 -04:00
Jeff Walden
b3f78d2c65 Silence a (newly introduced in) clang warning about adding an int to a string. No bug, r=trivial 2012-03-02 19:59:11 -08:00
Luke Wagner
6221ca4d35 Bug 730497 - preparatory parser sanity enhancements (r=jorendorff)
--HG--
extra : rebase_source : 4e89da8ce6b0f107fabd1944575c4c181283eeac
2012-02-27 16:36:04 -08:00
Luke Wagner
43d886c89e Bug 731724 - don't forget about function::arguments! (r=waldo)
--HG--
extra : rebase_source : e782e9f06b17a7ac5c46f990092c94595b1a92cd
2012-03-02 09:32:04 -08:00
David Mandelin
5606b83eed Bug 732306: Remove typedef jsint, r=luke
--HG--
extra : rebase_source : 4d15a8514dbd698c114fa688461e533afab68ffa
2012-03-01 18:54:01 -08:00
aceman
6c002f28d6 Bug 368758 - Remove obsolete workaround pref editor.quotesPreformatted. r=ehsan 2012-03-02 17:23:01 -05:00
Jim Blandy
06d97d28e8 Bug 674171: Implement Debugger.Frame.prototype.onPop. r=jorendorff 2012-03-02 12:12:14 -08:00
Jim Blandy
1529189f09 Bug 674171: Separate the construction of a completion value from the debuggee->debugger compartment transition. r=jorendorff
In class Debugger, split newCompletionValue into:
- resultToCompletion, which takes a standard SpiderMonkey (success, value,
  context's exception) triple and produces the corresponding
  (JSTrapStatus, value) pair; and
- newCompletionValue, which takes a (JSTrapStatus, value) pair and produces
  a JavaScript completion value.

Define receiveCompletionValue to do exactly what newCompletionValue used to
do: the above two operations, with a compartment 'leave' in the middle.
Substitute receiveCompletionValue where newCompletionValue is used now.
2012-03-02 12:12:14 -08:00
Jim Blandy
ef074ec9f3 Bug 674171: Make the JavaScript shell's 'evaluate' function to return a value. r=jorendorff
This simplifies writing tests, since one can use common structure around
uses of both 'eval' (which produces "eval" frames) and 'evaluate' (which
produces "global" frames).
2012-03-02 12:12:14 -08:00
Jim Blandy
6e9fd83118 Bug 674171: Define Debugger::FrameRange, for iterating over the Debugger.Frame instances referring to a given StackFrame. r=jorendorff 2012-03-02 12:12:14 -08:00
Jim Blandy
ef77be4778 Bug 674171: Delete hasDebugModeCodeToDrop, it is scratched^Wunused. r=jorendorff
I had a hard time writing a test case for this, so I gave up.
2012-03-02 12:12:13 -08:00
Peter Van der Beken
df30816ccc Fix for bug 732175 (Generate DOM list bindings that aren't controlled by the dom.new_bindings pref and remove old bindings for NodeList/HTMLCollection/HTMLOptionsCollection). r=jst.
--HG--
extra : rebase_source : 2eeeec059fe3467769ebcc5af01c8d472c2afbb6
2012-02-27 18:02:47 +01:00
Peter Van der Beken
615a5bd90d Fix for bug 717013 (Add new DOM binding for DOMTokenList). r=jst.
--HG--
extra : rebase_source : 6ae0abe3bbe33a140c62c193685e23529d44e6d4
2011-08-22 11:14:13 +02:00
Brian Hackett
85346e0340 Backout consolidation of pending arrays for switch targets, bug 730888. r=dvander 2012-03-01 17:48:32 -08:00
David Mandelin
620151a403 Bug 731898: Remove typedef jsrefcount, r=luke
--HG--
extra : rebase_source : 1e0c99c44a8d6d2807a647273b1d07691f8c983e
2012-03-01 11:43:17 -08:00
Jason Orendorff
7cc5b787c1 Add CallArgs::hasDefined convenience method. Bug 730676, r=luke.
--HG--
extra : rebase_source : 12e51485479c86a518300de28fe125e692dea4c6
2012-03-01 12:48:52 -06:00
Jason Orendorff
bb1b25e0ad Add static assertions as requested in bug 726298 comment 2 and 4.
--HG--
extra : rebase_source : 3edf2446076dae08c16b121de18505174c84f370
2012-03-01 12:48:47 -06:00
Ehsan Akhgari
9fc675a3c3 Bug 732162 - Build mobile profiling builds with -funwind-tables; r=khuey
--HG--
extra : transplant_source : 4O%F7%BA%94%0Fh%F6%5E%EA%10%E1%08%9E%D9S%A2XEd
2012-03-01 16:24:04 -05:00
Jim Blandy
f6127390e7 Bug 721642: Remove function proxy support from proxy_TraceObject. r=jorendorff
Function proxies will always call proxy_TraceFunction, which handles the
'call' and 'construct' slots.

This patch also moves the call to proxy_TraceObject from proxy_TraceFunction into
a tail position, so it could be compiled as a jump.
2012-03-01 12:59:24 -08:00
Marco Bonardo
f2e030c61b Backout 51bff179fa81 (bug 731898) for Android bustage 2012-03-01 21:57:14 +01:00
Bill McCloskey
df7308abde Bug 732087 - Change argc to nvars (r=luke) 2012-03-01 11:58:00 -08:00
David Mandelin
5c3e02ec67 Bug 731898: Remove typedef jsrefcount, r=luke 2012-03-01 11:43:17 -08:00
Bill McCloskey
8273a70134 Bug 731783 - Eliminate per-compartment barrier marker (r=igor) 2012-03-01 10:39:13 -08:00
Kai Engert
252380b29d Bug 728719, NSSUTIL_GetVersion, undefined reference during linking, r=glandium 2012-03-01 17:29:34 +01:00
Jason Orendorff
ee8650cf6e Make Map and Set constructors take a single iterable argument. Bug 726223, r=luke.
--HG--
rename : js/src/jit-test/tests/collections/Map-size-1.js => js/src/jit-test/tests/collections/Map-constructor-1.js
rename : js/src/jit-test/tests/collections/Map-size-2.js => js/src/jit-test/tests/collections/Map-size.js
rename : js/src/jit-test/tests/collections/Set-size-1.js => js/src/jit-test/tests/collections/Set-constructor-1.js
rename : js/src/jit-test/tests/collections/Set-size-2.js => js/src/jit-test/tests/collections/Set-size.js
2012-03-01 09:01:46 -06:00
Jason Orendorff
4d5d656510 Add Map.prototype.size and Set.prototype.size. Bug 726298, r=luke. 2012-03-01 09:01:45 -06:00
Jason Orendorff
33370f823d Add tests for some ancient watchpoint bugs (zombie setters!) and remove a senile line of code from obj_watch. Bug 604781, r=jimb. 2012-03-01 09:01:45 -06:00
Jason Orendorff
d7658cd226 Fix totally wrong OOM handling in MapObject.cpp. Bug 726218, r=luke. 2012-03-01 09:01:45 -06:00
Jason Orendorff
270528dd84 Fix "Assertion failure: isDenseArray() && idx < getDenseArrayInitializedLength(), at ../jsobjinlines.h:558" with for-of, Array, trailing holes. Bug 726212, r=Waldo. 2012-03-01 09:01:45 -06:00
Jason Orendorff
959ae996b6 Element iterators should use [[Get]] and not peculiarly ignore the prototype chain. Bug 725168, r=Waldo. 2012-03-01 09:01:45 -06:00
Jason Orendorff
2642e75e1e Reflect.parse("[,,,]") should make an ArrayExpression with .elements.length 3. Bug 630232, r=dherman. 2012-03-01 09:01:45 -06:00
Jason Orendorff
d52fe19668 Fix hilarious bug in js_malloc: it fails once every 2^32 allocations in DEBUG builds. Bug 730270, r=luke. 2012-03-01 09:01:45 -06:00
Igor Bukanov
212769b040 bug 723286 - remove JSContext * parameter from heap-traversal and related API. r=:billm 2012-02-29 21:23:38 +01:00
Steve Fink
440b7e4be9 Bug 730144 - Label objects with their mark colors when dumping the heap
--HG--
extra : rebase_source : 8bb1243f66610bde734a4f9063446a1b02bc0b68
2012-02-23 18:47:59 -08:00
Steve Fink
10453f7f06 Bug 719294 - Eliminate the bytecode space optimization where it omits the starting line number. r=luke
As per this comment:

/*
 * Special case: function definition needs no line number note because
 * the function's script contains its starting line number.
 */

But this is the only reason why you need a JSContext in js_PCToLineNumber, and I have a user that needs to do the lookup without a context.

--HG--
extra : rebase_source : 0807e755d5d7c1ecd6837ca4f6b8d4cc53e3f0b2
2011-06-06 14:11:08 -07:00
Bobby Holley
657226484b Bug 731471 - Don't reparent wrappers that don't want to move. r=peterv 2012-02-29 21:21:57 -08:00
Justin Lebar
62dbeeb1ab Bug 731789 - Rename mfbt/StdInt.h to mfbt/StandardInteger.h, so stdint types work from cpp files inside mfbt. r=waldo 2012-02-29 22:56:43 -05:00
David Mandelin
d385e9a7d7 Bug 731492: Remove obsolete typedef JSPackedBool, r=luke
--HG--
extra : rebase_source : 95423985f55547755a988ba19629678997bfa553
2012-02-28 19:03:57 -08:00
Matt Brubeck
b2985cd260 Back out 2778f515ed5a (bug 723286) on suspicion of causing OSX64 crashes 2012-02-29 16:18:22 -08:00
Jeff Walden
9ab7770713 Warning patrol. No bug, r=themaid
--HG--
extra : rebase_source : b7e56f8e95e76c35089ff48a26fb60f9a4708995
2012-02-28 18:08:04 -08:00
Igor Bukanov
d93ff2cec2 Bug 731618 - remove JSContext * parameter from heap iteration API. r=:Billm 2012-02-29 21:23:53 +01:00
Steve Fink
f84e5eb138 Bug 731450 - jstests.py needs to import subprocess.call. r=dmandelin
--HG--
extra : rebase_source : 307566ad1ad837dcd355440f378b755db3ae6afc
2012-02-28 17:15:26 -08:00
Steve Fink
b293326077 Bug 730144 - Label objects with their mark colors when dumping the heap. r=mccr8
--HG--
extra : rebase_source : 0eb7c558ec255cb26784522137a8b80746cbe140
2012-02-23 18:47:59 -08:00
Igor Bukanov
2e914758d0 bug 723286 - remove JSContext * parameter from heap-traversal and related API. r=:billm 2012-02-29 21:23:38 +01:00
Bill McCloskey
93c58d3937 Bug 731052 - Clean up incremental resets (r=igor) 2012-02-29 10:28:30 -08:00
Irving Reid
f62ddb349e Bug 731316: override warning about unsupported compiler warning flag on clang. r=respindola. 2012-02-29 10:20:42 -05:00
Rafael Ávila de Espíndola
5d8985e2ba Bug 731503 - fix typo. r=bustage. 2012-02-29 08:16:32 -05:00
Rafael Ávila de Espíndola
fcbba2ae84 Bug 731503 - workaround llvm.org/pr12127. r=dvander. 2012-02-29 08:04:26 -05:00
Igor Bukanov
9174f0c095 bug 730281 - remove cx argument from GC and compartment related functions. r=:billm 2012-02-29 13:18:16 +01:00
Phil Ringnalda
14ef276917 Back out 4537403fb911 (bug 731450), c9e48c19363a (bug 719294), 682dd844587b (bug 730144) for flambe 2012-02-28 19:07:40 -08:00
David Mandelin
838cb3c65a Bug 730523: remove jscompat.h, r=luke 2012-02-28 18:17:11 -08:00
Steve Fink
121049ce09 Bug 731450 - jstests.py needs to import subprocess.call. r=dmandelin
--HG--
extra : rebase_source : b80c2698e84b9744dbc7faeb2ce5654479f7b6d4
2012-02-28 17:15:26 -08:00
Steve Fink
1be7cb6acd Bug 719294 - Eliminate the bytecode space optimization where it omits the starting line number. r=luke
As per this comment:

/*
 * Special case: function definition needs no line number note because
 * the function's script contains its starting line number.
 */

But this is the only reason why you need a JSContext in js_PCToLineNumber, and I have a user that needs to do the lookup without a context.

--HG--
extra : rebase_source : 73064dbbbf31949d19c8f1e1b18eb4febf127c87
2011-06-06 14:11:08 -07:00
Steve Fink
fca4458cd8 Bug 730144 - Label objects with their mark colors when dumping the heap. r=mccr8
--HG--
extra : rebase_source : 14b88d188875dd2f1fe90b9e16af77ef81018fde
2012-02-23 18:47:59 -08:00
David Mandelin
60e80d55b6 Bug 730511: remove obsolete typedefs intN, uintN, r=luke 2012-02-28 15:11:11 -08:00
Nathan Froyd
fe59904f37 Bug 731248 - Remove duplicate headers in js/src. r=luke 2012-02-28 12:01:52 -05:00
Luke Wagner
9a5b28542d Bug 731181 - Handle GC during RegExpShared::compile (r=billm)
--HG--
extra : rebase_source : bfc5af40e73cd5be1dce0fe2198175ae19e77998
2012-02-28 15:36:19 -08:00