Moonchild
39050b430e
Issue #618 - Lazily initialise module binding maps
...
Make it so they are not allocated on a background thread in a different zone to
the final module.
Ref: BZ 1372258
2020-08-29 08:07:06 +08:00
Moonchild
1cfaf06d8f
Issue #618 - Use a single slot for the module's environment object.
...
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.
2020-08-29 08:07:03 +08:00
Moonchild
0d874713ef
Issue #618 - Align error handling for module scripts with the spec (again)
...
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
2020-08-29 08:07:00 +08:00
Moonchild
9b260e75cc
[js] Reinstate precise floating point model for all js sources.
2020-08-19 16:21:44 +08:00
Moonchild
b52bc1586d
[js] Try to catch bad pointers for GC and bail if not valid.
2020-08-06 10:23:26 +08:00
Moonchild
ecf4aecd21
[js] Don't improve TypeSets containing the magic-args type.
...
JIT optimizations involving the Javascript 'arguments' object could
potentially confuse later optimizations, so we simply disable these
optimizations as a DiD measure.
2020-07-31 08:07:58 +08:00
Jan de Mooij
51d75f257d
[js] Fix Sink to check for non-recoverable operands.
2020-07-31 08:07:52 +08:00
Moonchild
415542eb7c
[js] Get the class pointer from the ObjectGroup in NativeObject::slotSpan
...
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.
2020-07-11 07:02:27 +08:00
Moonchild
db9ccc90e0
[js] Improve readability and control flow of js date string parser.
2020-07-10 22:18:48 +08:00
Moonchild
5ff6eca6c9
Issue #618 - Fix typo and remove old function declarations.
2020-07-10 22:18:24 +08:00
Moonchild
9201808e0a
Issue #618 - Report source position information (line/column)
...
Report source position information for module export resolution failures.
Ref: BZ 1362098
2020-07-10 22:18:10 +08:00
Moonchild
c65ca2ca58
Issue #618 - Remove context and heap-idle check
...
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.
2020-07-10 22:18:01 +08:00
Moonchild
b590ecea12
Issue #618 - Fix JSAPI additions to pass the JS context.
2020-07-10 22:17:55 +08:00
Moonchild
91a79c0ddc
Issue #618 - Match JSAPI names with the changes in 9ca74147225eed305e28c7887f9b2251aeeb0f36
...
Ref: BZ 1388728
2020-07-10 22:17:52 +08:00
Moonchild
5838eded5f
Issue #618 - Add APIs to query module record errors
...
Ref: BZ 1388728
2020-07-10 22:17:48 +08:00
Moonchild
7b30bfee4c
Issue #618 - Update code comments for ModuleInstantiate
2020-07-10 22:17:44 +08:00
Moonchild
c7d195e633
Issue #618 - Align module instantiation/errors with the updated spec.
...
Store and re-throw module instantiation and evaluation errors.
Ref: BZ 1374239, 1394492
2020-07-10 22:17:41 +08:00
Moonchild
f85b274e94
Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElement
...
- Moves scripting parts of DOM into 'dom/script'
- Renames nsScript{Loader/Element} to Script{Loader/Element}
- Adjusts all callers
2020-07-04 07:01:00 +08:00
adeshkp
3fffe4ebda
Issue #1542 - Fix a typo in wasm which was causing build failure on ARM
2020-06-12 22:11:53 +08:00
wolfbeast
5386cd812b
Issue #1570 - Implement globalThis
...
This resolves #1570
2020-06-06 07:19:04 +08:00
Jiaxun Yang
353356f7ba
Bug 1412030 - [MIPS] Emit wasm memory access information
...
Tag: #1542
2020-05-23 06:55:13 +08:00
Jiaxun Yang
ccced44f81
Bug 1330942 - move MemoryAccessDesc::isUnaligned to the ARM/MIPS platform layer
...
Tag: #1542
2020-05-23 06:55:10 +08:00
Jiaxun Yang
9441c06a56
Bug 1441521 : [MIPS] Optimize comparation with small constants
...
Tag: #1542
2020-05-23 06:55:07 +08:00
Jiaxun Yang
b9ffc2c362
Bug 1430693 - IonMonkey: MIPS: Fix generic NaN for legacy mips (IEEE 754-1985)
...
Tag: #1542
2020-05-23 06:55:04 +08:00
Jiaxun Yang
73011b18fe
Bug 1424978 - IonMonkey: MIPS64: Fix unboxNonDouble for Int32
...
Tag: #1542
2020-05-23 06:55:01 +08:00
Jiaxun Yang
dc7fd7cdfd
Bug 1424978 - IonMonkey: MIPS64: Fix tagValue function
...
Tag: #1542
2020-05-23 06:54:58 +08:00
Jiaxun Yang
7db89b07bd
Bug 1424978 - IonMonkey: MIPS64: Fix boxValue function
...
Tag: #1542
2020-05-23 06:54:55 +08:00
Jiaxun Yang
ded41ae04d
Bug 1390802 - IonMonkey: MIPS64: Fix storeValue function
...
Tag: #1542
2020-05-23 06:54:52 +08:00
Jiaxun Yang
3479a798ea
Bug 1424978 - IonMonkey: MIPS: Fix ma_store_unaligned
...
Tag: #1542
2020-05-23 06:54:48 +08:00
Jiaxun Yang
ac720c2a42
Bug 1424978 - IonMonkey: MIPS: Fix ma_addTestCarry
...
Tag: #1542
2020-05-23 06:54:45 +08:00
Jiaxun Yang
126e1dfed9
Bug 1390459 - mulby3 function implement error on mips platform
...
Tag: #1542
2020-05-23 06:54:43 +08:00
Jiaxun Yang
ce88df74e8
Bug 1271968 - IonMonkey: MIPS: Refactor addMixedJump.
...
Tag: #1542
2020-05-23 06:54:39 +08:00
Jiaxun Yang
79aee6d950
Bug 1271968 - wasm: MIPS: Port mixed jump for wasm.
...
Tag: #1542
2020-05-23 06:54:35 +08:00
Jiaxun Yang
7d346d2f61
Bug 1271968 - IonMonkey: MIPS: Refactor PatchWrite_NearCall.
...
Tag: #1542
2020-05-23 06:54:33 +08:00
Jiaxun Yang
90edf5c5e4
Bug 1271968 - IonMonkey: MIPS: Handle conditional branch in out of line code of mixed jump.
...
Tag: #1542
2020-05-23 06:54:29 +08:00
Jiaxun Yang
14ed1d3e3c
Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::branchWithCode.
...
Tag: #1542
2020-05-23 06:54:26 +08:00
Jiaxun Yang
0688bb7159
Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::ma_jal.
...
Tag: #1542
2020-05-23 06:54:23 +08:00
Jiaxun Yang
e2773bdc37
Bug 1271968 - IonMonkey: MIPS: Merge Assembler::bind.
...
Tag: #1542
2020-05-23 06:54:20 +08:00
Jiaxun Yang
ee48a26c52
Bug 1271968 - IonMonkey: MIPS: Replace long jumps by mixed jumps.
...
Tag: #1542
2020-05-23 06:54:17 +08:00
Jiaxun Yang
1d29d6882c
Bug 1271968 - IonMonkey: MIPS: Make jit code in same 256 MB-aligned region
...
Tag: #1542
2020-05-23 06:54:14 +08:00
Jiaxun Yang
90144c967f
[IonMonkey] MIPS: Import small optimizations from load & store
2020-05-23 06:54:10 +08:00
Jiaxun Yang
8bab1f4fbf
Issue #1542 - IonMonkey: MIPS32: Fix build error on O32 platform.
2020-05-23 06:54:07 +08:00
Jiaxun Yang
06f5e5b9b5
Bug 1323646 - IonMonkey: MIPS64: Fix range checking in ma_addTestOverflow
...
Tag: #1542
2020-05-23 06:54:04 +08:00
Jiaxun Yang
e293ccbcd4
Bug 1323642 - IonMonkey: MIPS64: Fix load unsigned 48-bit immediate
...
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
2020-05-23 06:54:01 +08:00
Jiaxun Yang
c15d832a98
Bug 1323136 - wasm: MIPS: Do bounds check in 32-bit
...
Tag: #1542
2020-05-23 06:53:58 +08:00
Jiaxun Yang
5a62948a43
Bug 1344597 - Baldr: MIPS: Fix trap type of unsigned divide by zero
...
Tag: #1542
2020-05-23 06:53:55 +08:00
Jiaxun Yang
91053477ec
Issue #1542 - IonMonkey: MIPS: Define JS_CODEGEN_MIPSXX by HAVE_64BIT_BUILD.
...
MIPSXX is required for 64bit build.
2020-05-23 06:53:47 +08:00
Moonchild
4f72c20f83
[js] Record load in MCreateThis alias set.
2020-05-09 06:56:29 +08:00
Matt A. Tobin
cedff6e214
Bug 1416999 - Remove document.registerElement
...
Tag #1375
2020-04-18 07:05:32 +08:00
Jan de Mooij
95db678f71
[js] Handle functions with rest parameters in isObservableArgumentSlot.
2020-04-11 09:40:45 +08:00