Commit Graph

34415 Commits

Author SHA1 Message Date
Ms2ger
c66721be2e Backout changeset 69c0707a144a for crashes on a CLOSED TREE. 2014-07-10 21:04:26 +02:00
Ms2ger
576e908707 Bug 1036777 - Remove the useAllocator argument to XPCConvert::JSData2Native; r=bholley
It turns out the useAllocator argument is only used for the dipper types
(nsXPTType::{T_ASTRING, T_DOMSTRING, T_UTF8STRING, T_CSTRING}), while we
only pass true in cases where we don't have a dipper type:

* XPCConvert::JSArray2Native errors on those types;
* GetNamedPropertyAsVariantRaw() passes an interface type;
* nsXPCWrappedJSClass::CallMethod passes !param.IsDipper() for the first
  calls and only reaches the last call for dependent types, which do not
  include any of the dipper types;
* CallMethodHelper::ConvertIndependentParam handles dipper types earlier
* and CallMethodHelper::ConvertDependentParam handles dependent types.
2014-07-10 20:23:24 +02:00
Bobby Holley
65fb84431e Bug 1034262 - Honor the wantXrays of both sides of the membrane when computing same-origin wrappers. r=gabor
The basic problem in the testcase is that one compartment requests same-origin
Xrays via wantXrays=true (the default for Sandboxes) while the other does not.
The current code only considers the wantXrays flag of the compartment performing
the access, so we end up in a situation where we have same-origin compartments,
but Xray in one direction and Transparent in the other.

This is a problem for crossCompartmentFunction.apply(null, [arg]). If both
globals get transparent wrappers, there's obviously no problem. And if both
globals get XrayWrappers, then the |apply| happens on the XrayWrapper of the
function in the caller's compartment. So the Array is unpacked in the caller's
compartment, and again we have no problem.

But if the caller gets Transparent and the callee gets Xrays, then we end up
invoking |apply| from the callee's side, which then gets an XrayWrapper to the
array. This XrayWrapper may do surprising things, leading to the odd situation
in the testcase.

Same-origin Xrays are kind of broken anyway, but I don't think we'll ever be
able to get rid of them. So the most sensible thing to do is probably to honor
the flag (if set) from either compartment. This patch does that.
2014-07-10 10:04:30 -07:00
Bobby Holley
e1aca738c7 Bug 1034239 - Replace GentlyOpaque with an "Xray-to-nothing" wrapper. r=gabor
I did this wrong before. Making this a SecurityWrapper means that the caller does
not subsumes the target, and that the target therefore needs to be protected
from the caller. But GentlyOpaque was supposed to be an analog of PermissiveXray
for use when no useful XrayTraits exist, so it should behave similarly.

If we make this a Filtering Security Wrapper, we get a bunch of assertions where we
expect CheckedUnwrap to succeed for a chrome-side wrapper. And we can't making it
a Filtering Non-Security Wrapper, because then the filtering policy isn't even
consulted (an optimization in jsproxy.cpp).

Really, we want all of the Xray machinery (like the ability to waive and to place
expandos), and we just don't want to resolve any properties. This patch does this.
2014-07-10 09:31:37 -07:00
Bobby Holley
f8d8886c1e Bug 1034239 - Add Proxies to ForceCOWBehavior. r=gabor 2014-07-10 09:31:37 -07:00
Jan de Mooij
8b6b81e090 Bug 1034627 part 3 - Fix SandboxDump, AccessCheck.cpp to work with Latin1 strings and nursery strings. r=bholley 2014-07-10 17:36:35 +02:00
Jan de Mooij
b04bdad6da Bug 1034627 part 2 - Fix xpconnect Dump and Print functions to work with Latin1 strings and nursery strings. r=bholley 2014-07-10 17:36:33 +02:00
Jan de Mooij
a16e9b86c8 Bug 1034627 part 1 - Add some new string APIs. r=terrence 2014-07-10 17:36:31 +02:00
Tooru Fujisawa
af71ab7b52 Bug 923028 - Part 2: Emit loop instead of JSOP_SPREAD. r=jandem 2014-07-08 02:25:00 -04:00
Carsten "Tomcat" Book
12ad323001 Backed out changeset 0f0e44cd5fbd (bug 1034616) for jit test failures 2014-07-10 10:18:05 +02:00
Boris Zbarsky
995fa78987 Bug 1034616. Fix Frame-onPop-generators-02.js test to pass even if we start reporting the exceptions we're supposed to be reporting but fail to report right now. r=jorendorff 2014-07-10 02:56:21 -04:00
Brian Hackett
df64d8862a Bug 1021790 - "Cleanup naming for scalar and typed array types", r=sfink 2014-06-06 09:36:00 -07:00
Steve Fink
520725707f Bug 1035092 - Fix places that return nullptr as a bool, r=terrence 2014-07-07 07:58:03 -07:00
Dan Gohman
a43a2970c5 Bug 1036037 - IonMonkey: Add a unit-test for folding a div to a multiply by reciprocal. r=nbp 2014-07-09 13:20:31 -07:00
Sankha Narayan Guria
c570a9da37 Bug 999764 - Optimize floating-point division into multiplication when safe; r=sunfish 2014-07-09 11:37:14 +02:00
Nathan Froyd
419bfb2ddd Bug 1031352 - move most of the _MSC_VER references in Makefile.in to moz.build; r=glandium 2014-06-27 10:32:05 -04:00
Shu-yu Guo
07a914d6c3 Bug 1034280 - Don't report warnings for recover instructions when snapshotting frames for PJS bailout warnings. (r=nbp) 2014-07-09 12:23:07 -07:00
Shu-yu Guo
24113dbfba Bug 1030985 - Optimize arguments.callee. (r=h4writer) 2014-07-09 12:23:07 -07:00
Ehsan Akhgari
777f5daec1 Bug 1036235 - Do not use __asan_default_options with clang-cl because it is not supported yet; r=decoder 2014-07-09 15:16:55 -04:00
Benjamin Bouvier
8a6256d7f2 Bug 1023145: Use the original getPrototypeOf in self-hosted code; r=till 2014-07-09 15:59:25 +02:00
Douglas Crosher
e59faf0d32 Bug 1026919 - IonMonkey: (ARM) Cleanup of the assembler and backend. r=mjrosenb 2014-07-09 09:41:18 +10:00
Mukilan Thiyagarajan
c0ddfb3ebf Bug 1000994 - Allow specifying SONAME of a shared library in moz.build. r=glandium 2014-07-09 00:47:00 +02:00
Jon Coppeard
1db69bd415 Backed out changeset 41da9bcec12e (bug 1029648) for possible Sunspider regression on FxOS Flame 2014-07-09 10:45:56 +01:00
Guptha Rajagopal
2252172893 Bug 1034314 - Fix for Bug 1034314 - CR in template string hits assertion failure. r=jorendorff 2014-07-08 09:13:00 +02:00
Nick Fitzgerald
d70a957a66 Bug 1030945 - Support asm.js frames in SavedStacks. r=luke 2014-07-07 12:59:00 +02:00
Guillaume Turri
cfdbcb86a8 Bug 1019843 - avoid a leak when init() fails. r=jorendorff 2014-07-05 00:37:00 +02:00
Douglas Crosher
74337cc9c4 Bug 1013056. r=shu 2014-07-08 09:42:00 +10:00
Mike Hommey
f0105131b8 Bug 1029346 - Add -Wno-error=coverage-mismatch to PGO builds 2014-07-09 08:05:03 +09:00
Jeff Walden
3b502f3694 Bug 953296 - Make the source-hook mechanism use mozilla::UniquePtr. r=jimb
--HG--
extra : rebase_source : c285fec8b38790fe78e3f29106011a928e12322e
2013-12-30 13:34:54 -06:00
Branislav Rankov
ab62f02c05 Bug 1032786 - IonMonkey MIPS: Change JSReturnOperand registers to a2,a3. r=nbp 2014-07-07 14:58:42 +02:00
Branislav Rankov
4687fbb187 Bug 1007156 - IonMonkey MIPS: Fix alignment for arguments in calls to C++ from IonCaches. r=nbp 2014-07-07 15:27:45 +02:00
Branislav Rankov
d997a782e6 Bug 1007156 - IonMonkey MIPS: Fix alignment for double-sized arguments in VMWrapper calls. r=nbp 2014-07-04 19:29:41 +02:00
Branislav Rankov
1ad862853f Bug 1020359 - Fix typo in GenerateParallelBailoutThunk for ARM. r=shu 2014-07-04 14:36:03 +02:00
Branislav Rankov
e760b3165a Bug 1020359 - MIPS followup on bug 1019304. Overhaul PJS bailout mechanism. r=shu 2014-07-04 14:33:33 +02:00
Branislav Rankov
3793c3a90a Bug 1020359 - IonMonkey MIPS: Add missing or32. r=nbp 2014-06-30 16:28:17 +02:00
Jon Coppeard
3ae6405e63 Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence 2014-07-08 14:05:24 +01:00
Jon Coppeard
d8e1209e18 Bug 1034566 - Add GC tracing for object types r=terrence 2014-07-08 14:05:24 +01:00
Jon Coppeard
03876ffa6b Bug 1034566 - Add GC tracing for whether objects have finalizers r=terrence 2014-07-08 14:05:24 +01:00
Jon Coppeard
89cec48ea7 Bug 1034566 - Refactor gcstats.cpp r=terrence 2014-07-08 14:05:23 +01:00
Jon Coppeard
c6af2d5d3d Backed out changeset cad7de31731e (bug 1029648) for possible Sunspider regression on FxOS Flame 2014-07-08 13:36:43 +01:00
André Bargull
698de1e2e5 Bug 1035325 - Incorrect data type in GetDeflatedUTF8StringLength. r=jandem 2014-07-08 04:03:00 -04:00
Benjamin Bouvier
e379dc6986 Bug 1034972: Don't allow object shorthand in asm.js; r=luke 2014-07-08 10:28:45 +02:00
Sankha Narayan Guria
fbe816cbc5 Bug 1030699 - Sqrt Recover Instruction. r=bbouvier 2014-07-07 15:02:40 +02:00
Wes Kocher
77c71abded Backed out changeset 33082e3bfed9 (bug 1030985) under suspicion of breaking xpcshell tests on a CLOSED TREE 2014-07-07 15:38:36 -07:00
Bobby Holley
b3a9b29482 Bug 1033927 - Drop support for custom [object XrayWrapper [object ClassName]] stringification. r=peterv 2014-07-07 13:11:24 -07:00
Shu-yu Guo
acae1e61fc Bug 1030985 - Optimize arguments.callee. (r=h4writer) 2014-07-07 13:11:11 -07:00
Jim Blandy
d64bf2a5b8 Bug 1034908: Mark js::ErrorCopier construct as 'explicit', as per review comments. r=jorendorff 2014-07-07 11:52:40 -07:00
Jim Blandy
c8fb20684f Bug 1034908: Remove the unused 'scope' argument to ErrorCopier::ErrorCopier and js_CopyErrorObject. r=jorendorff 2014-07-07 11:47:49 -07:00
Luke Wagner
b55ea3ba52 Bug 1034330 - OdinMonkey: rename various AsmJSModule fields to be more consistent (r=bbouvier)
--HG--
extra : rebase_source : 33e70b1c85f093ce4b9c7ef9a93258231704be82
2014-07-07 10:45:02 -05:00
Luke Wagner
4ff35e504d Bug 1034330 - OdinMonkey: have masm.assumeUnreachable just generate a breakpoint in asm.js (r=bbouvier)
--HG--
extra : rebase_source : f924c22b82a068fc2f5bc4834f1c4c3bcd799a2b
2014-07-03 17:00:26 -05:00