summaryrefslogtreecommitdiffstats
path: root/js
Commit message (Collapse)AuthorAgeLines
* Issue #618 - Simplify module resolve hook to be a function pointerMoonchild2020-08-30-43/+57
| | | | | This is an ahead-of time port to try and address #1624. This is based on BZ 1461751 and Jon Coppeard's work in it.
* [js] Add some utility functions to get the current JS runtime.Moonchild2020-08-30-0/+8
|
* Issue #618 - Align error handling for module scripts with the spec - Debug ↵Gaming4JC2020-08-30-1/+2
| | | | | | | | follow up MODULE_STATUS_ERRORED is no more. Replacing with newer API. Ref: BZ 1420420
* Issue #618 - Lazily initialise module binding maps - Debug follow upGaming4JC2020-08-30-1/+1
| | | | | | The added debug assertion does not work due to missing API. They were added in BZ 1337491, 1395366, and others, but were primarily used for multi-threading. This uses our existing non-multithreaded syntax instead, resolving a `no member named` build error.
* Issue #618 - Lazily initialise module binding mapsMoonchild2020-08-30-27/+35
| | | | | | | Make it so they are not allocated on a background thread in a different zone to the final module. Ref: BZ 1372258
* Issue #618 - Use a single slot for the module's environment object.Moonchild2020-08-30-47/+29
| | | | | | | | | | | | | | | | | | | | According to the spec this isn't created until the module is instantiated, but we create it when we compile the module. We stored this previously in InitialEnvironmentSlot and copied it to EnvironmentSlot when it was supposed to be created, but we can just store it in the latter slot straight away and check the module's status and return null if it shouldn't exist yet. This reduces the number of slots needed on a moduleObject to 17. Re: BZ 1420412 Part 1 We can't implement the second part to further reduce our number of slots, because it relies on SetProxyReservedSlot which in turn relies on rearchitecturing JS proxies to make reserved slots dynamic. That's a rabbit hole we really don't want to fall into. So, we'll end up being a bit slower because it can't be in-line allocated with having more than 16 slots, but so be it. I sincerely doubt it will make any practical difference.
* Issue #618 - Align error handling for module scripts with the spec (again)Moonchild2020-08-30-208/+252
| | | | | | | | This updates module implementation to match spec regarding handling of instantiation errors, after it was changed yet again, this time to not remember instantiation errors, but instead immediately rethrow applicable ones. Ref: BZ 1420420
* [js] Reinstate precise floating point model for all js sources.Moonchild2020-08-30-1/+1
|
* [js] Try to catch bad pointers for GC and bail if not valid.Moonchild2020-08-07-0/+42
|
* [js] Don't improve TypeSets containing the magic-args type.Moonchild2020-07-29-4/+4
| | | | | | JIT optimizations involving the Javascript 'arguments' object could potentially confuse later optimizations, so we simply disable these optimizations as a DiD measure.
* [js] Fix Sink to check for non-recoverable operands.Jan de Mooij2020-07-29-1/+5
|
* [js] Get the class pointer from the ObjectGroup in NativeObject::slotSpanMoonchild2020-07-10-1/+4
| | | | | | This changes NativeObject::slotSpan() to get the class from the object group rather than getting it from the base shape to avoid a race between Shape::ensureOwnBaseShape and background sweeping.
* [js] Improve readability and control flow of js date string parser.Moonchild2020-07-10-3/+16
|
* Issue #618 - Fix typo and remove old function declarations.Moonchild2020-07-10-3/+1
|
* Issue #618 - Report source position information (line/column)Moonchild2020-07-10-39/+161
| | | | | | Report source position information for module export resolution failures. Ref: BZ 1362098
* Issue #618 - Remove context and heap-idle checkMoonchild2020-07-10-8/+4
| | | | | | | | | For checking if a module is in an error state and what the error is, it shouldn't matter if we are currently GC-ing or not. So we don't need to check for it, which removes the requirement to pass in the JS context (needed for AssertHeapIsIdle's runtime check); this unblocks progress where otherwise we'd have to figure out what the context is at the module level just to satisfy this check.
* Issue #618 - Fix JSAPI additions to pass the JS context.Moonchild2020-07-10-6/+8
|
* Issue #618 - Match JSAPI names with the changes in ↵Moonchild2020-07-10-9/+8
| | | | | | 9ca74147225eed305e28c7887f9b2251aeeb0f36 Ref: BZ 1388728
* Issue #618 - Add APIs to query module record errorsMoonchild2020-07-10-0/+20
| | | | Ref: BZ 1388728
* Issue #618 - Update code comments for ModuleInstantiateMoonchild2020-07-10-2/+2
|
* Issue #618 - Align module instantiation/errors with the updated spec.Moonchild2020-07-10-217/+611
| | | | | Store and re-throw module instantiation and evaluation errors. Ref: BZ 1374239, 1394492
* Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElementMoonchild2020-07-10-9/+9
| | | | | | - Moves scripting parts of DOM into 'dom/script' - Renames nsScript{Loader/Element} to Script{Loader/Element} - Adjusts all callers
* Issue #1542 - Fix a typo in wasm which was causing build failure on ARMadeshkp2020-06-13-8/+8
|
* Issue #1570 - Implement globalThiswolfbeast2020-06-01-3/+44
| | | | This resolves #1570
* Bug 1412030 - [MIPS] Emit wasm memory access informationJiaxun Yang2020-05-20-107/+164
| | | | Tag: #1542
* Bug 1330942 - move MemoryAccessDesc::isUnaligned to the ARM/MIPS platform layerJiaxun Yang2020-05-20-21/+40
| | | | Tag: #1542
* Bug 1441521 : [MIPS] Optimize comparation with small constantsJiaxun Yang2020-05-20-74/+170
| | | | Tag: #1542
* Bug 1430693 - IonMonkey: MIPS: Fix generic NaN for legacy mips (IEEE 754-1985)Jiaxun Yang2020-05-20-0/+4
| | | | Tag: #1542
* Bug 1424978 - IonMonkey: MIPS64: Fix unboxNonDouble for Int32Jiaxun Yang2020-05-20-0/+30
| | | | Tag: #1542
* Bug 1424978 - IonMonkey: MIPS64: Fix tagValue functionJiaxun Yang2020-05-20-2/+7
| | | | Tag: #1542
* Bug 1424978 - IonMonkey: MIPS64: Fix boxValue functionJiaxun Yang2020-05-20-1/+6
| | | | Tag: #1542
* Bug 1390802 - IonMonkey: MIPS64: Fix storeValue functionJiaxun Yang2020-05-20-1/+5
| | | | Tag: #1542
* Bug 1424978 - IonMonkey: MIPS: Fix ma_store_unalignedJiaxun Yang2020-05-20-1/+1
| | | | Tag: #1542
* Bug 1424978 - IonMonkey: MIPS: Fix ma_addTestCarryJiaxun Yang2020-05-20-2/+8
| | | | Tag: #1542
* Bug 1390459 - mulby3 function implement error on mips platformJiaxun Yang2020-05-20-4/+6
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Refactor addMixedJump.Jiaxun Yang2020-05-20-17/+17
| | | | Tag: #1542
* Bug 1271968 - wasm: MIPS: Port mixed jump for wasm.Jiaxun Yang2020-05-20-0/+5
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Refactor PatchWrite_NearCall.Jiaxun Yang2020-05-20-86/+31
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Handle conditional branch in out of line code ↵Jiaxun Yang2020-05-20-41/+39
| | | | | | of mixed jump. Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::branchWithCode.Jiaxun Yang2020-05-20-128/+67
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::ma_jal.Jiaxun Yang2020-05-20-51/+26
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Merge Assembler::bind.Jiaxun Yang2020-05-20-174/+83
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Replace long jumps by mixed jumps.Jiaxun Yang2020-05-20-307/+277
| | | | Tag: #1542
* Bug 1271968 - IonMonkey: MIPS: Make jit code in same 256 MB-aligned regionJiaxun Yang2020-05-20-0/+16
| | | | Tag: #1542
* [IonMonkey] MIPS: Import small optimizations from load & storeJiaxun Yang2020-05-20-4/+17
|
* Issue #1542 - IonMonkey: MIPS32: Fix build error on O32 platform.Jiaxun Yang2020-05-20-0/+1
|
* Bug 1323646 - IonMonkey: MIPS64: Fix range checking in ma_addTestOverflowJiaxun Yang2020-05-20-1/+1
| | | | Tag: #1542
* Bug 1323642 - IonMonkey: MIPS64: Fix load unsigned 48-bit immediateJiaxun Yang2020-05-20-23/+32
| | | | | | | | | | | | | | | Issue: In ma_li(Register, ImmWord): Load unsigned 48-bit immediate: 0x0000_8000_0000_0000 Wrong instructions stream: lui reg, 0x8000 dsll reg, reg, 16 # reg = 0xffff_8000_0000_0000 Fixed instructions stream: lui reg, 0x8000 dinsu reg, zero, 32, 32 dsll reg, reg, 16 Tag: #1542
* Bug 1323136 - wasm: MIPS: Do bounds check in 32-bitJiaxun Yang2020-05-20-46/+44
| | | | Tag: #1542
* Bug 1344597 - Baldr: MIPS: Fix trap type of unsigned divide by zeroJiaxun Yang2020-05-20-1/+1
| | | | Tag: #1542