Commit Graph

282596 Commits

Author SHA1 Message Date
Jim Mathies
bcc264e1dc Bug 1243413 - Avoid hiding windowed plugins that aren't contained within the active scroll frame. r=roc 2016-02-01 16:50:57 -06:00
Jakob Stoklund Olesen
79cf8f0120 Bug 1240796 - Implement Uint32x4 extractLane in Ion. r=nbp
Since Uint32 can't be represented in a MIRType_Int32, this function should
return a MIRType_Double.

Allow MSimdExtractElement(Uint32x4) to return a MIRType_Int32 too. It will work
like the double version followed by MTruncateToInt32 which bitcasts the Uint32
value range into the Int32 value range.
2016-02-01 14:55:07 -08:00
Jakob Stoklund Olesen
7cf821edf3 Bug 1240796 - Implement unsigned SIMD compares. r=sunfish
Add a MSimdBinaryComp::AddLegalized function which expands unsigned compares on
target platforms that don't support them directly. The early expansion exposes
the constants to MIR optimizations.

Unsigned comparison is expressed in terms of signed comparison by offsetting
both sides by INT_MIN.
2016-02-01 14:55:07 -08:00
Jakob Stoklund Olesen
3c43eb0443 Bug 1240796 - Implement Uint32x4 <==> Float32x4 conversions. r=sunfish
The conversion from Uint32x4 to Float32x4 is not available as an SSE
instruction, so we need to expand into a larger instruction sequence lifted
from LLVM. Make this expansion early when generating MIR so that it can be
exposed to LICM and GVN optimizations.

The conversion from Float32x4 to Uint32x4 can throw a RangeError. It is handled
similarly to LFloat32x4ToInt32x4. This expansion depends on the details of the
cvttps2dq instruction that can't be expressed in MIR, so it can't be expanded
early.
2016-02-01 14:55:07 -08:00
Jakob Stoklund Olesen
f07719e1fb Bug 1240796 - Connect SIMD.Uint32x4 operations to the Ion inliner. r=bbouvier
Add a new InlinableNative::SimdUint32x4 enumerator, and emit the corresponding
JSJitInfo objects in SIMD.cpp.

Start producing template objects for Uint32x4 operations in BaselineIC.cpp.

Add a new SimdSign enum class to SIMD.h which will be used to distinguish
between signed and unsigned integers in the few places where it matters.

Map the SIMD.Uint32x4 type to the existing MIRType_Int32x4 + SimdSign::Unsigned.
Map SIMD.Int32x4 to MITType_Int32x4 + SimdSign::Signed.

Add a 'SimdSign sign' argument to those inlineSimd...() functions that care.
Some MIR instructions will get similar fields in the following commits.

For now, abort inlining if unsigned vectors are actually encountered. These cases
will be fixed in the following commits.
2016-02-01 14:55:07 -08:00
Jakob Stoklund Olesen
236093fbab Bug 1240796 - Add Uint32x4 support to jit-test/lib/simd.js. r=bbouvier 2016-02-01 14:55:07 -08:00
Jakob Stoklund Olesen
79157fe38d Bug 1240796 - Extract baseline code to GetTemplateObjectForSimd(). r=bbouvier
Extract the code that generates template objects for SIMD operations, and
rewrite it to use the JSJitInfo nativeOp encoding.

This avoids the native function pointer comparisons, and it makes it simpler to
add new SIMD types and operations.
2016-02-01 14:55:07 -08:00
Jakob Stoklund Olesen
fcc5c766d5 Bug 1240796 - Inline SIMD operations that return scalars. r=bbouvier
The extractLane(), anyTrue(), and allTrue() SIMD functions produce scalar
values, and so they don't need a template object. The canInlineSimd() function
was rejecting these functions because of the missing template object.

At the same time, explicitly avoid inlining any SIMD operations if the JIT does
not support SIMD. This was previously controlled by the absense of the template
object.
2016-02-01 14:55:06 -08:00
Jakob Stoklund Olesen
1d208cb18f Bug 1240796 - Detemplatize getOrCreateSimdTypeDescr(). r=bbouvier
This saves some code size in a cold function, and it makes it possible to pass
in the SIMD type as a dynamic argument.

Also detemplatize the static CreateSimdType() to save some code size.

Replace all of the Get*TypeRepr() self-hosting functions with a single
GetSimdTypeDescr() which takes one of the JS_SIMDTYPEREPR_* constants as an
argument instead.

Total code shrink ~ 32 KB.
2016-02-01 14:55:06 -08:00
Geoff Brown
c2fe10f190 Bug 1241907 - Grant runtime permissions before running browser tests; r=jmaher 2016-02-01 15:52:34 -07:00
Jonathan Griffin
5b612b0470 Bug 1240825 - Add an asserts statement for a crashtest on e10s, a=test-only 2016-02-01 14:46:21 -08:00
Jim Chen
6db455a6bf Bug 1243070 - Remove obsolete size-change code; r=snorp
Remove obsolete SIZE_CHANGED event and its handler in nsWindow. Also
remove some other supporting code (such as gAndroidBounds and the
FORCED_RESIZE event) that should be unnecessary by now.
2016-02-01 17:38:14 -05:00
Jim Chen
b6f9d60f3b Bug 1243070 - Use native method to notify window size change; r=snorp
Convert the SIZE_CHANGED event to a native method in GLController, and
carry over the SIZE_CHANGED implementation to the new implementation in
GLController. Some other changes were made for correctness in handling
size changes.
2016-02-01 17:38:14 -05:00
Jim Chen
dc1f911518 Bug 1243069 - Control GeckoThread state entirely from C++ code; r=snorp
Right now, we rely on browser.js sending Gecko:Ready, to set the
GeckoThread state to RUNNING upon receiving Gecko:Ready. This patch
gets rid of this dependency on browser.js and Gecko:Ready.
2016-02-01 17:38:14 -05:00
Jim Chen
fe64d3e01c Bug 1243049 - Update robocop tests to use new prefs API; r=gbrown
Change old robocop prefs API to the new API and add helper classes for
getting prefs. Also switch all tests that use prefs to use the new API.
2016-02-01 17:38:14 -05:00
Jim Chen
64afe7e3b3 Bug 1243049 - Use PrefHelper.addObserver; r=snorp
Use the new PrefHelper.addObserver method for adding pref observers.
2016-02-01 17:38:14 -05:00
Jim Chen
9d89aa3c68 Bug 1243049 - Convert browser.js prefs code to use observer; r=margaret
Convert the old prefs code in browser.js to use observer notifications
that are sent by the new PrefsHelper implementation, in order to handle
pseudo-prefs.
2016-02-01 17:38:14 -05:00
Jim Chen
d566a9e7f0 Bug 1243049 - Implement new PrefsHelper native methods; r=snorp
Implement the PrefsHelper native methods. The previous browser.js
implementation supported "pseudo-prefs" that did not exist as actual
prefs, but was accessible through PrefsHelper. In order to accommodate
these pseudo-prefs, we send observer notifications in order to
communicate with browser.js about prefs that we don't support.
2016-02-01 17:38:13 -05:00
Jim Chen
22854959ff Bug 1243049 - Update native bindings for PrefsHelper; r=me
Update auto-generated native bindings for PrefsHelper.
2016-02-01 17:38:13 -05:00
Jim Chen
25b09c5b0b Bug 1243049 - Introduce new PrefsHelper implementation; r=snorp
Introduce a new implementation for PrefsHelper that does not use events
or rely on browser.js for getting and/or setting prefs. Also add an
addObserver method to better match the removeObserver method.
2016-02-01 17:38:13 -05:00
Kyle Machulis
e8383c834c Bug 1164427 - Add w-p-t for elementFromPoint/elementsFromPoint on div with negative margins; r=roc 2016-02-01 14:33:51 -08:00
Kyle Machulis
b9e6a8a871 Bug 1164427 - Implement elementsFromPoint; r=roc r=khuey 2016-02-01 14:33:51 -08:00
Alexander Surkov
cf03195102 Bug 1220502 - ignore not visible text nodes for tree update, r=tbsaunde, roc 2016-02-01 17:05:45 -05:00
Daniel Holbert
36c1224fd8 Bug 1244166: Don't ignore stroke/fill properties in high-contrast mode, since doing so can produce icons that are invisible or whose colors are unrelated to the user's chosen high-contrast colors. r=longsonr 2016-02-01 11:23:09 -08:00
Joel Maher
944a14d8e2 Bug 1243758 - Add --browser-chrome and --chunk-by-runtime flags to browser-chrome-coverage test. r=chmanchester 2016-01-27 09:31:25 -08:00
Armen Zambrano Gasparnian
a8f7fb14aa Bug 1244720 - Modifications to tier 2 TaskCluster jobs. DONTBUILD. r=jmaher
* add Jetpack definition
* e10s mochitests were not using --e10s flag [1]
* disable mochitest e10s since they're not green anymore
* increase Marionette max runtime

[1]
Unfortunately, we had two payload entries defined for e10s mochitests.
That would cause the first paylod (with --e10s) to be ignored.
2016-02-01 16:11:12 -05:00
Andrea Marchesini
f75a246539 Bug 1243881 - patch 2 - unship performance.translateTime, r=bz 2016-02-01 21:48:04 +00:00
Andrea Marchesini
0422886196 Bug 1243881 - patch 1 - unship performance.translateTime, r=bz 2016-02-01 21:48:04 +00:00
Jordan Lund
0cd5d5e4e1 Bug 1219094 - releng - kill api-11 mozconfigs NPOTB DONTBUILD CLOSED TREE r=rail 2016-02-01 13:42:38 -08:00
Jeff Walden
e1a8a68414 Bug 1216150 - Mini-bustage fix for something I think I unintentionally qref'd into the final patch. r=bustage in a CLOSED TREE 2016-02-01 13:37:27 -08:00
Mark Goodwin
563a33c240 Bug 1241455 Send TLS Error Reports for subresources r=past, Gijs, mcmanus
This patch makes use of the security reporter component (which hasn't landed yet
 - see blockers) to allow automatic TLS error reports to be sent directly from
nsHttpChannel.cpp rather than sending them from browser.js. This allows failed
connections for subresources to be reported.

Some of the report sending from browser.js was retained to allow reports to be
sent at the time a user enables reporting. This has been modified to also make
use of the component.

Since the patient is on the table, I've also taken the opportunity to
remove the retry and status bits from aboutCertError.xhtml and
aboutNetError.xhtml - which removes a bunch of code and simplifies things a bit.

The mochitests have been modified to cope with the fact that the UI does not
update with report sending / report failures - instead, success and failure are
determined by examining the response seen from the server from within the test.
2016-02-01 11:18:50 +00:00
Andrea Marchesini
22eff2b6f9 Bug 1244782 - Removed non-used variables in Directory.cpp, r=smaug 2016-02-01 20:56:43 +00:00
Jeff Walden
9621f949eb Bug 1216150 - Turn on the experimental Intl.DateTimeFormat.prototype.formatToParts in b2g certified apps. r=fabrice 2016-02-01 12:48:58 -08:00
Jeff Walden
38b610ee4e Bug 1216150 - Split xpc::InitGlobalObject into an options-setting component and a global-object-modifying component, with the options-setting component being called before global object creation in all callers. r=bz 2016-02-01 12:48:03 -08:00
Jeff Walden
d823f047ee Bug 1079844 - Additional changes to use detachment terminology for ArrayBuffers rather than obsolete neutering terminology. r=bz 2016-01-28 16:09:12 -08:00
Jordan Lund
6baddc5631 Bug 1243448 - beta release source builder failing to run configure, NPOTB DONTBUILD r=callek 2016-02-01 12:31:28 -08:00
Ben Kelly
432492a249 Bug 1244122 P2 Perform refresh testing with http cache disabled. r=ehsan 2016-02-01 12:29:40 -08:00
Ben Kelly
d55c194c9c Bug 1244122 P1 Always support SW intercept even when http cache is disabled. r=mayhemer 2016-02-01 12:29:40 -08:00
Armen Zambrano Gasparnian
eab9b589e9 Bug 1244720 - TaskCluster Linux64 mochitest devtools are running without --chunk-by-runtime. DONTBUILD. r=jmaher 2016-02-01 13:49:08 -05:00
Bob Owen
8d65b61e48 Bug 1244774: Correct wchar_t/char16_t VS2015 compilation problem caused by patches for bug 1173371. r=jimm 2016-02-01 19:48:15 +00:00
J. Ryan Stinnett
70d3810dd0 Bug 1244304 - Remove unused appId / inBrowser from permission manager. r=ehsan 2016-02-01 13:15:26 -06:00
Daniel Näslund
c39e2d7c85 Bug 1239710 - Use CountingSort for Uint8Array and Int8Array; r=mrrrgn 2016-02-01 12:31:17 -06:00
Rail Aliiev
4279e57f8c Bug 1166464 - Bump version after shipping release builds r=jlund npotb DONTBUILD 2016-02-01 13:24:53 -05:00
Kyle Huey
6804a49459 Bug 1244582: Add back in a null check that was accidentally removed. r=smaug 2016-02-01 09:44:52 -08:00
Kyle Huey
7f8b725e06 Bug 1204784: Handle cases in nsThreadPool where Gecko doesn't own the thread that we're running on. r=froydnj 2016-02-01 09:44:52 -08:00
John Shih
a75215aaea Bug 993311 - Convert Network Stats API to WebIDL. r=bzbarsky. 2014-04-08 14:42:12 +08:00
Peter Van der Beken
0647b9863e Bug 1027734 - Convert mozPay to WebIDL. r=bzbarsky. 2016-01-26 18:38:03 +01:00
Jacek Caban
22b0583546 Bug 1244454 - Fixed skia compilation on mingw. r=lsalzman 2016-02-01 17:55:09 +01:00
Terrence Cole
a873488772 Bug 1243888 - Derive RootKind automatically from TraceKind; r=sfink 2016-01-27 09:54:53 -08:00
James Willcox
0c1a3578fd Bug 1238541 - Don't die in SharedSurface_EGLImage::ProducerReadReleaseImpl() if there is an existing fence r=jgilbert 2016-02-01 10:53:25 -06:00