Commit message (Collapse) | Author | Age | Lines | |
---|---|---|---|---|
* | Issue #618 - Simplify module resolve hook to be a function pointer | Moonchild | 2020-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. | Moonchild | 2020-08-30 | -0/+8 |
| | ||||
* | Issue #618 - Align error handling for module scripts with the spec - Debug ↵ | Gaming4JC | 2020-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 up | Gaming4JC | 2020-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 maps | Moonchild | 2020-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. | Moonchild | 2020-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) | Moonchild | 2020-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. | Moonchild | 2020-08-30 | -1/+1 |
| | ||||
* | [js] Try to catch bad pointers for GC and bail if not valid. | Moonchild | 2020-08-07 | -0/+42 |
| | ||||
* | [js] Don't improve TypeSets containing the magic-args type. | Moonchild | 2020-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 Mooij | 2020-07-29 | -1/+5 |
| | ||||
* | [js] Get the class pointer from the ObjectGroup in NativeObject::slotSpan | Moonchild | 2020-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. | Moonchild | 2020-07-10 | -3/+16 |
| | ||||
* | Issue #618 - Fix typo and remove old function declarations. | Moonchild | 2020-07-10 | -3/+1 |
| | ||||
* | Issue #618 - Report source position information (line/column) | Moonchild | 2020-07-10 | -39/+161 |
| | | | | | | Report source position information for module export resolution failures. Ref: BZ 1362098 | |||
* | Issue #618 - Remove context and heap-idle check | Moonchild | 2020-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. | Moonchild | 2020-07-10 | -6/+8 |
| | ||||
* | Issue #618 - Match JSAPI names with the changes in ↵ | Moonchild | 2020-07-10 | -9/+8 |
| | | | | | | 9ca74147225eed305e28c7887f9b2251aeeb0f36 Ref: BZ 1388728 | |||
* | Issue #618 - Add APIs to query module record errors | Moonchild | 2020-07-10 | -0/+20 |
| | | | | Ref: BZ 1388728 | |||
* | Issue #618 - Update code comments for ModuleInstantiate | Moonchild | 2020-07-10 | -2/+2 |
| | ||||
* | Issue #618 - Align module instantiation/errors with the updated spec. | Moonchild | 2020-07-10 | -217/+611 |
| | | | | | Store and re-throw module instantiation and evaluation errors. Ref: BZ 1374239, 1394492 | |||
* | Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElement | Moonchild | 2020-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 ARM | adeshkp | 2020-06-13 | -8/+8 |
| | ||||
* | Issue #1570 - Implement globalThis | wolfbeast | 2020-06-01 | -3/+44 |
| | | | | This resolves #1570 | |||
* | Bug 1412030 - [MIPS] Emit wasm memory access information | Jiaxun Yang | 2020-05-20 | -107/+164 |
| | | | | Tag: #1542 | |||
* | Bug 1330942 - move MemoryAccessDesc::isUnaligned to the ARM/MIPS platform layer | Jiaxun Yang | 2020-05-20 | -21/+40 |
| | | | | Tag: #1542 | |||
* | Bug 1441521 : [MIPS] Optimize comparation with small constants | Jiaxun Yang | 2020-05-20 | -74/+170 |
| | | | | Tag: #1542 | |||
* | Bug 1430693 - IonMonkey: MIPS: Fix generic NaN for legacy mips (IEEE 754-1985) | Jiaxun Yang | 2020-05-20 | -0/+4 |
| | | | | Tag: #1542 | |||
* | Bug 1424978 - IonMonkey: MIPS64: Fix unboxNonDouble for Int32 | Jiaxun Yang | 2020-05-20 | -0/+30 |
| | | | | Tag: #1542 | |||
* | Bug 1424978 - IonMonkey: MIPS64: Fix tagValue function | Jiaxun Yang | 2020-05-20 | -2/+7 |
| | | | | Tag: #1542 | |||
* | Bug 1424978 - IonMonkey: MIPS64: Fix boxValue function | Jiaxun Yang | 2020-05-20 | -1/+6 |
| | | | | Tag: #1542 | |||
* | Bug 1390802 - IonMonkey: MIPS64: Fix storeValue function | Jiaxun Yang | 2020-05-20 | -1/+5 |
| | | | | Tag: #1542 | |||
* | Bug 1424978 - IonMonkey: MIPS: Fix ma_store_unaligned | Jiaxun Yang | 2020-05-20 | -1/+1 |
| | | | | Tag: #1542 | |||
* | Bug 1424978 - IonMonkey: MIPS: Fix ma_addTestCarry | Jiaxun Yang | 2020-05-20 | -2/+8 |
| | | | | Tag: #1542 | |||
* | Bug 1390459 - mulby3 function implement error on mips platform | Jiaxun Yang | 2020-05-20 | -4/+6 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Refactor addMixedJump. | Jiaxun Yang | 2020-05-20 | -17/+17 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - wasm: MIPS: Port mixed jump for wasm. | Jiaxun Yang | 2020-05-20 | -0/+5 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Refactor PatchWrite_NearCall. | Jiaxun Yang | 2020-05-20 | -86/+31 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Handle conditional branch in out of line code ↵ | Jiaxun Yang | 2020-05-20 | -41/+39 |
| | | | | | | of mixed jump. Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::branchWithCode. | Jiaxun Yang | 2020-05-20 | -128/+67 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::ma_jal. | Jiaxun Yang | 2020-05-20 | -51/+26 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Merge Assembler::bind. | Jiaxun Yang | 2020-05-20 | -174/+83 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Replace long jumps by mixed jumps. | Jiaxun Yang | 2020-05-20 | -307/+277 |
| | | | | Tag: #1542 | |||
* | Bug 1271968 - IonMonkey: MIPS: Make jit code in same 256 MB-aligned region | Jiaxun Yang | 2020-05-20 | -0/+16 |
| | | | | Tag: #1542 | |||
* | [IonMonkey] MIPS: Import small optimizations from load & store | Jiaxun Yang | 2020-05-20 | -4/+17 |
| | ||||
* | Issue #1542 - IonMonkey: MIPS32: Fix build error on O32 platform. | Jiaxun Yang | 2020-05-20 | -0/+1 |
| | ||||
* | Bug 1323646 - IonMonkey: MIPS64: Fix range checking in ma_addTestOverflow | Jiaxun Yang | 2020-05-20 | -1/+1 |
| | | | | Tag: #1542 | |||
* | Bug 1323642 - IonMonkey: MIPS64: Fix load unsigned 48-bit immediate | Jiaxun Yang | 2020-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-bit | Jiaxun Yang | 2020-05-20 | -46/+44 |
| | | | | Tag: #1542 | |||
* | Bug 1344597 - Baldr: MIPS: Fix trap type of unsigned divide by zero | Jiaxun Yang | 2020-05-20 | -1/+1 |
| | | | | Tag: #1542 |