Commit Graph

62135 Commits

Author SHA1 Message Date
Jan de Mooij
0f44d0eae7 Bug 1450796 - Remove overzealous assert in spectreBoundsCheck32. r=luke 2018-04-09 20:20:56 +02:00
Jan de Mooij
9543429998 Bug 1452406 - Support calling RecompileInfo::shouldSweep under CodeGenerator::link instead of asserting. r=tcampbell 2018-04-09 19:36:41 +02:00
Jan de Mooij
1e8bda0d63 Bug 1452491 - Split uint64_t in IonCompilationId in two 32-bit integers to avoid 8-byte alignment. r=tcampbell 2018-04-09 19:35:12 +02:00
Nicolas B. Pierron
6532a81f8f Bug 1437510 - ARM: Zero the payload if the Value tag does not match the expected tag. r=jandem 2018-04-05 15:15:13 +00:00
Margareta Eliza Balazs
fee150dfac Backed out changeset 18c36451a875 (bug 1437510) for wpt failures in /fetch/api/request/request-idl.html on a CLOSED TREE 2018-04-09 19:52:20 +03:00
Nicolas B. Pierron
38341abf63 Bug 1437510 - ARM: Zero the payload if the Value tag does not match the expected tag. r=jandem 2018-04-09 16:04:12 +00:00
Jim Blandy
9a977a7860 Bug 1445973: Part 4: Clear the hasCachedSavedFrame bit on a frame when we miss for a pc mismatch. r=jorendorff
We'd really like the LiveSavedFrameCache to be able to assert that, if a frame
has its hasCachedSavedFrame bit set, there is indeed a cache entry for it (if
the cache hasn't been cleared completely for a compartment mismatch). See the
explanation of LiveSavedFrameCache in Stack.h, and the comments in
LiveSavedFrameCache::find.

Sometimes we do find a cache entry for the frame, but execution in that frame
has progressed to a different source position since we cached it, so the
SavedFrame in that cache entry isn't useful. When this occurs, we used to simply
pop the cache entry, and report a miss: although this did create a situation
where a frame with its bit set had no cache entry, that was only temporary: we
would push a new entry for the frame as we build the new SavedFrame chain.

Unless, of course, SavedFrame construction encounters an OOM and the whole
process aborts early.

This patch clears a frame's hasCachedSavedFrame bit when we report a cache miss
due to a pc mismatch. Under normal circumstances, the frame will soon be cached
again and its bit re-set. If an OOM does occur, the absence of the cache entry
is accurately reported.
2018-03-29 19:51:18 -07:00
Jim Blandy
9c3ddeb000 Bug 1445973: Part 3: Add FramePtr::clearHasCachedSavedFrame method. r=jorendorff
This entails implementing corresponding methods on each variant of
FramePtr::Ptr.
2018-03-29 19:35:22 -07:00
Jim Blandy
d4f761ce85 Bug 1445973: Part 2: Add 'clearSavedFrames' testing function to JS shell. r=jorendorff
OOM tests often depend on invoking a function repeatedly, failing a different
allocation each time. Flushing the caches helps ensure consistent behavior from
one invocation to the next.
2018-04-06 11:33:57 -07:00
Jim Blandy
51b71202a5 Bug 1445973: Part 1: Comment typo. r=jorendorff 2018-04-06 11:33:23 -07:00
Bogdan Tara
b9a19479b9 Merge inbound to mozilla-central. a=merge 2018-04-09 00:43:58 +03:00
David Teller
3897cc4d44 Bug 1452441 - Fix infinite recursion in testBinASTReader for Windows;r=Yoric
MozReview-Commit-ID: Fwv0VgPpv4v
2018-04-08 09:46:07 +02:00
Phil Ringnalda
ea478ef691 Bug 1437004 followup, disable BinAST tests on Windows where they create an infinite path, a=bustage 2018-04-07 19:40:08 -07:00
Jan de Mooij
1644e9da7d Bug 1448887 - Remove async Ion loop interrupts. r=luke 2018-04-08 17:01:40 +02:00
Jan de Mooij
fb3bb0e221 Bug 1451443 - Remove CompilerOutput and simplify Ion code invalidation. r=tcampbell 2018-04-06 10:55:49 +02:00
Brindusan Cristian
f60ac3e511 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-07 13:00:30 +03:00
Boris Zbarsky
c35184d8f7 Bug 1452010 part 1. Remove uses of nsIDOMDOMException. r=qdot
MozReview-Commit-ID: K5zUjh25WJG
2018-04-06 23:27:56 -04:00
Adrian Wielgosik
3c7a24d734 Bug 1170771 - Remove now-empty nsDOMClassInfo. r=bz
MozReview-Commit-ID: 7XsiPD1kTt9
2018-04-05 14:20:44 +02:00
Adrian Wielgosik
71ba2587b0 Bug 1170771 - Remove ThisTranslator and support code. r=bz
MozReview-Commit-ID: Fv0F4RLCnkL
2018-04-05 12:49:24 +02:00
Noemi Erli
3c53027143 Merge inbound to mozilla-central. a=merge 2018-04-07 00:55:15 +03:00
Tom Schuster
7e9b235d56 Bug 1450574 - Remove DeprecatedLanguageExtension telemetry code. r=jandem 2018-04-04 20:41:07 +02:00
Benjamin Bouvier
7b8d5d5773 Bug 1450795; r=luke 2018-04-03 18:41:07 +02:00
Sebastian Hengst
9838b43a1f Bug 1450574 - Remove expressionClosureHandling from Parser: fix leftover merge conflict CLOSED TREE 2018-04-06 18:17:57 +03:00
Andreea Pavel
ec82015581 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-06 17:54:45 +03:00
Andreea Pavel
3a750461f5 Backed out changeset 67ff53988f4d (bug 1451443) for hazard failures on a CLOSED TREE 2018-04-06 14:00:48 +03:00
Andreea Pavel
fa7ef642ca Merge mozilla-inbound to mozilla-central. a=merge 2018-04-06 13:20:21 +03:00
David Teller
e959dd0d90 Bug 1437004 - Introducing BinSource parser generator;r=froydnj,jorendorff
This crate contains a parser generator as a Rust crate. The parser generator is used to generate
BinSource-auto.h, BinSource-auto.cpp, BinToken.h. As of this changeset, to limit yak shaving,
the parser generator is not part of the build system. Making it part of the build system
is delegated to bug 1439645.

MozReview-Commit-ID: 1lODDSIsz8W
2018-04-05 15:21:17 +02:00
David Teller
d7b284727f Bug 1437004 - Updating tokenizer tests to ast v3;r=arai
MozReview-Commit-ID: BbP6n1CwHvs
2018-02-21 16:24:03 +01:00
David Teller
5610e89c8e Bug 1437004 - Porting BinAST to AST v3;r=arai,jorendorff
This patch is a nearly complete reimplementation of BinASTReader, with the following changes:

- Files BinToken.h, BinSource-auto.h (new), BinSource-auto.cpp (new) are now autogenerated by the generator in js/src/frontend/binsouce from the webidl specifications of BinAST and a small
configuration file.
- Optional fields have been removed. Rather, some specific fields may, if so marked in the specifications, contain a Null constant.
- `hasDirectEval` is now checked for consistency (NOT completeness).
- `varDeclaredNames` is now checked for consistency (NOT completeness).
- `lexicallyDeclaredNames` is now checked for consistency (NOT completeness).
- `parameterNames` is now checked for consistency (NOT completeness).
- `capturedNames` is NOT checked.
- Atoms read are now properly expected to be UTF8.

This patch does not implement the entire specifications, but should implement most of ES5. In particular, it is sufficient to parse the source code of:
- Facebook;
- jQuery;
- mootools;
- Underscore;
- Backbone;
- Angular.

MozReview-Commit-ID: HwkVB5dliZv
2018-02-21 17:07:03 +01:00
David Teller
c8e195bc30 Bug 1437004 - Fixing null string behavior in BinAST tokenizer;r=arai,jorendorff
MozReview-Commit-ID: AH91BMcoZsB
2018-02-21 16:27:22 +01:00
Jan de Mooij
af34fb40ca Bug 1451443 - Remove CompilerOutput and simplify Ion code invalidation. r=tcampbell 2018-04-06 10:55:49 +02:00
Tom Schuster
13ebc925e0 Bug 1450574 - Remove expressionClosureHandling from Parser. r=jorendorff 2018-04-04 20:07:47 +02:00
Tom Schuster
fe0bd1aec6 Bug 1450574 - Remove NoExpressionClosure FunctionSyntaxKind values. r=jorendorff 2018-04-01 18:47:52 +02:00
Noemi Erli
f0bc7cc872 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-05 13:44:11 +03:00
Noemi Erli
f8f0186c86 Merge inbound to mozilla-central. a=merge 2018-04-05 13:02:11 +03:00
Lars T Hansen
70bd5da3d0 Bug 1451292 - Better payload for arm64 breakpoint instruction. r=sstangl
At least some non-zero payloads confuse GDB and make it iloop on the
breakpoint instruction rather than break to the command line as it
should.  There seems to be no reason not to use a zero payload.
2018-04-04 15:48:48 +02:00
Bobby Holley
4e8e5bc3bf Bug 1437998 - Remove SimpleGestureEvent and OfflineResourceList from kInterfaceShims. r=bz
MozReview-Commit-ID: HRQ2rux6tcT
2018-04-04 14:57:04 -07:00
Luke Wagner
d68370ff16 Bug 1450800 - Baldr: don't need HeapPtr for GCVector elements (r=lth) 2018-04-04 13:23:03 -05:00
Luke Wagner
623c09cc25 Bug 1450800 - Add null check to InternalGCPointerPolicy methods (r=sfink) 2018-04-04 13:21:21 -05:00
André Bargull
035f5ad859 Bug 1451251 - Inline more functions used for self-hosting. r=jandem 2018-04-04 01:55:43 -07:00
Nicolas B. Pierron
a82dad1a56 Bug 1444473 - Spectre: Add Jit inline caches mitigation for values returned from C++. r=jandem 2018-04-04 13:07:22 +00:00
Margareta Eliza Balazs
f76dd1483e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-04 12:51:48 +03:00
Margareta Eliza Balazs
4a65daf2b1 Merge inbound to mozilla-central. a=merge 2018-04-04 12:43:55 +03:00
Jan de Mooij
e922555a01 Bug 1450790 - Remove redundant poisoning in DEBUG builds in WeakCollection_finalize. r=sfink 2018-04-04 11:11:20 +02:00
Tom Schuster
2b09a5fd58 Bug 1083458 - Remove isExprBody from everything but FunctionBox to keep Reflect.parse working. r=Waldo 2018-04-03 14:18:57 +02:00
Ciure Andrei
ac39fcba12 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-04-04 00:58:50 +03:00
Ciure Andrei
0b523d8933 Merge inbound to mozilla-central. a=merge 2018-04-04 00:54:16 +03:00
Manish Kumar
a65badc792 Bug 1428468 - JS::GetValueZone(const Value& value) declared but never defined. r=sfink 2018-04-02 19:47:42 +02:00
Ciure Andrei
9310649108 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-04 00:56:56 +03:00
David Teller
c70bb03fb5 Bug 1437004 - ParseNode::dump() now displays names for ObjectPropertyNames;r=arai,jorendorff
By opposition to the built-in SpiderMonkey parser, the out of tree parser used as part of the BinAST encoder does not make a difference between

```js
{
  foo: 1
}
```

and

```js
{
   "foo": 1
}
```

SpiderMonkey considers that the former example has a literal property name, while the latter has a computed property name. By opposition,
the BinAST encoder considers that both are literal property names.

While the runtime behavior is identical, this caused SpiderMonkey to print different ASTs when text-parsing both source files,
but the same AST when bin-parsing both source files.

This patch addresses the issue by changing the behavior of ParseNode::dump() to display names for ObjectPropertyNames instead of
the string `ObjectPropertyName`.

MozReview-Commit-ID: IPZBl5eglIJ
2018-02-15 12:01:47 +01:00