Commit graph

713 commits

Author SHA1 Message Date
wolfbeast
da1cb60dc3 Move the Parser::checkFunctionDefinition call into its callers. 2019-04-13 07:01:23 +08:00
wolfbeast
5cb16b488f Move part of Parser::functionDefinition into callers. 2019-04-13 07:01:21 +08:00
wolfbeast
9a97be75ac Track strict mode errors in for...in and for...of correctly when
syntax-parsing.
2019-04-13 07:01:19 +08:00
wolfbeast
e92f878a93 Track strict mode errors in unary deletions correctly when
syntax-parsing.
2019-04-13 07:01:18 +08:00
wolfbeast
1f00dc49d4 Specify an explicit offset when warning about "use asm" found in the
directive prologue of a script (rather than a function body).
2019-04-13 07:01:16 +08:00
wolfbeast
a652eb1916 Change report at current offset to warning(), extraWarning() and error() 2019-04-13 07:01:14 +08:00
wolfbeast
70fbb46d9e Remove the |bool strict| argument from the report-at-current-offset
Parser function (zeport).
zeport => qeport
2019-04-13 07:01:12 +08:00
wolfbeast
e9ffb69b02 Split Parser::report into Parser::zeport (a temporary name) that uses
the current offset, and Parser::reportWithNode that derives it from a
Node.
2019-04-13 07:01:10 +08:00
Tooru Fujisawa
5676f63f41 Stage 1-4: Update tests 2019-04-13 07:00:27 +08:00
wolfbeast
f2622bd19f Stage 1-3: Generate better source in Object.prototype.toSource.
Tag #960.
2019-04-13 07:00:23 +08:00
wolfbeast
9081722152 Stage 1-2: Remove a space after comma in parameter list for generated
function source.
2019-04-13 07:00:21 +08:00
wolfbeast
b68de773fd Stage 1-1: Implement Function.prototype.toString revision proposal.
Tag #960
2019-04-13 07:00:18 +08:00
Roy Tam
51fa1b8bdb Merge remote-tracking branch 'origin/master' into custom 2019-04-04 20:32:53 +08:00
wolfbeast
09ad6f03c9 Remove AIX 1st party code OS checks, part 2
Issue #186
2019-04-04 20:26:46 +08:00
wolfbeast
fdc5d93422 Remove some HPUX leftovers.
Resolves #185
2019-04-04 20:26:43 +08:00
wolfbeast
769e5dad1e Remove AIX 1st party code OS checks, part 1
Issue #186
2019-04-04 20:26:39 +08:00
wolfbeast
0a50553673 Issue #187: Remove solaris 1st party code OS checks. 2019-04-04 20:26:29 +08:00
wolfbeast
78d61fd2b1 Issue #187: Remove solaris conditional code. 2019-04-04 20:26:26 +08:00
Roy Tam
583edc6020 Merge remote-tracking branch 'origin/master' into custom 2019-03-29 22:29:22 +08:00
wolfbeast
c3a58ab50b Simplify some alias sets in IonMonkey. 2019-03-29 22:27:39 +08:00
Nicolas B. Pierron
e390f01ef5 Restrict ExtractLinearSum to monotonous operation in infinite math space.
Thanks to Bruno Keith & Niklas Baumstark from the phoenhex team for
finding this issue and reporting it with a proper analysis.
2019-03-29 22:21:19 +08:00
Roy Tam
7c42464249 ported change from tenfourfox:
- chemspill: M1537924 M1538006 (backported to ESR45) (b22dfbd77)
2019-03-25 22:08:42 +08:00
Roy Tam
b186b7ea74 Merge remote-tracking branch 'origin/master' into custom 2019-03-23 06:56:07 +08:00
Jon Coppeard
4105e6bba4 Reset nursery position when it's disabled. 2019-03-23 06:44:21 +08:00
wolfbeast
ca54bbe536 Check for dead wrappers in CallerGetterImpl/CallerSetterImpl.
This also removes code duplication by making CallerSetterImpl call
CallerGetterImpl.
2019-03-23 06:44:13 +08:00
Nicolas B. Pierron
c6e54b5208 Force expected crashes on unexpected magic values. 2019-03-23 06:44:11 +08:00
wolfbeast
eb32b5d7e4 Pref the use of unboxed plain objects in JS and disable by default.
This should be all that's needed for #1017, but verification of
impact is definitely desired.
2019-03-23 06:44:08 +08:00
Roy Tam
55c995b79c Merge remote-tracking branch 'origin/master' into custom 2019-03-16 07:14:05 +08:00
adeshkp
f922e8ae0e Remove a couple of unused variables 2019-03-16 07:04:13 +08:00
Roy Tam
0d6f4484c4 miscellaneous Windows XP fixes 2019-02-22 22:04:03 +08:00
Roy Tam
d0a49a6995 configure: change windows version to 5.02 for x64 2019-02-22 21:32:24 +08:00
wolfbeast
c0871c52e1 Fix possible data race while updating scope object during compacting GC. 2019-02-16 00:28:06 +08:00
wolfbeast
becadd3588 Align instanceof with the final ES6 spec. 2019-02-16 00:28:03 +08:00
wolfbeast
39d5eb7759 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-02-16 00:27:49 +08:00
wolfbeast
5aa6fbb0ae Fix build error with JS_HAS_TOSOURCE undefined. 2019-02-16 00:27:44 +08:00
adeshkp
521c918660 Remove telemetry leftovers from JS engine. 2019-02-16 00:27:38 +08:00
David Teller
7d0bef1093 Reduce number of allocations in AutoStopwatch
This patch fixes two related issues.
1. The AutoStopwatch uses a stack-allocated `mozilla::Vector` to
communicate with its callback during each compartment switch.
This vector was designed to allow its contents to be stack-allocated
but they turned out to be accidentally heap-allocated.

2. During each tick, the stopwatch fills a vector `recentGroups_`.
This vector always started with minimal capacity and had to grow
repeatedly as groups were added, causing repeated reallocations.
This patch preallocates `recentGroups_` to have the same capacity as the
previous tick. We expect that this should eventually reach a stable size
that closely matches the actual needs of the process.
2019-02-16 00:27:30 +08:00
wolfbeast
dce38e8d76 Revert "Reduce number of allocations in AutoStopwatch"
This reverts commit 3476c1d60ec29c5497123194acd7a9310b1023d2.
2019-02-16 00:27:29 +08:00
David Teller
059aeea416 Reduce number of allocations in AutoStopwatch
This patch fixes two related issues.
1. The AutoStopwatch uses a stack-allocated `mozilla::Vector` to
communicate with its callback during each compartment switch.
This vector was designed to allow its contents to be stack-allocated
but they turned out to be accidentally heap-allocated.

2. During each tick, the stopwatch fills a vector `recentGroups_`.
This vector always started with minimal capacity and had to grow
repeatedly as groups were added, causing repeated reallocations.
This patch preallocates `recentGroups_` to have the same capacity as the
previous tick. We expect that this should eventually reach a stable size
that closely matches the actual needs of the process.
2019-02-16 00:27:28 +08:00
adeshkp
aea50f182f Telemetry: Remove stubs and related code 2019-02-16 00:24:04 +08:00
wolfbeast
0c5263683a Restrict ExtractLinearSum to find non-wrapping results. 2019-02-16 00:22:09 +08:00
wolfbeast
518106945b Use canonical function in TypeNewScript::rollbackPartiallyInitializedObjects. 2019-02-16 00:22:06 +08:00
wolfbeast
e4ac0e17f8 Fix mistakingly flagged instructions.
This enables optimizations which were wrongly inhibited before by this typo.
2019-02-16 00:21:23 +08:00
wolfbeast
930cc1db3b Fix a longstanding IndexedDB correctness issue.
Standards Compliance fix, port of Bug 1492737
2019-02-16 00:18:35 +08:00
wolfbeast
acb2819baa Simplify SIMD conversion from Uint64 to Double. 2019-02-16 00:18:22 +08:00
wolfbeast
c554052ddd Don't mark MGetFirstDollarIndex as movable. 2019-02-16 00:18:16 +08:00
wolfbeast
3567db7ccc Code style improvements (no bug). 2019-02-16 00:16:18 +08:00
wolfbeast
f592b614d0 Improve graph edge resolution code.
This is a follow-up to ca7ecd37c94e268972697a37eec4e46771c6e6f2 further improving the DiD resolution for CVE-2018-12386.
2019-02-16 00:16:16 +08:00
wolfbeast
3757eafab3 Bug 1493900.
DiD fix.
2019-02-16 00:15:07 +08:00
trav90
7ccaa52ace Rename TypeSet::clone to TypeSet::cloneIntoUninitialized to indicate that it freshly initializes the TemporaryTypeSet* provided to it.
Also removes existing code that, quite unnecessarily, partly initialized that argument.
2019-02-16 00:14:12 +08:00