Commit Graph

16371 Commits

Author SHA1 Message Date
Steve Fink
d61dde7689 Bug 688327 - tempCallReg cannot return callee-saved registers since they may be held live across FASTCALLs (r=dvander)
--HG--
extra : rebase_source : 10d63c752478157a9eb3fb4a5325405de9d20227
2011-09-22 15:06:08 -07:00
Matt Brubeck
f97e38bdc3 Merge mozilla-central to mozilla-inbound 2011-09-26 19:09:08 -07:00
Jeff Walden
7c296f5d20 Bug 688646 - Followup fix to make recent test changes feature-test for shell-only functionality. r=orange 2011-09-26 18:28:57 -07:00
Steve Fink
1750738c1d backout 75010170a6ee (bug 688327) 2011-09-26 17:06:42 -07:00
Steve Fink
538fc70e92 backout 7b4c94293707 (bug 686230) 2011-09-26 17:06:15 -07:00
Steve Fink
2742deb964 backout 0cce4b4dead8 (bug 687102) 2011-09-26 16:55:37 -07:00
Steve Fink
6262b6572f backout 91f8565205db 2011-09-26 16:55:05 -07:00
Chris Leary
073072052c Back out bug 684039.
--HG--
rename : js/src/ds/LifoAlloc.h => js/src/jsarena.h
2011-09-26 16:50:17 -07:00
Chris Leary
b7a2ff75e7 Bug 684039: rewrite JS LIFO allocator, avoids thrashing. (r=luke)
--HG--
rename : js/src/jsarena.h => js/src/ds/LifoAlloc.h
2011-09-22 13:22:30 -07:00
Terrence Cole
ca11d64326 Bug 688646 - Remove its.bindMethod and js/src/tests/js1_5/Function/15.3.4.4.js; r=jwalden
Section 1 of the existing tests is already in js/src/tests/ecma_3/Function/
15.3.4.4-1.js.  Section 2 is an internal detail of our implementation that in
the near future is going to be changing.  Currently, we sometimes stilll walk
the parent pointers to get to globals; soon we will have a faster way to get
them in all cases, either through compile-n-go or IM.  What we really want to
test is that we get the lexical globals, not the caller globals.  This adds such
a test to our newer Function tests and simply removes the old Function tests.

--HG--
extra : rebase_source : 8d4c9440750245e895a01f8b92d1ceb3d18d8e8f
2011-09-26 15:17:05 -07:00
Jeff Walden
fdc99b2376 Bug 689285 - Make [[ThrowTypeError]] properly non-extensible. r=luke
--HG--
extra : rebase_source : 159ea15fc162ce0f7fe9e92adf18175c6ae15a8d
2011-09-26 13:59:23 -07:00
Chris Leary
4efc1d86d0 Fix JS shell build. (r=luke) 2011-09-26 16:09:47 -07:00
Steve Fink
5128008a7d Bug 687102 - Range check the PC argument to trap/untrap/line2pc/etc. in JS shell (r=cdleary) 2011-09-16 15:55:03 -07:00
Steve Fink
bf0e736d80 Backout a21f23d350d8 (bug 645111) 2011-09-26 15:38:51 -07:00
Steve Fink
654dd204ab Bug 686230 - Add JS_CallOnce to the JSAPI for module initialization (r=luke)
--HG--
extra : rebase_source : 02b57a1e87cbc6676db9e9eb2c6567f43da99ba8
2011-09-11 11:37:43 -07:00
Matt Brubeck
c78c700e5a Bug 689288 - Annotate failing xpcshell tests on Win64 [r=khuey] 2011-09-26 14:27:37 -07:00
Ehsan Akhgari
0f6e3e18c4 Backed out changeset 020f14584a2a (bug 680246) because it broke builds on all platforms 2011-09-26 11:53:28 -04:00
Joey Armstrong
d1f0112849 Bug 680246 - makefile logic to support threadsafe mkdir -p; r=ted 2011-08-18 17:16:21 -04:00
Atul Aggarwal
1f0d1d7bf8 Bug 581477 - Silence uninitialized variable warnings in xpcwrappednativeproto.cpp; r=bsmedberg 2011-09-01 01:56:33 +05:30
Bobby Holley
3bb161b410 Bug 683802 - Pass useAllocator=false only for wrappedjs dipper params. Everything else can allocate. r=mrbkap
We only have one good reason for the useAllocator distinction: when C++ calls JS with a dipper parameter (ie, a string), the caller has already created the relevant nsAString or nsCString, so we shouldn't allocate another one. All other uses are superfluous or irrelevant, so we can get rid of them.
2011-09-25 15:38:02 +01:00
Bobby Holley
76631b6402 Bug 683802 - Force allocation for sized PWSTRINGs in XPCWrappedNative argument conversion. r=mrbkap
This is the last remaining place where we might pass a non-dipper with useAllocator==false to XPCConvert *and, as a consequence*, do something different within XPCConvert. This paves the way for the elimination of useAllocator for non-dipper types.
2011-09-25 15:38:01 +01:00
Bobby Holley
b11b764aae Bug 683802 - Remove XPC_JSArgumentFormatter and friends. r=mrbkap
XPC_JSArgumentFormatter adds 3 special format string tokens to spidermonkey: %ip, %iv, and %is. These were unused outside of testing according to a free-text MXR search, and don't appear to be well-documented anywhere either. They also happen to be quite dangerous and easy to use improperly: we pass untyped variadic parameters to XPCConvert::JSData2Native with useAllocator==false. This causes JSData2Native to blindly cast the values to concrete class pointers (like nsAString*) and call methods on them.
2011-09-25 15:38:01 +01:00
Bobby Holley
f8d046ce9c Bug 683802 - Eliminate questionable support for [shared] parameters. r=mrbkap
AFAICT we'd crash if we hit these cases anyway. bsmedberg and khuey requested that I assert against this case within XPConnect, and file a bug to make XPIDL enforce that [shared] parameters exist only in [noscript] methods. Filed bug 685281 for this.
2011-09-25 15:38:01 +01:00
Bobby Holley
53f973b84d Bug 683802 - Coalesce type-specific cleanup indicators. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
c6981dfa25 Bug 683802 - Add jsval to the XPTCMiniVariant union for type safety. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
8a2ae11493 Bug 683802 - Use an explicit indicator for direct vs indirect calling semantics. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
6aab3db9fd Bug 683802 - Define and restrict the semantics of PTR_IS_DATA. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
0007397e8c Bug 683802 - Always store jsvals directly within the val union (fixes bug 655878). r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
d228a521a2 Bug 683802 - Factor dipper handling out into a helper method. r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
502e318d55 Bug 683802 - Separate reindentation from previous patch for easier review. No other changes. r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
a054a34e65 Bug 683802 - Move the loop contents of ConvertIndependentParams into a separate method (without re-indentation). r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
775809e6a1 Bug 683802 - Remove mAutoString micro-optimization. r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
309a2dc785 Bug 684327 - Package the typelib along with the components so that it's accessible from the test harness. r=khuey 2011-09-25 15:38:00 +01:00
Bobby Holley
ccd5a6439b Bug 684327 - Test parameter passing. r=khuey 2011-09-25 15:38:00 +01:00
Bobby Holley
1196662e29 Bug 684327 - Generalize test_readwriteattributes.js into test_attributes.js. r=khuey
--HG--
rename : js/src/xpconnect/tests/unit/test_readwriteattributes.js => js/src/xpconnect/tests/unit/test_attributes.js
2011-09-25 15:38:00 +01:00
Bobby Holley
d8e94b80ac Bug 684327 - Add an xpcshell test that exercises both the native and js components. r=khuey 2011-09-25 15:37:59 +01:00
Bobby Holley
5cede67fc3 Bug 684327 - Introduce js-implemented test component. r=khuey 2011-09-25 15:37:59 +01:00
Bobby Holley
e1a2873779 Bug 684327 - Move the C++ implementation of the test component into its own subdirectory. r=khuey
--HG--
rename : js/src/xpconnect/tests/components/Makefile.in => js/src/xpconnect/tests/components/native/Makefile.in
rename : js/src/xpconnect/tests/components/xpctest.manifest => js/src/xpconnect/tests/components/native/xpctest.manifest
rename : js/src/xpconnect/tests/components/xpctest_attributes.cpp => js/src/xpconnect/tests/components/native/xpctest_attributes.cpp
rename : js/src/xpconnect/tests/components/xpctest_module.cpp => js/src/xpconnect/tests/components/native/xpctest_module.cpp
rename : js/src/xpconnect/tests/components/xpctest_private.h => js/src/xpconnect/tests/components/native/xpctest_private.h
2011-09-25 15:37:59 +01:00
Bobby Holley
6258dae585 Bug 684327 - Misc fixes to xpctest_attributes. r=khuey
This patch is best reviewed while listening to http://www.youtube.com/watch?v=MK6TXMsvgQg

NB - The code here would make a great "find the bugs in this code" interview screen question.
2011-09-25 15:37:59 +01:00
Bobby Holley
8625141d3e Bug 684327 - Start building a small subset of the xpconnect test component again, kill the rest. r=khuey
Thanks to Mook for the initial patch!
2011-09-25 15:37:59 +01:00
Bobby Holley
86fdb9d672 Bug 684327 - Remove TestXPC.cpp, which currently printfs that it's failing various things and then segfaults. r=khuey 2011-09-25 15:37:58 +01:00
Brian Hackett
c61a469092 Sync state on all exit paths in CALLPROP PICs when allowing getter stubs, bug 688478. r=dvander 2011-09-24 14:15:38 -07:00
Matheus Kerschbaum
e1d3c86e9c Bug 669829 - Remove check for atlbase.h and oleacc.idl from configure. r=ted 2011-09-24 12:53:07 +02:00
Ed Morley
f5a2b818d7 Backout 3bfef7f630dc and all ancestors until cba5d081f15d inclusive (bug 683802, bug 684327 & bug 652571); a=use-try-before-crapping-23-changesets-on-the-tree-thank-you-please 2011-09-24 03:33:31 +01:00
Ed Morley
d06542a2e2 Backout changeset 737c2fdb9148 (bug 683802), since bustage fix not relevant now that the whole bug is being backed out 2011-09-24 03:29:48 +01:00
Andrew McCreight
bac8bd20e7 Bug 683802 - remove trailing ; to fix Maemo bustage. r=bholley 2011-09-23 17:26:19 -07:00
Bobby Holley
43108c0900 Bug 683802 - Pass useAllocator=false only for wrappedjs dipper params. Everything else can allocate. r=mrbkap
We only have one good reason for the useAllocator distinction: when C++ calls JS with a dipper parameter (ie, a string), the caller has already created the relevant nsAString or nsCString, so we shouldn't allocate another one. All other uses are superfluous or irrelevant, so we can get rid of them.
2011-09-23 14:50:29 -07:00
Bobby Holley
2f66a40072 Bug 683802 - Force allocation for sized PWSTRINGs in XPCWrappedNative argument conversion. r=mrbkap
This is the last remaining place where we might pass a non-dipper with useAllocator==false to XPCConvert *and, as a consequence*, do something different within XPCConvert. This paves the way for the elimination of useAllocator for non-dipper types.
2011-09-23 14:50:29 -07:00
Bobby Holley
4170b80aaf Bug 683802 - Remove XPC_JSArgumentFormatter and friends. r=mrbkap
XPC_JSArgumentFormatter adds 3 special format string tokens to spidermonkey: %ip, %iv, and %is. These were unused outside of testing according to a free-text MXR search, and don't appear to be well-documented anywhere either. They also happen to be quite dangerous and easy to use improperly: we pass untyped variadic parameters to XPCConvert::JSData2Native with useAllocator==false. This causes JSData2Native to blindly cast the values to concrete class pointers (like nsAString*) and call methods on them.
2011-09-23 14:50:28 -07:00
Bobby Holley
0d7e07547c Bug 683802 - Eliminate questionable support for [shared] parameters. r=mrbkap
AFAICT we'd crash if we hit these cases anyway. bsmedberg and khuey requested that I assert against this case within XPConnect, and file a bug to make XPIDL enforce that [shared] parameters exist only in [noscript] methods. Filed bug 685281 for this.
2011-09-23 14:50:28 -07:00