Commit message (Collapse) | Author | Age | Lines | |
---|---|---|---|---|
* | Split Parser::report into Parser::zeport (a temporary name) that uses | wolfbeast | 2019-04-05 | -209/+198 |
| | | | | | the current offset, and Parser::reportWithNode that derives it from a Node. | |||
* | Merge branch 'master' into 816 | wolfbeast | 2019-04-05 | -288/+97 |
|\ | ||||
| * | Remove AIX 1st party code OS checks, part 2 | wolfbeast | 2019-04-01 | -7/+1 |
| | | | | | | | | Issue #186 | |||
| * | Remove AIX 1st party code OS checks, part 1 | wolfbeast | 2019-03-31 | -26/+0 |
| | | | | | | | | Issue #186 | |||
| * | Issue #187: Remove solaris 1st party code OS checks. | wolfbeast | 2019-03-30 | -28/+0 |
| | | ||||
| * | Issue #187: Remove solaris conditional code. | wolfbeast | 2019-03-30 | -130/+2 |
| | | ||||
| * | Simplify some alias sets in IonMonkey. | wolfbeast | 2019-03-26 | -6/+4 |
| | | ||||
| * | Restrict ExtractLinearSum to monotonous operation in infinite math space. | Nicolas B. Pierron | 2019-03-23 | -4/+17 |
| | | | | | | | | | | Thanks to Bruno Keith & Niklas Baumstark from the phoenhex team for finding this issue and reporting it with a proper analysis. | |||
| * | Reset nursery position when it's disabled. | Jon Coppeard | 2019-03-22 | -0/+2 |
| | | ||||
| * | Check for dead wrappers in CallerGetterImpl/CallerSetterImpl. | wolfbeast | 2019-03-22 | -46/+12 |
| | | | | | | | | | | This also removes code duplication by making CallerSetterImpl call CallerGetterImpl. | |||
| * | Pref the use of unboxed plain objects in JS and disable by default. | wolfbeast | 2019-03-21 | -13/+17 |
| | | | | | | | | | | This should be all that's needed for #1017, but verification of impact is definitely desired. | |||
| * | Remove a couple of unused variables | adeshkp | 2019-03-14 | -2/+0 |
| | | ||||
| * | Use C++11 thread-safe statics with MSVC. (js) | wolfbeast | 2019-02-14 | -4/+0 |
| | | ||||
| * | Fix possible data race while updating scope object during compacting GC. | wolfbeast | 2019-02-07 | -3/+8 |
| | | ||||
| * | Align `instanceof` with the final ES6 spec. | wolfbeast | 2019-02-07 | -18/+30 |
| | | ||||
| * | Fix build error with JS_HAS_TOSOURCE undefined. | wolfbeast | 2019-02-02 | -1/+4 |
| | | ||||
* | | Stage 1-4: Update tests | Tooru Fujisawa | 2019-02-03 | -53/+424 |
| | | ||||
* | | Stage 1-3: Generate better source in Object.prototype.toSource. | wolfbeast | 2019-02-02 | -87/+193 |
| | | | | | | | | Tag #960. | |||
* | | Stage 1-2: Remove a space after comma in parameter list for generated | wolfbeast | 2019-02-02 | -1/+1 |
| | | | | | | | | function source. | |||
* | | Stage 1-1: Implement Function.prototype.toString revision proposal. | wolfbeast | 2019-02-02 | -154/+330 |
|/ | | | | Tag #960 | |||
* | Remove telemetry leftovers from JS engine. | adeshkp | 2019-01-30 | -453/+63 |
| | ||||
* | Reduce number of allocations in AutoStopwatch | David Teller | 2019-01-29 | -6/+21 |
| | | | | | | | | | | | | | | | 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. | |||
* | Revert "Reduce number of allocations in AutoStopwatch" | wolfbeast | 2019-01-29 | -18/+8 |
| | | | | This reverts commit 3476c1d60ec29c5497123194acd7a9310b1023d2. | |||
* | Reduce number of allocations in AutoStopwatch | David Teller | 2019-01-28 | -8/+18 |
| | | | | | | | | | | | | | | | 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. | |||
* | Telemetry: Remove stubs and related code | adeshkp | 2019-01-12 | -25/+0 |
| | ||||
* | Restrict ExtractLinearSum to find non-wrapping results. | wolfbeast | 2018-12-13 | -1/+1 |
| | ||||
* | Use canonical function in TypeNewScript::rollbackPartiallyInitializedObjects. | wolfbeast | 2018-12-13 | -7/+26 |
| | ||||
* | Fix mistakingly flagged instructions. | wolfbeast | 2018-12-12 | -1/+1 |
| | | | | This enables optimizations which were wrongly inhibited before by this typo. | |||
* | Fix a longstanding IndexedDB correctness issue. | wolfbeast | 2018-11-02 | -4/+20 |
| | | | | Standards Compliance fix, port of Bug 1492737 | |||
* | Simplify SIMD conversion from Uint64 to Double. | wolfbeast | 2018-11-01 | -31/+21 |
| | ||||
* | Don't mark MGetFirstDollarIndex as movable. | wolfbeast | 2018-10-31 | -1/+4 |
| | ||||
* | Code style improvements (no bug). | wolfbeast | 2018-10-23 | -9/+18 |
| | ||||
* | Improve graph edge resolution code. | wolfbeast | 2018-10-23 | -17/+48 |
| | | | | This is a follow-up to ca7ecd37c94e268972697a37eec4e46771c6e6f2 further improving the DiD resolution for CVE-2018-12386. | |||
* | Bug 1493900. | wolfbeast | 2018-10-04 | -3/+12 |
| | | | | DiD fix. | |||
* | Rename TypeSet::clone to TypeSet::cloneIntoUninitialized to indicate that it ↵ | trav90 | 2018-09-19 | -9/+11 |
| | | | | | | freshly initializes the TemporaryTypeSet* provided to it. Also removes existing code that, quite unnecessarily, partly initialized that argument. | |||
* | Don't use PodCopy/PodMove to implement typed-array element-to-element copying | trav90 | 2018-09-19 | -4/+17 |
| | | | | 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. | |||
* | Give uint8_clamped a defaulted (and also trivial) default constructor, copy ↵ | trav90 | 2018-09-19 | -6/+3 |
| | | | | | | constructor, and copy-assignment operator. This also allows uint8_clamped to be permissibly memmove'd and memcpy'd. | |||
* | Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial ↵ | trav90 | 2018-09-12 | -15/+11 |
| | | | | VirtualRegister instances | |||
* | Initialize some asm.js structures using in-class initializers instead of PodZero | trav90 | 2018-09-12 | -9/+9 |
| | ||||
* | Stop using PodZero in several places to initialize values of non-trivial type | trav90 | 2018-09-12 | -57/+49 |
| | ||||
* | Merge pull request #754 from trav90/class-memaccess-errors | Moonchild | 2018-09-10 | -95/+180 |
|\ | | | | | Fix more -Wclass-memaccess warnings (GCC8) | |||
| * | Fix build bustage | trav90 | 2018-09-02 | -1/+1 |
| | | ||||
| * | Call the relevant scope-data constructor when allocating it, and poison/mark ↵ | trav90 | 2018-09-02 | -31/+72 |
| | | | | | | | | as undefined the memory for the trailing array of BindingNames, ratther than impermissibly PodZero-ing non-trivial classes. | |||
| * | Convert the trailing array of BindingNames at the end of the various kinds ↵ | trav90 | 2018-09-02 | -64/+108 |
| | | | | | | | | 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 | |||
* | | Add extra check for assembler buffer space. | wolfbeast | 2018-09-04 | -1/+2 |
|/ | ||||
* | Revert "Bug 1444668 - Avoid allocating large AssemblerBuffers. r=luke, ↵ | wolfbeast | 2018-08-30 | -49/+9 |
| | | | | | | r=bbouvier, a=RyanVM" This reverts commit 9472136272f01b858412f2d9d7854d2daa82496f. | |||
* | Merge pull request #707 from trav90/class-memaccess-errors | Moonchild | 2018-08-13 | -28/+10 |
|\ | | | | | Simplify HeapSlot to make it trivially copyable | |||
| * | Simplify HeapSlot to make it trivially copyable | trav90 | 2018-08-12 | -29/+8 |
| | | | | | | | | This removes the constructors, which were never called since we allocate arrays of HeapSlot with pod_malloc. The destructor is only ever called explicitly since we free this memory with js_free so it has been renamed to destroy(). Also removed is an unused manual barrier. | |||
| * | Avoid using memcpy on HeapSlot that is not trivially copyable. | trav90 | 2018-08-12 | -4/+7 |
| | | ||||
* | | js::atomics_wait: Remove unnecessary parentheses in declaration of 'addr' | trav90 | 2018-08-10 | -1/+1 |
|/ | | | | Silences a warning with GCC 8. |