Commit Graph

1595 Commits

Author SHA1 Message Date
Bobby Holley
d26a345b87 Bug 843231 - Alter the XBL scope test to make it compatible with reading the dom.xbl_scopes only once per global. r=bz
--HG--
rename : content/xbl/test/test_bug821850.xhtml => content/xbl/test/file_bug821850.xhtml
2013-02-22 07:56:03 -08:00
Jonathan Kew
9c8145baf7 backout cset 4ede352670cd (bug 759585) on a CLOSED TREE on suspicion of making windows reftests so slow that they timeout and burn 2013-02-22 09:36:41 +00:00
Bill McCloskey
a133579459 Bug 759585 - Change the granularity of collection from compartment to zone (r=jonco,bhackett,njn,dvander,mccr8,bz,luke,bholley) 2013-02-21 18:23:47 -08:00
Bobby Holley
576ed40412 Bug 839792 - Revert Tamper-proofing. r=bz
This reverts bug 821850 part 16, and updates the tests accordingly.
2013-02-13 19:16:19 +01:00
Bobby Holley
4d172878d3 Bug 839792 - Do XBL lookups on the shadow prototype. r=bz 2013-02-13 19:16:19 +01:00
Bobby Holley
d363548cc4 Bug 839792 - Store members on a shadow proto in the XBL scope. r=bz 2013-02-13 19:16:19 +01:00
Bobby Holley
8a446dd113 Bug 834732 - Remove PushBehavior. r=mrbkap
Now that we only have ALWAYS_PUSH and ASSERT_SCRIPT_CONTEXT, we have uniform
release-mode behavior everywhere. Remove the crap.
2013-02-13 00:22:26 +01:00
Bobby Holley
fbadb5c010 Bug 834732 - Get rid of footgun bool param for nsCxPusher and use an explicit enum. r=mrbkap
The goal here is to get rid of this crap entirely, and make nsCxPusher always
push. But that's a scary change, so we do it in chunks. This patch, in particular,
should have zero behavioral change. This means preserving some very wrong behavior.
For instance, currently SafeAutoJSContext never pushes a damn thing, because the
safe JSContext doesn't have an associated nsIScriptContext. We preserve this
behavior, and in fact convert various similarly-buggy consumers to
SafeAutoJSContext, so that we can hoist the behavioral change into a subsequent
patch.
2013-02-13 00:22:26 +01:00
Bobby Holley
c7647744c5 Bug 821850 - Tests. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
1152972979 Bug 821850 - Clone XBL into the XBL scope's compartment. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
af54a3636a Bug 821850 - Dynamically waive Xray for field access by XBL script on bound nodes. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
2e9cd3a563 Bug 821850 - Add API to lookup implementation members on XBL bindings. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
6d84c3998c Bug 821850 - Make XBL prototype setup tamper-proof for Xrays. r=bz
We make the class object readonly/non-configurable, as well as all the properties
and methods on the class object.
2013-02-08 14:24:21 +00:00
Bobby Holley
829accdf70 Bug 821850 - Unwrap |callee| before passing it to InstallXBLField. r=bz
InstallXBLField knows how to handle cross-compartment |callee|. However,
The current value will always be wrapped. We need to unwrap said wrappers,
otherwise we'll end up with objects that aren't functions.
2013-02-08 14:24:21 +00:00
Bobby Holley
6242563e83 Bug 821850 - Install XBL field accessors on prototype objects at setup time, and nuke XBLResolve. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
956da626e2 Bug 821850 - Hoist Field machinery into nsXBLProtoImplField. r=bz
This is a pure cut/paste except for removing |static| from XBLResolve.
XBLResolve will go away soon, so there's no need to put it in a header.
2013-02-08 14:24:21 +00:00
Bobby Holley
13f064c989 Bug 821850 - Remove unused arguments from InstallMember and simplify calling convention. r=bz
Let's just pass a JSContext and do Requests/Compartments in the caller.
2013-02-08 14:24:21 +00:00
Bobby Holley
db71e5ca7c Bug 821850 - Store a strong ref to the JSClass in nsXBLBinding. r=bz 2013-02-08 14:24:20 +00:00
Bobby Holley
225d119eed Bug 821850 - Make DoInitJSClass unconditionally fill in aClassObject. r=bz
Right now, DoInitJSClass only returns non-null if the class object is new
(and thus needs to have members installed on it). The code then goes and
unconditionally tries to install the members, null-checking and aborting
each time.

Instead, let's use an explicit boolean and one early return. This lets us
get a reference to our JSClass no matter what, which we need.
2013-02-08 14:24:20 +00:00
Bobby Holley
9069c014a7 Bug 821850 - Remove bogus comment/check and replace with an assert. r=bz
This confused me, because fields are, in fact, exposed via the prototype
via the complicated two-step solution defined in InstallField. As it turns
out, CompilePrototypeMembers throws if mClassObject ends up null.
2013-02-08 14:24:20 +00:00
Bobby Holley
70d03d5e68 Bug 821850 - Pass nsXBLBinding instead of nsIContent during implementation installation. r=bz
This lets us hook up the binding to the JSClass.
2013-02-08 14:24:20 +00:00
Bobby Holley
a2ecfc1280 Bug 821850 - Make XBL-in-content tests Xray-safe. r=bz
We use XPCNativeWrapper.unwrap rather than .wrappedJSObject so that the tests
are agnostic to whether there's an Xray wrapper or not.

I converted test_tree_column_reorder.xul into a chrome test because it does
all sorts of crazy introspection on the binding, and it really should be
a chrome test anyway.
2013-02-08 14:24:19 +00:00
Josh Matthews
046e3e7e12 Bug 829360 - Keep non-browser windows from extending the lifetime of the private session. r=bz 2013-02-04 23:22:51 +00:00
Mounir Lamouri
2594d14867 Bug 833009 - Remove "nsContentUtils.h" inclusions from headers in content/xbl/. r=Ms2ger 2013-02-01 10:56:02 +00:00
Bobby Holley
c865dc3ca6 Bug 833412 - Remove AddBinding/RemoveBinding and remove dead code. r=bz 2013-01-24 18:45:50 +01:00
Bobby Holley
36383885bc Bug 833412 - Make nsXMLPrettyPrinter use nsXBLService/BindingManger to load/remove bindings. r=bz 2013-01-24 18:45:50 +01:00
Bobby Holley
04da52d3d7 Bug 833412 - Fix tests that call addBinding. r=bz 2013-01-24 18:45:49 +01:00
Olli Pettay
a2de630b4d Bug 831421 - Arrow keys are broken in test-ipc.xul, r=neil 2013-01-24 18:38:59 +02:00
Bobby Holley
d0c7862f5e Bug 832041 - Remove nsJSContext::CompileEventHandler and move consumers to nsJSUtils::CompileFunction. r=bz 2013-01-23 07:12:50 +01:00
Steve Fink
9effec722d Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Steve Fink
d8da3e7b9a Backed out changeset fce4e0f8a553 (bug 828753) for breaking windows warnings-as-errors (stop adding JSObject forward decls, please!) 2013-01-18 13:20:21 -08:00
Steve Fink
0dee2fb42d Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence
--HG--
extra : rebase_source : c8806b27677594925ad0e6b54c47af5cf17e1153
2012-12-31 12:40:21 -08:00
Bobby Holley
9fce3b092f Bug 824864 - Pass EvaluateString out-param as a pointer, not a reference. r=bz 2013-01-16 18:50:27 -08:00
Bobby Holley
5515799556 Bug 824864 - Rename EvaluateStringWithValue to EvaluateString. r=bz
Now that there's only one of them, we can get rid of the silly suffix. \o/
2013-01-16 18:50:26 -08:00
Bobby Holley
a14609b21a Bug 824864 - Improve the API for EvaluateStringWithValue. r=bz
There are a few changes we make here:
1 - Having callers pass JS::CompileOptions directly.
2 - Removing aUndefined, which makes no sense and is unused by consumers.
3 - Making aScopeObject and aRetValue non-optional, via references.
3 - Adding an argument to optionally coerce the return value to a string.

Coercing jsvals to strings is the reason we currently have two nearly-identical
functions, EvaluateString and EvaluateStringWithValue, since the coercion can
trigger arbitrary script and thus needs to be bracketed by all the junk that
nsJSContext does. However, if callers can be guaranteed that the return value
will be a bonafide string, then they can easily extract the string themselves
if they so desire. This will allow us to combine the two functions.
2013-01-16 18:50:26 -08:00
Bobby Holley
5a19a07bef Bug 824864 - Move consumers of CompileFunction to the nsJSUtils version, and kill the nsJSContext version. r=bz
Note that the three consumers were all XBL, and were all passing aShared = true,
which had the effect of passing null for the target object. So we actually want
to pass JS::NullPtr() (the HandleObject version of nullptr) instead of
aClassObject in order to maintain the old behavior (whatever that is).
2013-01-16 18:50:25 -08:00
Trevor Saunders
83bcbe0d6b bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Boris Zbarsky
e1197ccff3 Bug 830614. Wrapping a wrappercached WebIDL object should watch out for reentry via WrapNativeParent. r=peterv 2013-01-15 14:04:24 -05:00
Cameron McCormack
42c46424b4 Bug 508725 - Part 3: Create a rule processor for each style scope. r=dbaron 2013-01-09 10:25:47 +11:00
Cameron McCormack
c067646b00 Backout bug 508725 (d267bb4b58b5, 50f71edffeb9, 6aec8e22fe60, e62e1f33958a, 0f146c435249, eb959b9f4862, 2b0ee42f3aa0, 02db01cd6796, 2ef0e517d43d, b650588e05c9 and a3c916829d56) for build failure on a CLOSED TREE. 2013-01-08 19:36:21 +11:00
Cameron McCormack
6b90406bb3 Bug 508725 - Part 3: Create a rule processor for each style scope. r=dbaron 2013-01-08 19:09:22 +11:00
Trevor Saunders
09f3b656b4 bug 825419 - outparamdel nsIDocShell::GetPresShell() r=smaug 2012-12-28 20:56:42 -05:00
Peter Van der Beken
6f6a341ee2 Fix for bug 815149 (Add support for SOWs and XBL bindings in new DOM bindings). r=bz.
--HG--
extra : rebase_source : c24544fd3d1c99651e279e687a07a02c5b994323
2012-09-12 22:29:30 +02:00
Bobby Holley
95ed36320f Bug 823279 - Mark deserialized XBL script as XBL. r=bz 2012-12-19 17:12:33 -08:00
Bill McCloskey
41af605210 Bug 821116 - Track line numbers for XBL properties (r=bz) 2012-12-17 12:22:38 -08:00
Masayuki Nakano
76345a848f Bug 813445 part.14 Make dom::EventListenerFlags for nsEventListenerManager r=smaug 2012-12-16 10:26:05 +09:00
Jeff Walden
120886ca73 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Jeff Muizelaar
47c921e73e Bug 801061. Switch from imgIRequest to imgRequestProxy. r=joe
This doesn't switch all of the users yet, but is a step in the right
direction.

--HG--
extra : rebase_source : 91b4fef3f67586179c119208d000cf7629e04963
2012-10-12 08:43:01 -04:00
Ed Morley
72deb1c273 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-12-13 15:55:31 +00:00
Olli Pettay
0564f4d9ac Bug 806031, less surprising toString for XBL binding objects, r=bz
--HG--
extra : rebase_source : 8b518b55729b9233e2b80220d70dacc143e52264
2012-12-12 17:10:02 +02:00
Bobby Holley
be465ba470 Bug 820666 - Tag XBL script for <field> elements and child scripts. r=jorendorff 2012-12-12 17:09:37 -08:00
Steve Fink
09f774c219 Bug 770238 - Defer releasing an nsXBLDocumentInfo to avoid calling JS during finalization. r=smaug
--HG--
extra : rebase_source : e25c70be77d0ce702435e0aa075d4be8e894c9b7
2012-12-06 10:44:31 -08:00
Mats Palmgren
f128dda378 Bug 814677 - Replace XP_IS_SPACE with dom::IsSpaceCharacter and add form-feed to match DOM spec. r=bz 2012-11-30 17:04:11 +01:00
Olli Pettay
c806b877ae Bug 811206, Fix JSHolder drop handling, part 3 (fixes), r=mccr8,khuey
--HG--
extra : rebase_source : 7b2726d2aa7f5764a3c4cb750e5a735728069687
2012-11-28 03:37:57 +02:00
Benoit Jacob
3d8cbb81ad Bug 814444 - Remove now-useless TRAVERSE_NATIVE_BEGIN and UNLINK_BEGIN_NATIVE macros - r=mccr8 2012-11-22 12:15:38 -05:00
Justin Lebar
75abf86728 Bug 811466 - Add include guards around some headers which were missing them. r=khuey 2012-11-19 20:05:34 -05:00
Kyle Huey
bf68ec72d2 No bug: s/class/struct/ to shut up MSVC. r=me DONTBUILD 2012-11-19 09:22:27 -08:00
Benoit Jacob
f5eae0f15f Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 2: handmade fixups - r=mccr8 2012-11-15 02:32:40 -05:00
Benoit Jacob
986ee1a065 Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Benoit Jacob
7cc7c472e5 Bug 806279 - CC macros refactoring: part 3: fold the TRAVERSE_NATIVE and AMBIGUOUS cases - r=mccr8,smaug 2012-11-15 02:32:39 -05:00
Cameron McCormack
28fd36a685 Bug 811581 - Add a base class for all *RuleProcessorData classes. r=bz 2012-11-15 06:09:01 +11:00
Boris Zbarsky
9cd29d2f98 Bug 807226 part 4. Allow event handlers to have a null nsIScriptContext if they won't have to compile from a string. r=smaug 2012-11-09 08:00:25 -08:00
Boris Zbarsky
beb6a36d0f Bug 807226 part 2. Change event handlers to store WebIDL callback functions. r=smaug 2012-11-09 08:00:25 -08:00
Ms2ger
b903541457 Bug 807410 - Part b: Pass the "GC on destruction" flag to the nsJSContext constructor; r=jst 2012-11-04 09:05:23 +01:00
Ms2ger
af22942dae Bug 807410 - Part a: Pass the global object to the nsJSContext constructor; r=jst 2012-11-04 09:04:04 +01:00
Daniel Holbert
7418aa386a Bug 805607 - Mark content/xbl/src as FAIL_ON_WARNINGS. r=bz 2012-10-26 10:49:57 -07:00
Daniel Holbert
a38d949da7 Bug 805606: Add DebugOnly annotation to fix build warning in nsXBLDocumentInfo.cpp. r=Ms2ger 2012-10-26 10:49:57 -07:00
Daniel Holbert
37cc21db5b Bug 805555: Mark nsXBLProtoImpl member-vars "cx" and "versionBefore" as DebugOnly. r=bz 2012-10-25 18:48:22 -07:00
Daniel Holbert
fc01bff121 Bug 805527: Mark nsBindingManager as MOZ_FINAL to fix GCC -Wdelete-non-virtual-dtor warning. r=ehsan 2012-10-25 15:16:15 -04:00
Bobby Holley
867be47a78 Bug 797821 - Don't pass XPCONNECT_GLOBAL_FLAGS for xbl and xul document gSharedGlobalClass. r=mrbkap
A lot of these flags don't make sense in this context.
2012-10-25 17:01:08 +02:00
Bobby Holley
6e408995a1 Bug 797821 - Stop making nsXBLDocumentInfo and nsXULPrototypeDocument globals with XPConnect. r=mrbkap
We already weren't creating a scope for them. They're generally pretty isolated
and are just used for holding functions that get cloned into other scopes.
Apparently mccr8 once found an edge from an nsXULPrototypeDocument scope into
another scope, but I don't think that should really break anything.
2012-10-25 17:01:07 +02:00
Bobby Holley
115b01b88b Bug 797821 - Stop passing wantXrays directly to CreateGlobalObject. r=mrbkap
This can happen after the fact where it needs to.
2012-10-25 17:01:07 +02:00
Bobby Holley
c563a12b76 Bug 797821 - Simplify the call signature for XPC::CreateGlobalObject. r=mrbkap 2012-10-25 17:01:07 +02:00
Jeff Walden
b1b1b4e899 Bug 768750 - Make FieldSetter always set a return value. r=bz 2012-10-17 13:42:58 -07:00
Bobby Holley
2539ad261e Bug 789224 - Remove signed script security checks. r=mrbkap 2012-10-22 08:29:55 +02:00
Bobby Holley
66fe81e49a Bug 789224 - Remove miscellaneous UniversalXPConnect checks sprinkled throughout gecko. r=mrbkap 2012-10-22 08:29:55 +02:00
Peter Van der Beken
9af14c557f Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
Peter Van der Beken
e4c543b77c Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz.
--HG--
extra : rebase_source : 5dd51c4ad5274da9235c8c341b0531f234e95a91
2012-10-09 14:31:24 +02:00
Andrew McCreight
2f959ef5b7 Bug 800392 - Clear nsXBLSpecialDocInfo's fields at shutdown. r=smaug 2012-10-14 12:15:12 -04:00
Olli Pettay
76ea6cb8e7 Bug 733305, add a way to hide XBL, r=bz, a=abillings
--HG--
extra : rebase_source : df18273ecdbf013138e8e6f1f4ef8082ac4f410c
2012-10-10 22:04:42 +03:00
Boris Zbarsky
41e33df4f9 Bug 790265. Changes that might attach a binding (e.g. state changes on <object> elements) should trigger a frame construction attempt even for display:none elements, so the binding will get attached. r=dholbert 2012-10-05 23:50:55 -04:00
Bobby Holley
9b319107a7 Bug 795275 - Introduce an explicit mechanism for determining if a script is from XBL. r=mrbkap
We want this right now so that we can avoid the scary warning when content Components
access happens in XBL (which we're allowing going forward). This patch would be overkill
just for that, but I also have plans to introduce a SOW-like protection of the Components
wrapper filtering policy. I can't just do the filename hack for that though, because real-
world XBL filenames might be all over the place. So let's just be safe here.
2012-10-03 11:44:18 +02:00
Ms2ger
9de4e445fb Bug 793116 - Remove nsISupports argument to xpc_CreateGlobalObject; r=bholley 2012-10-02 10:24:11 +02:00
Peter Van der Beken
6cf9f896da Fix for bug 791774 (Hook DOM lists up to the new DOM bindings). r=bz.
--HG--
extra : rebase_source : 873020edd9cd3defc932d77bd26b5d65ebf263cb
2012-06-13 17:18:30 +02:00
Terrence Cole
3eda1202a1 Bug 791322 - Move Rooted to js:: namespace; r=billm
These should not be part of the public API.

--HG--
extra : rebase_source : 00a69ee54f06e3f557cd9ec2f3b059df10aa32df
2012-09-24 18:08:22 -07:00
Bill McCloskey
c53e57f4b2 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Ehsan Akhgari
8cc30b88b2 Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Makoto Kato
6025716d17 Bug 785321 - Replace PRUptrdiff with uintptr_t, prtdiff_t or etc; r=ehsan,jrmuizel 2012-09-14 16:09:52 -04:00
Fabrice Desré
6dbbce9357 Bug 782865 - Keyboard simple quote character does not work in OOP applications [r=cjones] 2012-09-10 18:15:07 -07:00
Daniel Holbert
1dc8cb22b6 Bug 789382: Change nsIScriptError methods init() and initWithWindowID() to take nsAString, rather than wchar / PRUnichar*. r=bz sr=bsmedberg 2012-09-09 16:29:12 -07:00
Terrence Cole
aed2094b1c Bug 787580 - Root all jsval at the API surface; r=sfink sr=dmandelin
--HG--
rename : layout/reftests/text-decoration/underline-select-2-ref.html => layout/reftests/text-decoration/underline-button-1-ref.html
rename : layout/reftests/text-decoration/underline-select-2.html => layout/reftests/text-decoration/underline-button-1.html
extra : rebase_source : 008f2bab76a005947a4c0bd10b6d9ea8531ea6d0
2012-09-04 16:40:12 -07:00
Makoto Kato
1356f06137 Bug 784912 - nsIStreamListener.onDataAvailable should handle 64-bit offset. r=honza 2012-09-06 11:41:02 +09:00
Randell Jesup
65539ef89c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Andrew McCreight
c063a3e54c Bug 750570, part 4 - Switch most native CC classes to use the purple buffer. r=smaug
This patch actually converts over most of the existing native CC classes
to use the participant. This is done by converting them to use
the newly generalized nsCycleCollectingAutoRefCnt instead of their usual
ref count.

This is mostly a matter of defining new macros defining AddRef() and Release()
for native CC classes with the CC ref count.

nsTimeout is left as a legacy native CC class because it is a weird class,
but hopefully eventually it too can be converted over.  See bug 774874.
2012-08-24 09:50:06 -07:00
Luke Wagner
ad90af9ca5 Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley)
--HG--
extra : rebase_source : 12acf2288285f5caefd7fecea8207de3a47eab5b
2012-08-21 18:42:53 -07:00
Peter Van der Beken
ee9eae3141 Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky.
--HG--
extra : rebase_source : 651a0fac4c9a87ef1c0a9cd91588c6421fd050c4
2012-05-22 15:46:20 +02:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
L. David Baron
e780b1cb86 Back out nsXBLPrototypeHandler changes from changeset d09b4e60bb09 to fix bug 776075. 2012-08-20 19:23:32 -07:00
Ian Melven
01a802da01 Bug 341604 - modify CheckMayLoad to allow sandboxed workers to load blob and data URIs r=jst 2012-08-20 11:34:33 -07:00
Jim Blandy
bd7212f7b7 Bug 777174: Change CallNonGenericMethod to take the predicate and implementation as template arguments, not function arguments. r=luke
On x86_64 Fedora 17, this patch yields an 8ms (1.6%) speedup on SunSpider compared to the tree just prior to the introduction of CallNonGenericMethod, or a ~12ms (2.8%) speedup compared to the tree just after the introduction.
2012-08-16 11:40:05 -07:00