Commit message (Collapse) | Author | Age | Lines | ||
---|---|---|---|---|---|
... | |||||
| * | Inline combined methods for NativeObject and UnboxedArrayObject accesses. | wolfbeast | 2019-06-10 | -129/+9 | |
| | | |||||
| * | Merge branch 'master' into remove-unboxed | wolfbeast | 2019-06-08 | -2/+6 | |
| |\ | |||||
| * | | Remove UnboxedArray code part 2 | wolfbeast | 2019-05-23 | -1499/+94 | |
| | | | |||||
* | | | Add Atomics.notify instead of Atomics.wake according to revised spec. | wolfbeast | 2019-06-12 | -1/+1 | |
| |/ |/| | | | | | | | - Keep .wake as an alias until we're certain it can be removed. - Enable SAB memory | ||||
* | | Merge pull request #1091 from MoonchildProductions/remove-unboxed | Moonchild | 2019-05-22 | -445/+5 | |
|\| | | | | | Remove unboxed objects phase 1 | ||||
| * | Remove Unboxed Objects from vm/ - Part 2 | wolfbeast | 2019-05-16 | -6/+0 | |
| | | |||||
| * | Remove unboxed object code from jit, Part 1 | wolfbeast | 2019-05-16 | -12/+0 | |
| | | |||||
| * | Remove Unboxed Objects from vm/ Part 1 + fix deprot | wolfbeast | 2019-05-16 | -15/+5 | |
| | | |||||
| * | Remove initial chunk of Unboxed Objects machinery part 2 | wolfbeast | 2019-05-15 | -12/+0 | |
| | | |||||
| * | remove unboxed code chunk (wip1) | wolfbeast | 2019-05-14 | -400/+0 | |
| | | |||||
* | | Implement array.flat and array.flatMap | wolfbeast | 2019-05-19 | -0/+2 | |
| | | | | | | | | | | | | Self-hosted implementation that adds both functions and adds them to @@unscopables as specced in ES2019. Resolves #1095 | ||||
* | | Implement String.prototype.trimStart and trimEnd. | wolfbeast | 2019-05-17 | -2/+4 | |
|/ | | | | | | This renames our internal function names because *Left and *Right might be deprecated and have to be removed later, making that trivial. Resolves #1089 | ||||
* | Issue #187: Remove solaris conditional code. | wolfbeast | 2019-03-30 | -11/+0 | |
| | |||||
* | Remove a couple of unused variables | adeshkp | 2019-03-14 | -1/+0 | |
| | |||||
* | Align `instanceof` with the final ES6 spec. | wolfbeast | 2019-02-07 | -10/+7 | |
| | |||||
* | Remove telemetry leftovers from JS engine. | adeshkp | 2019-01-30 | -88/+0 | |
| | |||||
* | Reduce number of allocations in AutoStopwatch | David Teller | 2019-01-29 | -5/+20 | |
| | | | | | | | | | | | | | | | 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 | -17/+7 | |
| | | | | This reverts commit 3476c1d60ec29c5497123194acd7a9310b1023d2. | ||||
* | Reduce number of allocations in AutoStopwatch | David Teller | 2019-01-28 | -7/+17 | |
| | | | | | | | | | | | | | | | 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 | -7/+0 | |
| | |||||
* | Use canonical function in TypeNewScript::rollbackPartiallyInitializedObjects. | wolfbeast | 2018-12-13 | -7/+13 | |
| | |||||
* | 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. | ||||
* | Stop using PodZero in several places to initialize values of non-trivial type | trav90 | 2018-09-12 | -29/+33 | |
| | |||||
* | 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 | -26/+53 | |
| | | | | 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 | -13/+46 | |
| | | | | 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 | ||||
* | Simplify HeapSlot to make it trivially copyable | trav90 | 2018-08-12 | -6/+4 | |
| | | | | 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 | |
| | |||||
* | Fix Build Bustage - with "--enable-debug" | janekptacijarabaci | 2018-07-12 | -0/+3 | |
| | |||||
* | Bug 1465108 - Use function pointers rather than virtual run method for GC ↵ | Jon Coppeard | 2018-06-07 | -2/+2 | |
| | | | | parallel tasks r=sfink a=abillings a=RyanVM | ||||
* | Refactor structured clone JSAPI to prevent mismatched scopes. | wolfbeast | 2018-06-07 | -208/+181 | |
| | | | | Roll-up of bugs 1442722, 1455071, 1433642, 1456604 and 1458320. | ||||
* | Change inlining of intrinsics. | wolfbeast | 2018-06-07 | -12/+33 | |
| | |||||
* | Make InitRuntimeNumberState's return type reflect its infallible nature. | wolfbeast | 2018-05-04 | -2/+1 | |
| | |||||
* | Issue #325 Part 14: Remove EXPOSE_INTL_API conditionals. | wolfbeast | 2018-05-04 | -31/+1 | |
| | |||||
* | Issue #325 Part 5: Remove non-Intl legacy code paths from js. | wolfbeast | 2018-05-04 | -6/+2 | |
| | |||||
* | Merge branch 'html_input_datetime_1' | wolfbeast | 2018-04-15 | -0/+1 | |
|\ | | | | | | | This is almost everything needed for #162. | ||||
| * | Bug 1287677 - Add mozIntl.getDisplayNames API | janekptacijarabaci | 2018-03-30 | -0/+1 | |
| | | |||||
* | | Fix Value::isGCThing footgun, stop returning true for NullValue | trav90 | 2018-04-07 | -1/+1 | |
|/ | |||||
* | Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring ↵ | janekptacijarabaci | 2018-03-25 | -2/+14 | |
| | | | | | | iterator close trynote Issue #74 | ||||
* | Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by ↵ | janekptacijarabaci | 2018-03-25 | -0/+36 | |
| | | | | | | try statements inside for-of Issue #74 | ||||
* | Bug 1342553, Bug 1343072, Bug 1344753 (details in the description) | janekptacijarabaci | 2018-03-25 | -13/+39 | |
| | | | | | | | | | | Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in JSTRY_FOR_OF Bug 1344753 - Update for-of stack depth in ControlFlowGenerator::processWhileOrForInLoop Issue #74 | ||||
* | Bug 1331585 - Allow falsy "done" values for IteratorClose due to exception ↵ | janekptacijarabaci | 2018-03-25 | -2/+3 | |
| | | | | | | during array destructuring Issue #74 | ||||
* | Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield* | janekptacijarabaci | 2018-03-24 | -3/+22 | |
| | | | | Issue #74 | ||||
* | Bug 1147371: Implement IteratorClose for array destructuring | janekptacijarabaci | 2018-03-24 | -9/+30 | |
| | | | | Issue #74 | ||||
* | Bug 1147371: Rename allowContentSpread to allowContentIter | janekptacijarabaci | 2018-03-24 | -1/+1 | |
| | | | | Issue #74 | ||||
* | Bug 1147371: Implement IteratorClose for for-of | janekptacijarabaci | 2018-03-24 | -4/+16 | |
| | | | | Issue #74 | ||||
* | Bug 1204028: Evaluate LHS reference before RHS in destructuring | janekptacijarabaci | 2018-03-20 | -3/+18 | |
| | | | | | Issue #73 [Depends on] Bug 1147371: Implement IteratorClose | ||||
* | Add support for the function `name` property. | wolfbeast | 2018-03-20 | -20/+42 | |
|\ | | | | | | | | | | | This resolves #78. Merged remote-tracking branch 'janek/js_function_name_1' |