Terrence Cole
b5a88d9637
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
18cd6fbeaa
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
4bfcfc14d4
Bug 731151 - Avoid creating (and leaving around) an a.out during configure. r=khuey
2012-02-28 10:48:16 +01:00
Nicholas Nethercote
e93c8baf5c
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
6f18fbf7c7
Bug 728986: dump() writes to stdout instead of stderr. r=bent
2012-03-06 15:44:37 +11:00
David Mandelin
5e02d0630c
Bug 733260: remove typedef jsuint, r=luke
...
--HG--
extra : rebase_source : e8f576e1b5b189b47807c613c0cff79f5c8038e7
2012-03-05 18:43:45 -08:00
Andrew McCreight
7f86c54ec3
Bug 723971 - unmark gray for shapes. r=billm
2012-03-05 18:11:29 -08:00
Bobby Holley
ac1fbc4a6a
Bug 731845 - XPCWrappedNative::ReparentWrapperIfFound should handle preserved wrappers. r=mrbkap
2012-03-05 16:58:59 -08:00
Bobby Holley
ba4156b5cf
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
24197270eb
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
87d7f5f353
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
eb0a73527c
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
f43429b675
Bug 720580 - Introduce XPCWrappedNative::WrapNewGlobal. r=mrbkap
2012-03-05 15:22:45 -08:00
Bobby Holley
3523199f9a
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
4b0b1b7f62
Bug 720580 - Make the call to PostCreatePrototype optional. r=mrbkap
2012-03-05 15:22:44 -08:00
Bobby Holley
d5786b3e4f
Bug 720580 - Factor out the call to PostCreatePrototype into a helper method. r=mrbkap
2012-03-05 15:22:44 -08:00
Bobby Holley
221605656b
Bug 720580 - Accept an explicit native global during XPCWrappedNativeScope creation. r=mrbkap
2012-03-05 15:22:44 -08:00
Bobby Holley
fa19fcd55d
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
9146075c05
Bug 720580 - Make JSID class initialization happen on demand. r=mrbkap
2012-03-05 15:22:44 -08:00
Bobby Holley
1d80caf8a2
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
dd0c70edd5
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
5115bb9cb6
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
fe4872737f
Bug 720580 - Stop passing isGlobal everywhere and use the nsIXPCScriptable flags instead. r=mrbkap
2012-03-05 15:22:44 -08:00
Bobby Holley
ccb745bc93
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
2cb54e998b
Bug 720580 - Remove unnecessary aIID parameter from nsIXPConnect::InitClassesWithNewWrappedGlobal. r=mrbkap
2012-03-05 15:22:44 -08:00
Bobby Holley
f43e9eb936
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
c03737bfa1
Bug 720580 - Indicate free bits in nsIXPCScriptable.idl. r=mrbkap
2012-03-05 15:22:43 -08:00
Brian Hackett
2615a9267b
Don't use reference to freed contents of JIT script, bug 730806. r=dvander
2012-03-05 13:25:24 -08:00
Charles Chan
ccd935f93a
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
7a69f7d85d
Ensure 'for' loops have a leading JSOP_NOP, bug 732776. r=dvander.
2012-03-05 12:45:14 -08:00
Jeff Walden
b9cffc0641
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
610ce813e4
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
d27ab2302c
Backout afeafc02c1de, dfae37833c9b & f9f51c726fa7 (bug 729940 parts 1-3) for talos regressions
2012-03-05 15:22:28 +00:00
Justin Lebar
eabf2efeae
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
8f94cc1764
Back out bug 729940 (a108aee:d75775d) due to 32-bit red.
2012-03-04 14:20:34 -05:00
Justin Lebar
379c6ab88b
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
bce6f7e43f
Bug 732693 - Fix bytecode emitted for o.__proto__(). r=bhackett
2012-03-03 16:27:51 +01:00
Matheus Kerschbaum
89b7db65ac
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
b0b2dc3ff9
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
d159b501a3
Bug 730497 - preparatory parser sanity enhancements (r=jorendorff)
...
--HG--
extra : rebase_source : 4e89da8ce6b0f107fabd1944575c4c181283eeac
2012-02-27 16:36:04 -08:00
Luke Wagner
0229e94a42
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
8984e21021
Bug 732306: Remove typedef jsint, r=luke
...
--HG--
extra : rebase_source : 4d15a8514dbd698c114fa688461e533afab68ffa
2012-03-01 18:54:01 -08:00
aceman
a39be24188
Bug 368758 - Remove obsolete workaround pref editor.quotesPreformatted. r=ehsan
2012-03-02 17:23:01 -05:00
Jim Blandy
29a6548922
Bug 674171: Implement Debugger.Frame.prototype.onPop. r=jorendorff
2012-03-02 12:12:14 -08:00
Jim Blandy
5faf15629d
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
435129c819
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
2e872d2ec9
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
10dc7e74c9
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
52dc54f3e9
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
c1cb66d9c8
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