Commit Graph

23205 Commits

Author SHA1 Message Date
Steve Fink
209c81f24f backout 91f8565205db 2011-09-26 16:55:05 -07:00
Chris Leary
cb19afca79 Back out bug 684039. 2011-09-26 16:50:17 -07:00
Chris Leary
abafbc3a66 Bug 684039: rewrite JS LIFO allocator, avoids thrashing. (r=luke) 2011-09-22 13:22:30 -07:00
Terrence Cole
f5499f0866 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.
2011-09-26 15:17:05 -07:00
Jeff Walden
daf9d80ebe Bug 689285 - Make [[ThrowTypeError]] properly non-extensible. r=luke 2011-09-26 13:59:23 -07:00
Chris Leary
167c7dd919 Fix JS shell build. (r=luke) 2011-09-26 16:09:47 -07:00
Steve Fink
5ede495a01 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
ff0b48e03f Backout a21f23d350d8 (bug 645111) 2011-09-26 15:38:51 -07:00
Steve Fink
cdb2748cb7 Bug 686230 - Add JS_CallOnce to the JSAPI for module initialization (r=luke) 2011-09-11 11:37:43 -07:00
Joey Armstrong
2fafc597f4 Bug 680246 - threadsafe mkdir makefile library rules. r=ted 2011-08-18 17:16:21 -04:00
Matt Brubeck
1ade5048f5 Bug 689288 - Annotate failing xpcshell tests on Win64 [r=khuey] 2011-09-26 14:27:37 -07:00
Ehsan Akhgari
fc4da52e02 Backed out changeset 020f14584a2a (bug 680246) because it broke builds on all platforms 2011-09-26 11:53:28 -04:00
Joey Armstrong
c615e4db1f Bug 680246 - makefile logic to support threadsafe mkdir -p; r=ted 2011-08-18 17:16:21 -04:00
Atul Aggarwal
14579c5a13 Bug 581477 - Silence uninitialized variable warnings in xpcwrappednativeproto.cpp; r=bsmedberg 2011-09-01 01:56:33 +05:30
Bobby Holley
76f2178da3 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
6fcf566e4b 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
65e328af47 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
bf20fd8ad2 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
0aaae21918 Bug 683802 - Coalesce type-specific cleanup indicators. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
78444f3c88 Bug 683802 - Add jsval to the XPTCMiniVariant union for type safety. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
463f12a425 Bug 683802 - Use an explicit indicator for direct vs indirect calling semantics. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
aa328fa153 Bug 683802 - Define and restrict the semantics of PTR_IS_DATA. r=mrbkap 2011-09-25 15:38:01 +01:00
Bobby Holley
f8e5475e53 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
6ad2a0394e Bug 683802 - Factor dipper handling out into a helper method. r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
74d2f6c32f 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
b8f1fed5a2 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
90e0151c5c Bug 683802 - Remove mAutoString micro-optimization. r=mrbkap 2011-09-25 15:38:00 +01:00
Bobby Holley
57a6d88abb 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
9c51d36961 Bug 684327 - Test parameter passing. r=khuey 2011-09-25 15:38:00 +01:00
Bobby Holley
1486ad8b68 Bug 684327 - Generalize test_readwriteattributes.js into test_attributes.js. r=khuey 2011-09-25 15:38:00 +01:00
Bobby Holley
e7623fbdfc 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
8b898dee85 Bug 684327 - Introduce js-implemented test component. r=khuey 2011-09-25 15:37:59 +01:00
Bobby Holley
ecec8416ad Bug 684327 - Move the C++ implementation of the test component into its own subdirectory. r=khuey 2011-09-25 15:37:59 +01:00
Bobby Holley
904f7af5eb 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
5c46744160 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
79b6afa712 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
faafb77be5 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
4bc94b7423 Bug 669829 - Remove check for atlbase.h and oleacc.idl from configure. r=ted 2011-09-24 12:53:07 +02:00
Ed Morley
0fabeee5eb 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
f4aafb0306 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
5f9654b753 Bug 683802 - remove trailing ; to fix Maemo bustage. r=bholley 2011-09-23 17:26:19 -07:00
Bobby Holley
8e7c3891c0 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
c60b149edd 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
457e290077 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
951d926e38 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
Bobby Holley
07382c2414 Bug 683802 - Coalesce type-specific cleanup indicators. r=mrbkap 2011-09-23 14:50:28 -07:00
Bobby Holley
6889fed7b1 Bug 683802 - Add jsval to the XPTCMiniVariant union for type safety. r=mrbkap 2011-09-23 14:50:28 -07:00
Bobby Holley
62bea95e40 Bug 683802 - Use an explicit indicator for direct vs indirect calling semantics. r=mrbkap 2011-09-23 14:50:28 -07:00
Bobby Holley
01fbed68dd Bug 683802 - Define and restrict the semantics of PTR_IS_DATA. r=mrbkap 2011-09-23 14:50:28 -07:00
Bobby Holley
5948a0f4bc Bug 683802 - Always store jsvals directly within the val union (fixes bug 655878). r=mrbkap 2011-09-23 14:50:28 -07:00