Commit Graph

284765 Commits

Author SHA1 Message Date
Mike Hommey
bed0e35451 Bug 1249167 - Fix dependencies involving stdc++compat and clang-plugin. r=mshal 2016-02-19 07:00:03 +09:00
Nathan Froyd
798482b96e Bug 1249369 - use UniquePtr instead of nsAutoArrayPtr in MediaPipeline.cpp; r=jesup 2016-02-18 14:09:23 -05:00
Paul Kerr [:pkerr]
9936e427b2 Bug 1240790: Add newlines to WEBRTC_TRACE_FILE. r=rjesup 2016-02-18 13:16:26 -08:00
Nathan Froyd
c7e9ede331 Bug 1249368 - use UniquePtr instead of nsAutoArrayPtr in gfxAlphaBoxBlur; r=jrmuizel 2016-02-18 14:10:00 -05:00
Hannes Verschore
f8d6701b3a Bug 1249252: SharedStubs - Add typebarrier to getprop shared stub, r=jandem 2016-02-18 15:17:38 -05:00
Justin Dolske
d705564ffa Backout 44f79bbe2b51 (bug 1219788), not working as intended. 2016-02-18 12:16:52 -08:00
Dustin J. Mitchell
02bd80c11c Bug 1231618: set MOZ_SOURCE_{REPO,CHANGESET}; r=ted.mielczarek
MozReview-Commit-ID: CSaXjrWmZtN
2016-02-09 17:39:57 +00:00
Armen Zambrano Gasparnian
d365733b9e Bug 1209932 - Enable Marionette normal and e10s modes. r=jmaher
MozReview-Commit-ID: 675sLap4Hrc
2016-02-18 12:27:42 -05:00
kearwood
ac3ed9c41a Bug 1237689 - Enable Oculus hardware latency tester r=daoshengmu
- Generate and pass sequential frame indexes into the ovr_GetTrackingState call and the corresponding call to ovr_SubmitFrame

MozReview-Commit-ID: 5tJl5YJt7Eo
2016-01-08 18:50:10 -08:00
Jakob Stoklund Olesen
2893f42cb0 Bug 1244889 - Disallow unsigned SIMD types for global variables. r=luke
Treat global variables the same as function arguments and return values: No
unsigned SIMD types allowed. This simplifies interoperation with WebAssembly.

Add a Type::isGloblVarType() which can be used to check for valid types.

Fold CheckGlobalVariableImportExpr into its single caller.

Remove Type::var(ValType) and Type::ret(ExprType). These backwards conversions
were only used for diagnostics, and we can use the existing ToCString() function
for that. Move this function form Wasm.cpp to WasmTypes.h so it can be used
everywhere.

MozReview-Commit-ID: FolGlCTVmgZ
2016-02-18 11:38:15 -08:00
Jakob Olesen
87c9fc2c6b Bug 1244889 - Fix Float32x4toUint32x4 for asm.js. r=bbouvier
The machine code needs to branch to wasm::JumpTarget::ConversionError instead of
bailing out.

MozReview-Commit-ID: 63vyHt2eJj
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
13f8e8d232 Bug 1244889 - Add support for Uint32x4 as an asm.js type. r=luke
Add Uint32x4 to NumLit and Type classes.

Reject unsigned SIMD types in function signatures to avoid confusion when
interoperating with WebAssembly.

MozReview-Commit-ID: 7FvQKKITVKR
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
5f60edfe40 Bug 1244889 - Handle all SIMD types in js::SimdTypeToName. r=bbouvier
Also move IsSimdTypeName() into builtin/SIMD.cpp and handle all SIMD type names
there too.

Use IsSimdValidOperationType(simdType, SimdOperation::Constructor) to check for
supported SIMD types in asm.js instead of depending on IsSimdTypeName() to only
return true on supported types.

MozReview-Commit-ID: FZrnPZc8zmJ
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
ff68f75365 Bug 1244889 - Amend wasm opcodes for unsigned I32x4 operations. r=bbouvier
The wasm types don't have signed/unsigned SIMD integers. Add enumerators for
those unsigned simd operations that behave differently than their signed I32x4
counterparts.

Implement wasm code generation for unsigned SIMD types.

Split the convertSimd() function into two variants for conversions and bitcasts
respectively. Add a SimdSign argument to the conversion variants.

Add a SimdSign argument to the extractSimdElement() function. This is not
strictly needed for I32x4 since wasm uses I32 for both signed and unsigned ints.
It will be required for the I8x16 and I16x8 types, though, because the lane
value needs to be extended to an I32.

Split out the binarySimdComp function for binary comparisons, and thread
through a SimdSign argument.

Add a SimdSign to EmitSimdOp() and thread it through where needed.

MozReview-Commit-ID: B8FHOHzjbBX
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
f84dc980e8 Bug 1244889 - Remove trivial SIMD NewAsmJS factories. r=bbouvier
The MSimd*::NewAsmJS() factory functions are not longer needed since the normal
MSimd*::New() functions also require the SIMD arguments to be unboxed since
bug 1244254.

Remove the trivial NewAsmJS functions here. The remaining SIMD NewAsmJS
functions will be removed in the next commit.

MozReview-Commit-ID: JtgRKZTmrzS
2016-02-18 11:38:15 -08:00
Jakob Olesen
41040ba472 Bug 1244889 - Remove SimdTypeToLength(). r=bbouvier
Use the existing GetSimdLanes() defined in SIMD.h.

MozReview-Commit-ID: 5vQhY2XFdDC
2016-02-18 11:38:14 -08:00
Jakob Olesen
adafbb7afc Bug 1244889 - Fix CheckCoercionArg and CheckReturnType. r=luke
These two functions can also take a Type argument instead of ValType/ExprType.

This makes it possible to avoid some explicit SIMD type enumerations, and the
Type <= ValType subtyping test is no longer needed.

MozReview-Commit-ID: 1nkMDUdgLkE
2016-02-18 11:38:14 -08:00
Jakob Olesen
7a16c268f9 Bug 1244889 - Reduce dependency on wasm::ExprType. r=luke
When validating function calls and coercions, use a canonical Type instead of a
wasm::ExprType to express the desired return type.

This will make it possible to distinguish signed/unsigned SIMD types during
validation.

MozReview-Commit-ID: 4S0SuRRgCzm
2016-02-18 11:38:14 -08:00
Jakob Stoklund Olesen
4ceae4dfe1 Bug 1244889 - Reduce dependency on wasm::ValType. r=luke
The WebAssembly and the asm.js type systems are diverging. In particular,
WebAssembly will not distinguish signed/unsigned SIMD types, while asm.js must
since it is compatible with SIMD.js. The wasm::ValType enum also has an I64
which is not supported by asm.js

Reduce OdinMonkey's dependency on wasm::ValType by returning a canonical 'class
Type' instead from these functions:

- IsCoercionCall()
- CheckTypeAnnotation()
- CheckArgumentType()

Avoid wasm::ValType for asm.js locals. We want to allow signed/unsigned SIMD
locals.

Remove NumLit::type().

MozReview-Commit-ID: Eutj6QKqn02
2016-02-18 11:38:14 -08:00
Jakob Olesen
f01d096a6e Bug 1244889 - Define a canonical subset of Type::Which. r=luke
This subset of the asm.js types corresponds to the Void type and all the
coercion targets. It corresponds to wasm::ExprType, except:

- asm.js does not support I64.
- asm.js distinguishes signed/unsigned SIMD types, wasm does not.

The function Type::canonicalize() maps a type into the canonical set.
Type::isCanonical() checks for membership.

This subset of Type::Which will be used to replace wasm::ValType and
wasm::ExprType in the asm.js type checking code. This makes it possible to
type-check unsigned SIMD types correctly.

Eliminate Type:checkedValueType(). Use Type::canonicalToValType() instead.

MozReview-Commit-ID: EBrCiPVYzh8
2016-02-18 11:38:14 -08:00
Jakob Stoklund Olesen
77d74cd545 Bug 1244889 - Rename Type:isVarType() out of the way. r=luke
This function is only used by CheckIsVarType which is actually used for
checking function arguments.

Rename isVarType -> isArgType and CheckIsVarType -> CheckIsArgType to better
match the usage.

This frees up the concept of a "var type" for the following patch.

MozReview-Commit-ID: 4J63ammf3zS
2016-02-18 11:38:14 -08:00
Jakob Stoklund Olesen
87399acc27 Bug 1244889 - Remove toMIRType() and simdType() methods. r=bbouvier
These methods on the asm.js Type class were unused.

MozReview-Commit-ID: 3JG3UxKR4nm
2016-02-18 11:38:14 -08:00
Dave Townsend
e5fd70477e Bug 1249074: Don't offer existing sideloaded add-ons to users when creating a new profile. r=rhelmer
MozReview-Commit-ID: 7pnZhEvGRfj
2016-02-17 11:06:00 -08:00
Milan Sreckovic
718c1f90fb Bug 1240160: Add the TimeStamp based uptime value to crash reports, tagging it as UptimeTS, to differentiate from an existing Uptime value. A bit of additional code, avoiding the usage of C libraries to format some strings and a way to gtest these. r=BenWa,ted.mielczarek carrying ted.mielczarek review for the exception handler changes.
MozReview-Commit-ID: 12pRuD7agIG
2016-02-17 17:44:21 -05:00
Byron Campen [:bwc]
3b10fb7a89 Bug 1241153: Stop blocking addTrack on GMP init, and update codecs on existing tracks when GMP init finishes. r=jesup
MozReview-Commit-ID: GqUBh0O5Dpk
2016-02-12 14:21:33 -06:00
Andrew Halberstadt
bc65d45431 Bug 1231784 - Also override the startup.homepage_welcome_url.additional pref to avoid non-local connections on Beta/Release. r=jgriffin 2016-02-18 13:47:59 -05:00
James Graham
60fa623f37 Bug 1245559 - Updated expected wpt results for win7 e10s, a=test-only 2016-02-03 23:18:43 +00:00
Jeff Gilbert
7ee596dd70 Bug 1201885,1247752,1247753 - Re-mark passing/failing tests. 2016-02-18 09:47:18 -08:00
Jakob Stoklund Olesen
682b46ee03 Bug 1248503 - Disable test when SIMD is not available. r=me
MozReview-Commit-ID: LmJVS9VV7Ti
2016-02-18 09:11:02 -08:00
Andrew McCreight
91089616a9 Bug 1243577, part 3 - Make test_blob_file_backed.js use SpecialPowers.createFiles(). r=khuey
This method is e10s-compatible. It is async, so it requires
rejiggering the test a little. This also requires fixing up a shim
version for xpcshell tests. Finally, this test is the only user of
SpecialPowers.createDOMFiles, so I removed it.
2016-02-18 09:09:28 -08:00
Andrew McCreight
04e5937ce0 Bug 1243577, part 2 - Change file permissions to match SpecialPowers.createFiles. r=khuey
I don't think that this matters, but I split it into a separate change
set to avoid hiding it.
2016-02-18 09:09:28 -08:00
Andrew McCreight
3abeb02389 Bug 1243577, part 1 - Delete trailing whitespace in xpcshell-head-parent-process.js. r=khuey 2016-02-18 09:09:28 -08:00
Andrew McCreight
4ecbfa478c Bug 1248097, part 4 - Don't throw away the _createdFiles array every time. r=jmaher
This would cause us to not delete some created files if
SpecialPowers.createFiles() is called multiple times in a single test.
2016-02-18 09:09:28 -08:00
Andrew McCreight
464780ebd7 Bug 1248097, part 3 - Add file creation support for options. r=jmaher 2016-02-18 09:09:28 -08:00
Andrew McCreight
56fa22e2c6 Bug 1248097, part 2 - If no name is specified for createFiles, use createUnique to create one. r=jmaher 2016-02-18 09:09:28 -08:00
Andrew McCreight
f9411faa52 Bug 1248097, part 1 - Fix indentation in SpecialPowersObserver.jsm. r=jmaher 2016-02-18 09:09:28 -08:00
Randell Jesup
05037c9346 Bug 1242724: add an export of runnable_utils.h unless/until it gets moved to xpcom/mfbt r=glandium
MozReview-Commit-ID: C577TmkWaWE
2016-02-18 11:44:55 -05:00
Mason Chang
466c69e9fc Bug 1249033 - Enable Subpixel AA Text on Skia for Dwrite and GDI Fonts. r=jrmuizel 2016-02-18 08:37:43 -08:00
Luke Wagner
7d548123e3 Bug 1241233 - Odin: don't report symbolicLinks memory usage twice (r=bbouvier)
MozReview-Commit-ID: EH7pybiedfB
2016-02-18 10:33:57 -06:00
Gian-Carlo Pascutto
1bdfc8ab82 Bug 1247236. r=jesup 2016-02-18 17:25:22 +01:00
Honza Bambas
f170a6058c Bug 961430 - Allow pid be added to the log file name automatically. r=froydnj 2016-02-18 07:56:00 -05:00
Honza Bambas
9c30d26122 Bug 1247432 - Don't do any unnecessary I/O in cache2 after shutdown. r=michal 2016-02-12 09:36:00 -05:00
Patrick McManus
0a21c75b87 Bug 1248203 - streamline h2 stream flow control buffer r=hurley 2016-02-13 12:10:02 -05:00
Lee Salzman
7a5043d903 Bug 1245241 - part 4 - move SharedMemorySysV details into nsShmImage. r=nical 2016-02-18 10:56:15 -05:00
Lee Salzman
e26c137a89 Bug 1245241 - part 3 - remove unused AdoptShmem from IPDL. r=billm 2016-02-18 10:56:15 -05:00
Lee Salzman
f60663a2ce Bug 1245241 - part 2 - remove TYPE_SYSV Shmems from IPDL. r=billm 2016-02-18 10:56:15 -05:00
Lee Salzman
7f444182a3 Bug 1245241 - part 1 - Close Shmem file handles after mapping them when possible to reduce exhaustion issues. r=billm 2016-02-18 10:56:15 -05:00
Patrick McManus
7bbadcc77a Bug 698882 - mozilla::net::PollableEvent r=dragana r=mayhemer 2016-02-11 15:00:22 -05:00
Michael Bebenita
ac3d70c0fb Bug 1247855: Resolve named functions and locals (r=luke)
MozReview-Commit-ID: 8yzOQrR2Idj
2016-02-11 23:49:05 -08:00
Nathan Froyd
758485aa11 Bug 1248770 - change sdp_unittests to cope with diverse c++ standard interpretations; r=jesup
The C++ standard, [facet.num.get.virtuals], defines the method to be
used for reading numeric values from an iterator.  The core loop is
defined thusly in N3242 (the draft for the C++11 standard):

  Stage 2: If in==end then stage 2 terminates. Otherwise a charT is
  taken from in and local variables are initialized as if by

    char_type ct = *in;
    char c = src[find(atoms, atoms + sizeof(src) - 1, ct) - atoms];
    if (ct == use_facet<numpunct<charT> >(loc).decimal_point())
      c = '.';
    bool discard =
      ct == use_facet<numpunct<charT> >(loc).thousands_sep()
      && use_facet<numpunct<charT> >(loc).grouping().length() != 0;

  where the values src and atoms are defined as if by:

    static const char src[] = "0123456789abcdefxABCDEFX+-";
    char_type atoms[sizeof(src)];
    use_facet<ctype<charT> >(loc).widen(src, src + sizeof(src), atoms);

  for this value of loc.

  If discard is true, then if '.' has not yet been accumulated, then the
  position of the character is remembered, but the character is
  otherwise ignored. Otherwise, if '.' has already been accumulated, the
  character is discarded and Stage 2 terminates.

  If the character is either discarded or accumulated then in is
  advanced by ++in and processing returns to the beginning of stage 2.

  Stage 3: The sequence of chars accumulated in stage 2 (the field) is
  converted to a numeric value by the rules of one of the functions
  declared in the header <cstdlib>:

    - For a signed integer value, the function strtoll.
    - For an unsigned integer value, the function strtoull.
    - For a floating-point value, the function strtold.

The important part for our purposes here is the line:

    char c = src[find(atoms, atoms + sizeof(src) - 1, ct) - atoms];

which implies that we are to accumulate any and all characters that
might be numerical constituents.  According to the spec text, we might
accumulate a long run of numeric constituents, only to decide in stage 3
that our accumulated string cannot be a valid number.  Please note that
this includes characters like 'x' and 'X' which are only valid as part
of a hexadecimal prefix.

sdp_unittests has a number of tests that look like:

  ParseInvalid<SdpImageattrAttributeList::XYRange>("[x", 1);

The test converts the input string to a stringstream, and attempts to
read an integer from the stream starting after the '[' character.  The
test expects that no input from the string stream will be consumed, as
the character 'x' cannot begin any number, and thus the position of the
stream after failure will be 1.  This behavior is consistent with MSVC's
standard library, libstdc++, and stlport.

However, libc++ uses a different algorithm that appears to hew more
closely to the letter of the spec, and consumes the 'x' character as
being a valid constituent character ("accumulates" in the above text).
The string is rejected as an invalid integer, yet the position of the
string stream afterwards is different from what the test expects, and we
therefore fail.

This patch therefore alters a number of tests to use a different invalid
character, 'v', that both the incremental algorithm (MSVC, libstdc++,
stlport) and the all-at-once algorithm (libc++) will recognize as not
being a valid constituent character and stop the parsing early, as
expected.  You might think that specifying the base for numeric input as
std::dec would work, and it partially does, but reading floating-point
numbers still reads the 'x' characters (!).
2016-02-16 21:09:34 -05:00