Commit Graph

56 Commits

Author SHA1 Message Date
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg
2187798a40 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Tom Schuster
889e3a0487 Bug 752226 - Remove any use of JSVAL_IS_OBJECT. r=luke,Ms2ger 2012-05-11 17:46:26 +02:00
Ed Morley
4c4c3cfd18 Backout 9b0fcaacb788 & bf3fef257e68 (bug 752226) for mochitest-other orange 2012-05-11 18:25:52 +01:00
Tom Schuster
6e0861373a Bug 752226 - Remove any use of JSVAL_IS_OBJECT. r=luke,Ms2ger
--HG--
extra : rebase_source : edf2077f8b8bad1970eab6ebe9996e761d4e596c
2012-05-11 17:46:26 +02:00
Bobby Holley
45e0c007a8 Bug 749173 - Remove AutoPreserveCompartment. r=luke 2012-05-06 13:09:49 +02:00
Bobby Holley
afd0a6ab09 Bug 747749 - Remove call to JS_SetGlobalObject in mozJSComponentLoader. r=luke 2012-04-26 20:40:11 +02:00
David Anderson
f0a562ebba Remove simple JS_FrameIterator uses in xpconnect (bug 744617, r=bholley).
--HG--
extra : rebase_source : c206450cf46011543f58cded4c5aff2d49932afd
2012-04-16 12:25:28 -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
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
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
Igor Bukanov
f0bddf0e88 bug 728250 - remove JSPrincipals::codebase. r=:luke,:bz
In just 2 cases where JSPrincipals::codebase is used it can be reconstructed from the values stored in the associated nsJSPrincipal. In addition the patch makes nsJSprincipals to inherit both from nsIPrincipal and JSPrincipals allowing to use static_cast to convert between nsIPrincipal and JSPrincipals pointers and to drop many cases of manual JSPrincipal reference counting.
2012-03-09 10:48:50 +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
David Mandelin
77d336e566 Bug 733260: remove typedef jsuint, r=luke
--HG--
extra : rebase_source : e8f576e1b5b189b47807c613c0cff79f5c8038e7
2012-03-05 18:43:45 -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
David Mandelin
60e80d55b6 Bug 730511: remove obsolete typedefs intN, uintN, r=luke 2012-02-28 15:11:11 -08:00
Luke Wagner
34a0403a53 Bug 729584 - mozJSComponentLoader::ImportInto needs to wrap exceptions (r=bholley)
--HG--
extra : rebase_source : c5c575a789647348fcca5bf9ef5368873f0016f4
2012-02-23 13:50:01 -08:00
Marco Bonardo
b7c136e7dc Bug 722254 - Add an XPCOMUtils method to generate a singleton factory.
Use the new factory in Places js services, to ensure they can't be instanced multiple times.
r=bsmedberg
2012-02-07 10:17:42 +01:00
Igor Bukanov
bd4db6e9ef bug 723021 - moving native stack limits into runtime. r=luke 2012-01-31 23:28:22 +01:00
Luke Wagner
73a1588f02 Bug 675078 - rm JSThreadData and JSThread (JSRuntime is now officially single-threaded) (r=igor,rs=mccr8)
--HG--
extra : rebase_source : f6d2c2c6083f4589691ede571159bfd7e7ef8701
2011-07-18 14:54:48 -07:00
Matt Brubeck
0978981988 Back out 79deba022227 (bug 675078) because of Win debug mochitest-other failures 2012-01-24 17:32:30 -08:00
Luke Wagner
0d7b41f9b5 Bug 675078 - rm JSThreadData and JSThread (JSRuntime is now officially single-threaded) (r=igor) 2011-07-18 14:54:48 -07:00
Ms2ger
907439a753 Bug 709086 - Don't use JS_GetParent in mozJSSubScriptLoader::LoadSubScript; r=jorendorff 2012-01-02 19:05:19 +01:00
Ms2ger
c8fd736d93 Bug 714057 - Remove uintn users from XPConnect; r=bholley+khuey 2012-01-02 19:05:19 +01:00
Ms2ger
1415925d63 Bug 713645 - Remove superfluous inclusions of jscntxt.h; r=luke 2012-01-02 19:05:19 +01:00
Matt Brubeck
bac378b0fd Merge mozilla-central and mozilla-inbound 2011-12-28 11:17:19 -08:00
Josh Matthews
93504129e1 Bug 463122 - Propagate mozJSComponentLoader exceptions that occur while executing the script. r=mrbkap 2011-12-28 11:55:11 -05:00
Ms2ger
a63b21f505 Bug 713550 - Move Base64 code on nsXPConnect to XPCOM / xpcpublic.h; r=bholley+khuey 2011-12-28 09:13:38 +01:00
Jeff Walden
5d0d2b2e73 Bug 711647 - Add MOZ_DELETE to a bunch of deliberately-not-implemented methods across the tree. r=dbaron
--HG--
extra : rebase_source : 507006c0f099da6851b585d2062267d285978ad7
2011-12-16 14:42:07 -05:00
Phil Ringnalda
be45030cc0 Bug 695345 - Bring back ISO8601DateUtils.jsm, a=akeybl 2011-12-18 18:50:13 -08:00
Ms2ger
edaf8cc36e Bug 705188 - Use IDL for mozIJSSubScriptLoader::LoadSubScript, {xpcIJSModuleLoader,nsIXPCComponents_Utils}::Import; r=bz 2011-12-18 11:09:16 +01:00
John Schoenick
34b5116fdd Bug 687679 - Rename JS_CompileFile to JS_CompileUTF8File, fix users. r=jorendorff,jst 2011-12-16 11:08:59 -08:00
Ms2ger
b6f42e130c Backed out changeset ba447ace2594 (bug 687679) for bustage. 2011-12-16 21:17:16 +01:00
John Schoenick
d2b02fa02e Bug 687679 - Rename JS_CompileFile to JS_CompileUTF8File, fix users. r=jorendorff,jst 2011-12-16 11:08:59 -08:00
Jeff Walden
476c7d19c5 Bug 708735 - Use <stdint.h> types in JSAPI and throughout SpiderMonkey. Continue to provide the {u,}int{8,16,32,64} and JS{Uint,Int}{8,16,32,64} integer types through a single header, however, for a simpler backout strategy -- and also to ease the transition for embedders. r=timeless on switching the jsd API to use the <stdint.h> types, r=luke, r=dmandelin 2011-12-08 22:54:10 -05:00
Mike Hommey
9b0673934e Bug 695843 part 9 - Use FileLocations in the component manager. r=bsmedberg 2011-11-08 18:10:51 +01:00
Mike Hommey
96e4d7b9da Bug 695843 part 8 - Properly handle jar-in-jars when importing modules. r=mrbkap 2011-12-08 11:03:36 +01:00
Mike Hommey
a66aad179b Bug 695843 part 7 - Use the URI string as the key for the various mozJSComponentLoader hashtables. r=mrbkap 2011-11-08 18:08:49 +01:00
Ryan VanderMeulen
62a927d2f5 Bug 705401 - Remove the rest of TraceVis. r=dvander 2011-11-28 16:08:25 -08:00
Ms2ger
50174a0e92 Bug 701467 - Remove JS_TRUE/JS_FALSE from xpconnect; r=bholley 2011-11-26 11:05:59 +01:00
Justin Lebar
3c1ff6be4d Bug 586010 - Send dump() output to Android device log. r=bz
--HG--
extra : rebase_source : f1712d831aaa6fbd8e1bfd6060fbb4aa951ccb74
2011-11-09 19:27:08 -05:00
Luke Wagner
24ebb0ec95 Bug 650411 - assert in debug/release builds that JSRuntime is only used in a single-threaded manner (r=jorendorff,sr=dmandelin)
--HG--
extra : rebase_source : f18561fff556332789e05623ab0cec2e7faacf78
2011-07-01 14:11:31 -07:00
Ted Mielczarek
2cd9d1bd75 bug 695685 - Make JS module/component dump go to stdout and flush. r=mrbkap 2011-10-19 10:01:24 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Bobby Holley
f253d4d21f Bug 688012 - Manual fixup of multi-line c++ cast alignment. r=mrbkap 2011-10-14 10:52:49 -07:00