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
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
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
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
adeshkp
f922e8ae0e
Remove a couple of unused variables
2019-03-16 07:04:13 +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
trav90
74983ef77e
Don't use PodCopy/PodMove to implement typed-array element-to-element copying
...
Standard std::copy and std::copy_n are readily optimized to the same thing, and they don't have a non-obvious requirement that the type being copied be trivial.
2019-02-16 00:14:10 +08:00
trav90
3bfbbf5d40
Give uint8_clamped a defaulted (and also trivial) default constructor, copy constructor, and copy-assignment operator.
...
This also allows uint8_clamped to be permissibly memmove'd and memcpy'd.
2019-02-16 00:14:09 +08:00
trav90
4b23aec47e
Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial VirtualRegister instances
2019-02-16 00:13:50 +08:00
trav90
4d089648be
Call memset on a void*, not a T*, in js_delete_poison to avoid memset-on-nontrivial warnings with gcc that don't matter for an object whose lifetime is about to end
2019-02-16 00:13:48 +08:00
trav90
fbef1917ad
Initialize some asm.js structures using in-class initializers instead of PodZero
2019-02-16 00:13:46 +08:00
trav90
02e07860b2
Stop using PodZero in several places to initialize values of non-trivial type
2019-02-16 00:13:45 +08:00
trav90
fc1e50d7e9
Fix build bustage
2019-02-16 00:13:01 +08:00
trav90
78d0ec7fc9
Call the relevant scope-data constructor when allocating it, and poison/mark as undefined the memory for the trailing array of BindingNames, ratther than impermissibly PodZero-ing non-trivial classes.
2019-02-16 00:12:59 +08:00
trav90
4cbf54089a
Convert the trailing array of BindingNames at the end of the various kinds of scope data into raw unsigned chars into which those BindingNames are placement-new'd, rather than memcpy-ing non-trivial classes around and failing to comply with the C++ object model
2019-02-16 00:12:57 +08:00
wolfbeast
8c8145e620
Remove all C++ Telemetry Accumulation calls.
...
This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables).
Stub resolution/removal should be a follow-up to this.
2019-02-16 00:12:32 +08:00
wolfbeast
ac3468d5cc
Add extra check for assembler buffer space.
2019-02-16 00:12:29 +08:00
wolfbeast
36a9805617
Revert "Bug 1444668 - Avoid allocating large AssemblerBuffers. r=luke, r=bbouvier, a=RyanVM"
...
This reverts commit 9472136272f01b858412f2d9d7854d2daa82496f.
2019-02-16 00:12:16 +08:00
trav90
2fabd9fa1b
Avoid using memset on a not-trivial type like ServoSizes
2019-02-16 00:11:36 +08:00
trav90
37959f9945
Avoid using memset on a not-trivial type like TabSizes
2019-02-16 00:11:35 +08:00