Commit message (Collapse) | Author | Age | Lines | |
---|---|---|---|---|
* | Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls. | wolfbeast | 2019-06-14 | -38/+41 |
| | ||||
* | Clean up and rename MoveBoxedOrUnboxedDenseElements. | wolfbeast | 2019-06-13 | -16/+0 |
| | ||||
* | Convert CopyBoxedOrUnboxedDenseElements to calls to initDenseElement | wolfbeast | 2019-06-13 | -18/+0 |
| | ||||
* | Remove functors for array natives. | wolfbeast | 2019-06-12 | -121/+0 |
| | ||||
* | Remove unboxed array context option and shell flag. | wolfbeast | 2019-06-12 | -13/+0 |
| | ||||
* | Make use of ArrayObjects in favor of generic JS objects. | wolfbeast | 2019-06-12 | -14/+11 |
| | | | | | ArrayObjects has been a thing for years but been under-used. About time they are used where prudent. | |||
* | 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 |
|\ | ||||
| * | Merge pull request #1091 from MoonchildProductions/remove-unboxed | Moonchild | 2019-05-22 | -445/+5 |
| |\ | | | | | | | Remove unboxed objects phase 1 | |||
| * | | 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 | |||
* | | | Remove UnboxedArray code part 2 | wolfbeast | 2019-05-23 | -1499/+94 |
| |/ |/| | ||||
* | | 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 |
|/ | ||||
* | 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 |