Commit Graph

18500 Commits

Author SHA1 Message Date
Ed Morley
651aa424a1 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-31 22:41:59 +01:00
Olli Pettay
f198500ad9 Bug 641821, MutationObserver, r=sicking
--HG--
extra : rebase_source : a680c883b22976edf38eea23fb516215e081084f
2012-03-31 09:30:13 -07:00
Ed Morley
52040c2148 Backout 82c315c0bd14 (bug 644608) for suspected SHARED_LIBRARY_LIBS_DEPS issues on a CLOSED TREE 2012-03-31 13:18:29 +01:00
Mike Hommey
82633948f4 Bug 644608 - Implement full dependencies for expandlibs. r=ted 2012-03-31 09:24:39 +02:00
Peter Van der Beken
09128a75d3 Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00
Terrence Cole
519515c457 Backout 00f2e1e9adc2 after mq malfunction. 2012-03-29 17:52:45 -07:00
Terrence Cole
315c82925b Bug 738868 - Switch JSObject2JSObjectMap to new HashTable; r=mrbkap 2012-03-27 09:55:55 -07:00
Peter Van der Beken
8944dee246 Fix for bug 740064 (Refactor XrayWrapper). r=bholley.
--HG--
extra : rebase_source : 60559d74b10761a794d83a0a63dc60a92b2d48eb
2012-03-27 16:31:37 -07:00
Nicholas Nethercote
0180fca1d0 Bug 739512 - Patch 2: space-optimize representation of closedArgs and closedVars. r=dvander.
--HG--
extra : rebase_source : 8738fae7581265ba464899c9a7b6c53c118740b8
2012-03-25 17:07:33 -07:00
Terrence Cole
12ae3214a2 Bug 549683 - Remove final JSDHashTable users from SpiderMonkey; r=?
This does not build jsdhash.cpp for SpiderMonkey, but does keep it in tree for
the remaining users in xpconnect.

--HG--
extra : rebase_source : 5780e1e024a247d619a548541ad84cbeeba6c75b
2012-03-23 16:00:01 -07:00
Bobby Holley
dbae036f37 Bug 740469 - JSNative->JSFunction fixup should happen in DefinePropertyById, not DefineProperty. r=luke 2012-03-29 13:34:36 -07:00
Dão Gottwald
4356f0181f Backed out changeset 6cb9adc02c12 2012-03-29 20:35:49 +02:00
Masatoshi Kimura
0b90477166 Bug 739659 - Try duck typing in js_ReportUncaughtException. r=luke 2012-03-29 19:49:21 +02:00
Doug Turner
71e90e76a3 Bug 739760 - doubles and floats can't be used in dictionaries. r=khuey 2012-03-29 00:05:44 -07:00
Luke Wagner
ad32da72b6 Bug 733793 - Check for null return from JS_ObjectToOuterObject (r=bholley)
--HG--
extra : rebase_source : 2b7fbb3a72f641785de7f7707e9b6e8013b4eb6d
2012-03-28 16:15:38 -07:00
Andrew McCreight
d986e69874 Bug 738700 - unmark wrapped gray objects from nsISupports. r=smaug 2012-03-28 21:51:46 -07:00
Andrew McCreight
241631d5df Bug 712735 - Don't add JS holders with no gray children as XPConnect roots. r=smaug 2012-03-28 21:23:01 -07:00
Nicholas Nethercote
8b3be8fd77 Bug 739512 - Patch 1: remove JSScript::cookie[12] and reorder JSScript members. r=wccloskey.
--HG--
extra : rebase_source : 825a78faae71c837fca3a3b9c9bee3a1d1ba85ab
2012-03-22 18:26:34 -07:00
Jim Blandy
521934169d Bug 740542: Implement Debugger.prototype.wrap. r=jorendorff 2012-03-31 23:26:37 -07:00
Boris Zbarsky
37e48ddb07 Bug 739541. Add faster versions of JS_ValueToNumber and JS_ValueToECMAInt32. r=dmandelin 2012-03-28 16:35:21 -07:00
Ben Turner
f31a50f7f7 Bug 737911 - 'Shrink bits for CACHED_PROTO_KEYs and add two new JSClass flags for the new DOM bindings'. r=lukew. 2012-03-28 14:50:31 -07:00
Luke Wagner
dc68df2e67 Fix warnings in js/src (no bug, r=me) 2012-03-28 09:11:54 -07:00
Luke Wagner
5a664afd4c Bug 739520 - rm JSOP_SETLOCALPOP (r=bhackett)
--HG--
extra : rebase_source : d81a637b6b8ba873a78ea6971b3ef5010a0823a3
2012-03-26 22:29:55 -07:00
Luke Wagner
57eb0b35a5 Bug 736742 - Fix decompiler precedence for destructuring assignment with comma-expression (r=jorendorff)
--HG--
extra : rebase_source : d38dc6e2eec3a90e5bf1d86862da4734d374e6e2
2012-03-27 14:48:10 -07:00
Luke Wagner
910899696e Bug 739685 - rm useless makeAtom calls in BindNameToSlot (r=dvander)
--HG--
extra : rebase_source : 9c057d2e9a07738cdc2b6530c3d5aae79f6cb095
2012-03-26 22:33:28 -07:00
Luke Wagner
62386de346 Bug 739532 - don't malloc BytecodeEmitter (r=jorendorff)
--HG--
extra : rebase_source : e831aeba4813e6a7eea7c0dedf9b3946525518ce
2012-03-23 11:29:30 -07:00
Jared Wein
642a4f48c0 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-28 08:53:56 -07:00
Phil Ringnalda
8d8cf286e2 Merge m-c to m-i 2012-03-27 21:21:11 -07:00
Tim Taubert
04ee0113a8 merge m-c to fx-team 2012-03-28 00:33:42 +02:00
Robert Strong
ec6279523d Bug 491947 - Disable DDE shell integration. r=jmathies 2012-03-26 12:45:29 -07:00
Ed Morley
9bbadf613d Merge mozilla-central and mozilla-inbound 2012-03-25 11:39:22 +01:00
David Mandelin
905c0f1adb Bug 739808: Remove method cloning optimization and method barrier, r=luke
--HG--
extra : rebase_source : d383c3704c3efd08f9fbf1324433a94fc4a8dbb8
2012-03-23 17:59:56 -07:00
Jeff Walden
728b59a986 Bug 736591 - Check for exceeding the operation limit when iteratively matching a global regexp against a string. r=luke
--HG--
extra : rebase_source : 2a24b4a15909cfd2c04347b60131175fe77e83fe
2012-03-27 12:13:13 -07:00
Andreas Gal
d323bd4ae2 Build changes to support gonk-ics (bug 737167, r=cjones, patch by mwu). 2012-03-25 03:13:35 +02:00
Ed Morley
d17518487f Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-24 16:05:07 +00:00
Jared Wein
e34baf2131 Backed out changeset 8e42ba558f07 (bug 730318) CLOSED TREE 2012-03-27 15:23:53 -07:00
Bill McCloskey
e792f2501f Bug 739694 - Fix script filename saving in exception traces (r=luke) 2012-03-27 14:41:50 -07:00
Bill McCloskey
aa4cb7443f Bug 703474 - Fix memory leak in GC write barrier verifier (r=igor) 2012-03-23 17:18:09 -07:00
Bill McCloskey
7fb7c9d680 Bug 737573 - Fix leak in SaveScriptFilename (r=igor) 2012-03-23 17:11:51 -07:00
Bobby Holley
2672787670 Bug 733984 - Explicitly disallow shadowing on location wrappers. r=mrbkap
This was taken care of in other ways before, but we need to be more explicit about it now that we're doing more Xray stuff with Location wrappers.
2012-03-23 15:58:18 -07:00
Bobby Holley
db60d031a5 Bug 667388 - Handle wrappers during structured clone. r=mrbkap
We also remove the declared-but-never-implemented JSObject::getWrapperHandler.
2012-03-23 14:59:27 -07:00
Bobby Holley
9146523a9f Bug 667388 - Introduce the PUNCTURE wrapper action. r=mrbkap 2012-03-23 14:59:27 -07:00
Bobby Holley
57296aa50b Bug 667388 - Make the chrome-to-content Xray wrapper derive CrossCompartmentWrapper. r=mrbkap
The current situation seems incorrect, especially given the behavior of CrossOriginWrapper and XrayProxy. Currently it doesn't matter, but it probably will in the future.
2012-03-23 14:59:27 -07:00
Bobby Holley
041837d99f Bug 733984 - Apply Location wrappers for same-origin cross-compartment wrapping. r=mrbkap
This isn't an issue right now, since it can't ever happen outside of sandboxes, which content can't use. But if it could, it could get a pure CrossCompartmentWrapper to a Location object, which is bad.
2012-03-23 14:59:23 -07:00
Bobby Holley
011c97a205 Bug 733984 - Use the Location security policy even for content accessing chrome. r=mrbkap
I'm adding asserts about when we do and don't have a Location object behind the wrapper, and this case was hitting them. What we do here doesn't so much matter given how this stuff all works. On the one hand, statically using a restrictive policy is slightly more defense-in-depth. On the other hand, if this stuff is broken we're screwed in much more serious ways than content reading chrome locations, and using a consistent wrapper scheme allows us to make stronger asserts and assumptions.

I opted for stronger assumptions and more understandable security code. If Blake feels strongly though, I could go the other way and sprinkle '|| isChrome(obj)' throughout the asserts though.
2012-03-23 14:59:19 -07:00
Bobby Holley
a44b6d76ac Bug 733984 - Clarify the security characteristics of Location objects. r=mrbkap
I was getting confused by some of the naming and lack of comments here.
2012-03-23 14:59:07 -07:00
Bobby Holley
4d5b2ef225 Bug 733984 - Stop specializing createHolder, and simplify holder creation in WrapperFactory::Rewrap. r=mrbkap 2012-03-23 14:59:04 -07:00
Ginn Chen
8df6eccad7 Bug 737344 make the jsval_layout field in JS::Value public on SPARC for binary compatibility across C and C++ r=luke 2012-03-27 10:51:49 +08:00
Bill McCloskey
d856a02082 Bug 737997 - Ensure we never do compartment GCs if preference is unset (r=igor) 2012-03-26 16:29:08 -07:00
Gregor Wagner
746c6fda8d Bug 678695 - Settings API. r=sicking, fabrice, smaug 2012-03-26 14:49:38 -07:00
Jeff Walden
f71904b894 Bug 738075 - Remove the unnecessary Class* argument from GlobalObject::createConstructor. r=dmandelin 2012-03-21 13:32:43 -07:00
Jared Wein
30d9fd445e Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:11:31 -07:00
Mike Hommey
916407a772 Bug 734050 - Build stlport as part of our build process. r=ted 2012-03-23 17:35:09 +01:00
Makoto Kato
50d65689bb Bug 684138 - Remove unused GARBAGE from configure.in. r=khuey 2012-03-23 14:45:51 +09:00
Nicholas Nethercote
78439dc8b2 Bug 738153 - Remove JSScript::inlineData. r=luke.
--HG--
extra : rebase_source : f003203fbe0219735655d334192fca14cc434736
2012-03-21 23:05:23 -07:00
Jared Wein
589f9135f9 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-22 13:53:59 -07:00
Mike Hommey
6c75c64ae7 Bug 736959 - Don't wrap PR_Malloc and other NSPR allocation functions. r=khuey 2012-03-22 08:01:27 +01:00
Nicholas Nethercote
616b0f275a merge 2012-03-21 21:48:40 -07:00
Nicholas Nethercote
256772d52e Backed out changeset 0124795a8cbb (bug 711895) due to i10n build bustage. r=me. 2012-03-21 21:46:27 -07:00
Pranav Ravichandran
75b8ad96ec Bug 535594 - Fix/Clean-up 'security.enable_java' preference references. r=bsmedberg 2012-03-21 19:52:23 -04:00
Peter Van der Beken
4c5904d14e Bug 738593 - Rename IsProxy to IsDOMBinding; r=mrbkap 2012-03-16 16:44:09 +01:00
Ms2ger
1b0103ba21 Bug 736619 - remove the unused struct ClearedGlobalObject from XPCJSRuntime; r=bholley 2012-03-24 09:18:22 +01:00
Jared Wein
4920fd9f8d Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:46:12 -07:00
Nicholas Nethercote
1859bc3ea6 Bug 711895 - Tweak the warning options used for GCC builds (2nd attempt). r=waldo,derf,khuey,mhommey,jwatt. 2012-03-15 19:40:00 -07:00
David Mandelin
6ab5b174aa Bug 726794: clean up some WTF Platform.h macros, r=dvander
--HG--
extra : rebase_source : 1969660fdeda9c426c9e37a68fc067786ef79d58
2012-03-16 17:02:52 -07:00
Bill McCloskey
8a370df06f Bug 736643 - Add timestamp support to GC/CC JSON output (r=terrence) 2012-03-16 16:36:26 -07:00
Jim Blandy
00ec77b58e Bug 734454: Use a table to declare atoms. r=waldo 2012-03-16 16:15:31 -07:00
Jim Blandy
f0861f366e Bug 734454: Minor cleanups to atom declarations and definitions, in preparation for conversion to a table. r=waldo 2012-03-16 16:15:31 -07:00
Jeff Walden
62474517e5 Bug 738075 - Remove JSFunction::u::n::clasp, and change associated code accordingly. r=dmandelin 2012-03-12 16:16:40 -07:00
Jeff Walden
06e1d63c36 Bug 738072 - Slot numbers are uint32_t, so use uint32_t rather than unsigned for slot numbers, slot counts, and so on. r=dmandelin
--HG--
extra : rebase_source : f67146dbd510e1e94b1298344d8335c35350b7c8
2012-03-22 11:50:49 -07:00
Jeff Walden
ff4b24bb54 Bug 728411 - Move private data bits from JSObject to ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 69aa2fae9e9a3a43496329ed939468214ee7c9d1
2012-03-21 13:32:55 -07:00
Bill McCloskey
91a79500fe Bug 737384 - Use reserve rather than resize for iterator wrapping (r=luke) 2012-03-26 11:06:49 -07:00
Andrew McCreight
742f5949dc Bug 708825 - set mIdentity to null if compartment enter fails. r=bholley 2012-03-09 18:41:13 -08:00
Doug Turner
a6b9a548ae Backout of fd4b5485c24f (Bug 704147) 2012-04-04 14:31:09 -07:00
Jeff Walden
6d2861cf63 Windows build bustage fix -- looks like Windows doesn't recognize nested method definitions with const, implicitly namespace-nested argument types (?). No bug, r=red, all hail MSVC 2012-03-21 14:55:12 -07:00
Jeff Walden
11cec064bd Warning patrol. No bug, r=themaid
--HG--
extra : rebase_source : 49934cb03e1cde5ea44bda525d2502227117aa2a
2012-03-21 14:12:51 -07:00
Jeff Walden
64398b2a15 Bug 728411 - Move a couple more slot methods over to ObjectImpl. r=bhackett
--HG--
extra : rebase_source : e9e872a9557d87cb545c1c209a946a6b87d85e4d
2012-02-24 20:01:05 -08:00
Jeff Walden
00596da6c2 Bug 728411 - Move checkShapeConsistency into ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 92525ff32e1d27c335eb0d2c73a8b54b0d5b8a54
2012-02-23 15:45:01 -08:00
Jeff Walden
5451b477d4 Bug 728411 - Move most other slot-access methods into ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 34a66226584835cdedc5958d0475606de972180a
2012-02-23 15:39:35 -08:00
Jeff Walden
8fe8c16233 Bug 728411 - Move slot range operations into ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 704d67267923e019df82de7f77f60b48c6c62128
2012-02-23 15:39:32 -08:00
Jeff Walden
48e59df2bd Bug 737996 - Remove some essentially-obsolete configuration options from jsversion.h. r=luke
--HG--
extra : rebase_source : 4b54a0ab0a6fcdb15ee671ee8c1b460d4b4f4180
2012-03-21 12:23:07 -07:00
Terrence Cole
a592913d0e Bug 735761 - Fix a cosmetic error in the test suite; r=dmandelin
This patch pushes our null results for non-run tests before running other tests
so that when we do not try to update the progress bar after we finish running.

--HG--
extra : rebase_source : 02e53cddcab4c5898ef2636f78c806509ae33dcf
2012-03-21 11:49:01 -07:00
Igor Bukanov
b2f0cd3a2f bug 730221 - followup to bump XDR version number as the previously landed changeset made incompatible changes to xdr format. r=bugzilla_comment 2012-03-21 19:14:42 +01:00
Hessam Salehi
7d69570885 Bug 474505 - Replace uses of nsVoidPtrHashkey with nsPtrHashKey<T>; r=bsmedberg 2012-03-21 14:07:31 -04:00
Luke Wagner
792d416eee Bug 737388 - Put back piece of prologue accidentally removed earlier (r=bhackett) 2012-03-21 01:51:11 -07:00
Brian Hackett
1b9f03e039 Use singleton types for global object initializers, bug 731398. r=dvander 2012-03-21 07:37:43 -06:00
Brian Hackett
791a99843d Update type sets persistently for arithmetic on objects, bug 733979. r=billm 2012-03-21 06:32:18 -06:00
Luke Wagner
c76d3c7c21 Bug 736555 - don't use magic values to implement deleted args (r=bhackett)
--HG--
extra : rebase_source : f4e3f63512acb2ff8ee874de2d718bd7877932d6
2012-03-14 17:19:17 -07:00
Luke Wagner
7b7d34d1b2 Bug 737575 - fix arguments['integer'] (r=dvander)
--HG--
extra : rebase_source : 5cb580a47187f2a88a98efc3fa8a88ee4c8bc551
2012-03-20 17:21:58 -07:00
Terrence Cole
7c61b7fb78 Bug 737221 - Add a missing pre barrier on jsid strings; r=billm
--HG--
extra : rebase_source : 970b91446c7703966aa6f397ac40d8d9d486f796
2012-03-20 16:03:50 -07:00
Steve Fink
9be8331544 Fix --enable-dtrace build failure from bug 737195. r=npotb, DONTBUILD 2012-03-20 12:48:43 -07:00
Terrence Cole
0cf4763bf0 Bug 737195 - Add barriers to JSFunction::atom; r=billm
This is only ever initialized, so it needs generational barriers, but not
incremental barriers.
2012-03-19 17:24:05 -07:00
Terrence Cole
11e1e09111 Bug 740673 - Simplify the C++ WeakMap implementation; r=jimb
It exposes way more configurability than we use at the moment.
2012-03-29 17:35:46 -07:00
Terrence Cole
9eae5154cd Bug 740153 - Don't expose Entry directly through HashMap; r=luke
HashMap and HashSet only expose Entries through Ptr and Range, except for one
variant of put. They also don't expose the default size they use if you call
init() without an argument. These weirdnesses seem to be interface carried over
from the old jsdhash.

The first oddness is unused and can be removed, the second should simply get
exposed to make it easier to wrap HashMap and HashSet.

--HG--
extra : rebase_source : e1432a9af189229f379158ba0529956ddbf5f234
2012-03-30 11:01:58 -07:00
Luke Wagner
f1fbba550a Bug 740654 - Hoist recursion checks out of Interpret into callers so that Interpret does not throw when trying to rejoin from mjit (r=bhackett)
--HG--
extra : rebase_source : f85c12860d9172e5167e5952352b02d367e53057
2012-04-02 08:57:27 -07:00
Justin Lebar
007d8115b5 Bug 738624 - Add ghost windows to about:compartments. r=njn
--HG--
extra : rebase_source : a486e644351af72a4276f26de2e4588ee851426f
2012-04-02 10:37:04 -04:00
Bobby Holley
e3ef16972d Bug 738874 - Don't allow non-classinfo XPCWNs to be wrapped cross-compartment. r=mrbkap 2012-03-25 22:35:50 -07:00
Makoto Kato
6736ffe11b Bug 716333 - get rid of WithConversion (xpconnect part). r=bholley 2012-03-26 14:12:15 +09:00
Igor Bukanov
77f4a42ed3 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
extra : rebase_source : f8f1536a86b7c3fe7296a16b6677bd21664af98a
2012-02-20 11:58:00 +01:00
Matt Brubeck
21e24f0ef9 Merge mozilla-central and mozilla-inbound 2012-03-24 09:05:27 -07:00
Masatoshi Kimura
749ec9839a Bug 736686 - Part 1: Make dictionary initializers callable off main thread. r=khuey 2012-03-24 12:33:49 +01:00
Dão Gottwald
63ed9dae81 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Igor Bukanov
24b01abf6b bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Ms2ger
198867ded9 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
7226b2e716 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Jeff Walden
6dc08a3146 Remove an unnecessary declaration that seems to be causing link errors only on Windows with some compilers. Followup to bug 739380, r=bustage 2012-04-03 09:10:22 -07:00
Justin Lebar
e71332b560 Bug 738624 - Add ghost windows to about:compartments. r=njn
--HG--
extra : rebase_source : c16cdfc4c06b363f54f1d0f37bb006cf977b079a
2012-04-02 22:28:05 -04:00
Josh Matthews
b44189ebe7 Bug 704147 - Make ctypes function pointers callable via call and apply. r=bholley 2012-02-14 16:26:05 -05:00
Daniel Holbert
5d8052de2c Bug 742438: Fix straggling bool-vs-NULL comparison after HashSet::put return-type change. r=terrence 2012-04-04 11:18:18 -07:00
Igor Bukanov
2025e88b08 bug 737365 - followup to fix !JS_THREADSAFE build. r=none
--HG--
extra : rebase_source : 949296487fa23ae991adc29a9ecf66d79d7fbef0
2012-04-04 18:05:51 +02:00
Igor Bukanov
aabce5f94f Bug 737365 - stop using the cx during finalization, part 3.
This part removes the usage of JSContext* during the finalization and
when sweeping the compartments. That required to change quite a few
methods in type inference, jit and debugger implementation to take a
FreeOp rather than JSContext pointer. In turn that also often required
to replace cx->compartment usage with extracting the compartment from
the passed objects or pass the compartment explicitly. On the plus side
it allowed to remove fallible compartment enter code in methods that
could be called during finalization.
2012-03-20 11:22:05 +01:00
Igor Bukanov
1442822e5c Bug 737365 - stop using the cx during finalization, part 2.
This parts removes the usage of JSContext* during the finalization in
Web Workers and JS shells implementations. With this chnages JSContext * is only
accessed during the finalization in the SpiderMonkey implementation.
2012-03-19 15:34:58 +01:00
Igor Bukanov
3a859b7a76 Bug 737365 - stop using the cx during finalization, part 1.
This part changes the signatures for various finalization API to take
not JSContext* but rather either JSFreeOp structure or its
library-private counterpart FreeOp. These structures wrap parameters
that are passed to the finalizers removing most of explicit dependencies
on JSContext in the finalization code.
2012-03-19 15:34:55 +01:00
Igor Bukanov
5542df3342 bug 730221 - delegating serialization of script principals to the embedding. r=:luke,:bz
Currently to serialize principals stored in JSScript we have a rather complex
schema. First there is the transcode callback that the embedding must provide
to transcode principals using XDR API. Second we use rather complex glue code
to implement that callback in terms of writing/reading nsIObjectOutputStream/
nsIObjectInputStream. This glue code is duplicated in 3 places. All this can
be avoided if we simply delegate transcoding of principals to the caller. In
addition, at least in the case of the cached startup scripts we do not even
need to transcode the principals as the the cached scripts always have the
system principal so we can skip all the transcode complexity there.

The patch implemnts this idea. In particular, the code in JS engine
responsible for transcoding of principals is replaced by the single API
function JS_XDRSetPrincipals that the embedding can use to set principals for
decoded scripts and functions. Then the startup cache uses this to set the
principals for the decoded script to the system principals. The other two
places in nsJSContext::Serialize and  XBL_SerializeFunction that need to
serialize principals together with a function or script now uses common
utilities in nsXPConnect so the serialization complexity resides in the single
 place.
2012-02-13 14:10:04 +01:00
Matt Brubeck
3057ab345d Merge mozilla-central and mozilla-inbound 2012-03-19 16:47:00 -07:00
Luke Wagner
7a6b47a381 Bug 736807 - Fix test added by fc8534cfca3d to test for gczeal (r=orange) 2012-03-19 11:47:23 -07:00
Luke Wagner
176cb177d1 Bug 736807 - InitExnPrivate needs to root values since they can now be wrapped (r=bholley)
--HG--
extra : rebase_source : 4aeb6c6b271588c57c4b6e166c630a72c8c7d0d5
2012-03-19 10:49:12 -07:00
Mike Hommey
603769b284 Bug 733773 - Reset default values for thumb, float-abi, etc. when --with-arch is specified. r=ted 2012-03-13 09:47:03 +01:00
Jesse Ruderman
ae4faf428d Bug 736795 - Some shell help() messages have extra periods 2012-03-17 22:24:07 -07:00
Igor Bukanov
ed3f5972bd bug 736978 - remove JS_FinalizeStub. r=:billm
Currently the GC finalizes on the background thread only objects with null
JSClass::finalize. However, this implies that any object that uses
JS_FinalizeStub for the finalizer would be prevented from the background
finalization.

To fix this the patch removes JS_FinalizeStub replacing it with NULL in all
cases when the class has no custom finalizer. For style consistency the patch
also removed the usage of JSCLASS_NO_OPTIONAL_MEMBERS in the static
declarations as the compiler fills the missing fields with null in any cases.
2012-03-19 15:27:58 +01:00
Prabindh Sundareson
e9c8c2fdde Bug 735594 - Add check for MOZ_JSDEBUGGER so that --enable-jsd=no works. r=bholley+khuey 2012-03-15 20:12:45 -04:00
Jared Wein
5c1c03e064 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-27 13:50:50 -07:00
Andrew McCreight
a2f68f19c5 Bug 736563 - mark global objects held by live windows black during GC. r=smaug 2012-03-27 12:22:10 -07:00
Bobby Holley
89832a4812 Bug 738956 - Wrap values in nsStructuredCloneContainer::InitFromVariant before passing them to JS_WriteStructuredClone. r=khuey 2012-03-27 11:43:11 -07:00
Bill McCloskey
d0f06adfac Bug 738841 - Fix handling of 'this' in methodjit without TI (r=bhackett) 2012-03-27 10:54:04 -07:00
Luke Wagner
dc718f1471 Bug 739494 - rm JSOP_DEFLOCALFUN (r=bhackett)
--HG--
extra : rebase_source : bb055d312548d6f04096e2320838addfbffd65fc
2012-03-26 22:08:03 -07:00
Luke Wagner
2679471c45 Bug 737552 - Remove 'funargs' (r=jimb)
--HG--
extra : rebase_source : 768b5b36503747a7ab95cc745439be4c36e64168
2012-03-20 11:18:37 -07:00
Luke Wagner
5db503d729 Bug 737570 - Fix handling of overwritten arguments via non-toplevel function statement named 'arguments' (r=waldo)
--HG--
extra : rebase_source : 91a45e78412a86f647375485fcd038505a134f0d
2012-03-19 19:22:59 -07:00
Bill McCloskey
610d48849d Bug 736605 - Add more timers to GC statistics (r=terrence) 2012-03-16 14:55:56 -07:00
Bobby Holley
948121e077 Bug 596351 - Proxies should throw TypeErrors for assignments to read-only properties in ES5 strict mode. r=luke 2012-03-16 12:47:21 -07:00
Bobby Holley
a150898fc0 Bug 734475 - Take the full union of native sets when bringing non-PreCreate XPWNs across compartments. r=mrbkap 2012-03-16 12:47:20 -07:00
Luke Wagner
a9aaa7d6ba Bug 736012 - Unwind current frame on failure to enter jit code from loop header (r=bhackett)
--HG--
extra : rebase_source : 5dcfb53368a6f816b44d26cf43b564f1525d74bb
2012-03-16 10:04:17 -07:00
Terrence Cole
f6713d22de Bug 730961 - Make internal marking interface indirect; r=billm
Now that all of the marking interface users use indirect marking, we can pass
through the indirection internally and stop passing every object through the
stack.
2012-03-14 14:07:16 -07:00
Peter Van der Beken
299c3b3d05 Fix for bug 736229 (Stop storing expando objects in the wrapper cache, store the proxy instead). r=jst. 2012-03-14 15:22:10 +01:00
Marco Bonardo
312ed3ed80 Merge inbound and central 2012-03-16 13:42:16 +01:00
Ms2ger
a494664e3f Bug 722154 - Part f: Remove custom quickstubs for vertexAttrib[1-4]fv; r=bjacob 2012-03-16 10:53:41 +01:00
Ms2ger
3456d2d5e4 Bug 722154 - Part e: Remove custom quickstubs for uniform[1-4][i,f]v and uniformMatrix[2-4]fv; r=bjacob 2012-03-16 10:52:42 +01:00
Ms2ger
d5d2b74974 Bug 722154 - Part d: Remove custom quickstub for readPixels; r=bjacob 2012-03-16 10:50:51 +01:00
Ms2ger
58d4fde71b Bug 722154 - Part c: Remove custom quickstubs for compressedTexImage2D and compressedTexSubImage2D; r=bjacob 2012-03-16 10:50:33 +01:00
Ms2ger
3850828e22 Bug 722154 - Part b: Remove custom quickstub for bufferSubData; r=bjacob 2012-03-16 10:50:18 +01:00
Ms2ger
b3ff1e4405 Bug 722154 - Part a: Remove custom quickstub for bufferData; r=bjacob 2012-03-16 10:50:00 +01:00
Ms2ger
090a26ea3d Bug 550309 - Part e: Remove custom quickstub for getImageData and return an actual ImageData; r=bz 2012-03-16 10:48:55 +01:00
Ms2ger
7ea9d494ee Bug 550309 - Part c: Implement ImageData; r=bz 2012-03-16 10:44:08 +01:00
Bobby Holley
0ac4c57a81 Bug 735826 - Fix jit-tests for browser builds on mac. r=dmandelin 2012-03-15 19:47:06 -07:00
Bobby Holley
2f9f8383f8 Bug 736316 - Components.utils.getGlobalForObject should unwrap cross-compartment wrappers. r=khuey 2012-03-15 19:47:06 -07:00
Jeff Walden
59b081a07d Bug 735313 - StringBuffer still needs length validation. r=luke 2012-03-14 15:29:29 -07:00
Ryan VanderMeulen
5f5c3e0dbd Backout ca1873b20652 (bug 735594) due to mochitest-4 orange. r=http://i.qkme.me/36kr7a.jpg 2012-03-15 21:27:51 -04:00
David Mandelin
2cf98e5ce6 Bug 728623: disable jitcode address randomization on Win64, r=dvander 2012-03-14 17:36:34 -07:00
Matthew Gregan
7bec686e54 Bug 734784 - Update system-headers to reflect changes to libvpx includes. r=cpearce 2012-03-15 12:06:02 +13:00
Jeff Walden
506f58f3c4 Back out bug 735313, an invariant was relaxed but not all assertions of it were adjusted properly, and I'm not 100% confident tinderboxen will correctly handle the new failure mode. r=bustage 2012-03-14 15:24:51 -07:00