summaryrefslogtreecommitdiffstats
path: root/js/src/vm
Commit message (Collapse)AuthorAgeLines
...
| | * Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls.wolfbeast2019-06-18-38/+41
| | |
| | * Clean up and rename MoveBoxedOrUnboxedDenseElements.wolfbeast2019-06-18-16/+0
| | |
| | * Convert CopyBoxedOrUnboxedDenseElements to something that doesn't crash.wolfbeast2019-06-17-18/+0
| | |
| | * Remove functors for array natives.wolfbeast2019-06-12-121/+0
| | |
| | * Remove unboxed array context option and shell flag.wolfbeast2019-06-12-13/+0
| | |
| | * Make use of ArrayObjects in favor of generic JS objects.wolfbeast2019-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.wolfbeast2019-06-10-129/+9
| | |
| | * Merge branch 'master' into remove-unboxedwolfbeast2019-06-08-2/+6
| | |\
| | * | Remove UnboxedArray code part 2wolfbeast2019-05-23-1499/+94
| | | |
| * | | Add Atomics.notify instead of Atomics.wake according to revised spec.wolfbeast2019-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-unboxedMoonchild2019-05-22-445/+5
| |\| | | | | | | Remove unboxed objects phase 1
| | * Remove Unboxed Objects from vm/ - Part 2wolfbeast2019-05-16-6/+0
| | |
| | * Remove unboxed object code from jit, Part 1wolfbeast2019-05-16-12/+0
| | |
| | * Remove Unboxed Objects from vm/ Part 1 + fix deprotwolfbeast2019-05-16-15/+5
| | |
| | * Remove initial chunk of Unboxed Objects machinery part 2wolfbeast2019-05-15-12/+0
| | |
| | * remove unboxed code chunk (wip1)wolfbeast2019-05-14-400/+0
| | |
| * | Implement array.flat and array.flatMapwolfbeast2019-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.wolfbeast2019-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.wolfbeast2019-03-30-11/+0
| |
| * Remove a couple of unused variablesadeshkp2019-03-14-1/+0
| |
| * Align `instanceof` with the final ES6 spec.wolfbeast2019-02-07-10/+7
| |
| * Remove telemetry leftovers from JS engine.adeshkp2019-01-30-88/+0
| |
| * Reduce number of allocations in AutoStopwatchDavid Teller2019-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"wolfbeast2019-01-29-17/+7
| | | | | | | | This reverts commit 3476c1d60ec29c5497123194acd7a9310b1023d2.
| * Reduce number of allocations in AutoStopwatchDavid Teller2019-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 codeadeshkp2019-01-12-7/+0
| |
| * Use canonical function in TypeNewScript::rollbackPartiallyInitializedObjects.wolfbeast2018-12-13-7/+13
| |
| * Rename TypeSet::clone to TypeSet::cloneIntoUninitialized to indicate that it ↵trav902018-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 copyingtrav902018-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 ↵trav902018-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 typetrav902018-09-12-29/+33
| |
| * Fix build bustagetrav902018-09-02-1/+1
| |
| * Call the relevant scope-data constructor when allocating it, and poison/mark ↵trav902018-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 ↵trav902018-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 copyabletrav902018-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.trav902018-08-12-4/+7
| |
* | Merge branch 'master' into js-moduleswolfbeast2018-08-05-0/+3
|\|
| * Fix Build Bustage - with "--enable-debug"janekptacijarabaci2018-07-12-0/+3
| |
* | Merge branch 'master' of https://github.com/MoonchildProductions/UXP into ↵janekptacijarabaci2018-07-06-261/+221
|\| | | | | | | _testBranch_test_1
| * Bug 1465108 - Use function pointers rather than virtual run method for GC ↵Jon Coppeard2018-06-07-2/+2
| | | | | | | | parallel tasks r=sfink a=abillings a=RyanVM
| * Refactor structured clone JSAPI to prevent mismatched scopes.wolfbeast2018-06-07-208/+181
| | | | | | | | Roll-up of bugs 1442722, 1455071, 1433642, 1456604 and 1458320.
| * Change inlining of intrinsics.wolfbeast2018-06-07-12/+33
| |
| * Make InitRuntimeNumberState's return type reflect its infallible nature.wolfbeast2018-05-04-2/+1
| |
| * Issue #325 Part 14: Remove EXPOSE_INTL_API conditionals.wolfbeast2018-05-04-31/+1
| |
| * Issue #325 Part 5: Remove non-Intl legacy code paths from js.wolfbeast2018-05-04-6/+2
| |
| * Merge branch 'html_input_datetime_1'wolfbeast2018-04-15-0/+1
| |\ | | | | | | | | | This is almost everything needed for #162.
| | * Bug 1287677 - Add mozIntl.getDisplayNames APIjanekptacijarabaci2018-03-30-0/+1
| | |
* | | Bug 1341298 - Relax expected module state when resolving modules and ↵janekptacijarabaci2018-04-14-1/+1
| | | | | | | | | | | | circular module dependencies are present
* | | Bug 1326453 - Part 5: Remove no longer used ListIterator implementationjanekptacijarabaci2018-04-14-40/+0
|/ /
* / Fix Value::isGCThing footgun, stop returning true for NullValuetrav902018-04-07-1/+1
|/