Commit graph

489 commits

Author SHA1 Message Date
wolfbeast
af47c6fb4d Issue #1382 - Remove invalid assertion.
There is flexibility in exactly the value the initialized length must
hold, i.e. if an array is completely empty, it is valid for the
initialized length to be any value between zero and the length of the
array, as long as the in-memory values below the initialized length have
been initialized with a hole value.
In the case of 0, the array is packed and the move operation would be a
nop, so simply convert the assert to a condition to save some cycles.
2020-02-07 07:57:01 +08:00
wolfbeast
0070369171 Issue #1342 - Remove support for system NSPR/NSS 2020-01-31 07:44:03 +08:00
Gaming4JC
5db13d0f4b Bug 1415761 - Catch the exception and rethrow it after invoking custom elements reactions;
The spec was unclear on how CEReactions interact with thrown exceptions; see https://github.com/whatwg/html/issues/3217. The spec is now being clarified in https://github.com/whatwg/html/pull/3235.

Tag UXP Issue #1344
2020-01-31 07:40:30 +08:00
wolfbeast
00d1bac44d Issue #1362 - Revert "Implement regular expression lookbehind"
This reverts commit fa473930f424bf17a9e545b601c84dd2e61364e3.
2020-01-24 09:10:50 +08:00
wolfbeast
7d2350c859 Issue #1362 - Revert "Update js/src/builtin/TestingFunctions.cpp for
regex lookbehind changes"

This reverts commit e79607a7a694dc2d48d65697b48138fa585145c9.
2020-01-24 09:10:47 +08:00
wolfbeast
844d2dd0ff Simplify some alias sets in IonMonkey. 2020-01-17 09:15:00 +08:00
wolfbeast
647d6033e0 Simplify value setting.
This gets rid of unused boolean return values on setters and a level of
indirection for calls to set values.
2020-01-10 17:06:55 +08:00
wolfbeast
b753aec164 Issue #1118 - Part 6: Fix various tests that are no longer correct.
The behavior change of document.open() requires these tests to be
changed to account for the new spec behavior.
2019-12-28 21:20:04 +08:00
wolfbeast
48adbfd454 Issue #1322 - Part 2: Remove --enable-sm-promise buildconfig switch. 2019-12-20 09:07:26 +08:00
wolfbeast
40f99b202a Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
2019-12-20 09:07:24 +08:00
Roy Tam
ad9793b896 js: fix build 2019-12-18 10:21:07 +08:00
Gaming4JC
d16b90c099 Bug 1454285 - Part 2: Disallow using innermostEmitterScope while the value does not match the bytecode environment.
Tag #1287
2019-12-18 09:17:13 +08:00
Gaming4JC
85d4d59f04 Bug 1454285 - Part 1: Specify the current scope when emitting await and .generator.
Tag #1287
2019-12-18 09:17:11 +08:00
Gaming4JC
b476f2e713 Bug 1352312 - Enable Async Iteration.
Tag #1287
2019-12-18 09:17:10 +08:00
Gaming4JC
f08c44f010 Bug 1390082 - Implement AsyncGeneratorQueue with simpler array operations.
Tag #1287

Note: Without ReadableStream implementation
2019-12-18 09:17:09 +08:00
Gaming4JC
586cd0b71b Bug 1379525 - Part 2: Properly handle rejection in async-from-sync iteration.
Tag #1287
2019-12-18 09:17:08 +08:00
Gaming4JC
9e8369d01f Bug 1379525 - Part 1: Await on the value before yielding or returning inside async generator.
Tag #1287
2019-12-18 09:17:06 +08:00
Gaming4JC
ba1cf5608c Bug 1364608 - Stash rval in AsyncIteratorClose.
Tag #1287
2019-12-18 09:17:05 +08:00
Gaming4JC
3206741afa Bug 1355399 - Switch property retrieval in Async-from-Sync Iterator prototype methods.
Tag #1287
2019-12-18 09:17:04 +08:00
Gaming4JC
9cecb72f37 Bug 1331092 - Part 11: Await on the innerResult.value when innerResult.done is true in yield*.
Tag #1287
2019-12-18 09:17:02 +08:00
Gaming4JC
9379133c2d Bug 1331092 - Part 9: Implement for-await-of.
Tag #1287
2019-12-18 09:17:01 +08:00
Gaming4JC
06b3cb6ccd Bug 1331092 - Part 8: Support JSOP_TOASYNCITER in JIT.
Tag #1287
2019-12-18 09:17:00 +08:00
Gaming4JC
142e8bf444 Bug 1331092 - Part 7: Implement Async Generator yield*.
Tag #1287
2019-12-18 09:16:59 +08:00
Gaming4JC
67b8cd621a Bug 1331092 - Part 6: Support JSOP_TOASYNCGEN in JIT.
Tag #1287
2019-12-18 09:16:57 +08:00
Gaming4JC
b5bcbfe58c Bug 1331092 - Part 2: Implement Async Generator except yield*.
Tag #1287
2019-12-18 09:16:56 +08:00
Gaming4JC
10b93afff4 Bug 1331092 - Part 2: Implement Async Generator except yield*.
Tag #1287
2019-12-18 09:16:52 +08:00
Gaming4JC
c8d569d1b8 Bug 1331092 - Part 1: Add Symbol.asyncIterator.
Tag #1287
2019-12-18 09:16:06 +08:00
Gaming4JC
e9ad9eab15 Bug 1331092 - Part 0: Define NOMINMAX to avoid compile error from min/max macro on windows.
Tag #1287
2019-12-18 09:16:05 +08:00
Gaming4JC
22cd310e82 Bug 1317389: Change property attributes for generator and async functions to match ES2015/2017.
Tag #1287
2019-12-18 09:16:03 +08:00
Gaming4JC
086d14cb8b Bug 1344753 - Update for-of stack depth in ControlFlowGenerator::processWhileOrForInLoop.
Tag #1287
2019-12-18 09:16:02 +08:00
Gaming4JC
c9f1fa2cda Bug 1316098 - Optimize out result object allocation for await/return in async function.
Tag #1287
2019-12-18 09:16:01 +08:00
Gaming4JC
c1bdfa62fc Bug 1343481 - Part 7: Add BytecodeEmitter::emitDotGenerator and make yield/await nodes unary.
Tag #1287
2019-12-18 09:15:59 +08:00
Gaming4JC
2bbebc6ebc Bug 1343481 - Part 6: Add native functions wrapper for GetInternalError and GetTypeError.
Tag #1287
2019-12-18 09:15:58 +08:00
Gaming4JC
04ec8aaf1c Bug 1343481 - Part 5: Rename AsyncFunction-related names in Promise.cpp to explicitly say Async Function.
Tag #1287
2019-12-18 09:15:56 +08:00
Gaming4JC
bc80cb0d51 Bug 1343481 - Part 4: Add Add GeneratorObject.{isAfterYield,isAfterAwait}.
Tag #1287
2019-12-18 09:15:55 +08:00
Gaming4JC
a6872d9ea3 Bug 1343481 - Part 3: Add JSOP_AWAIT and rename {yieldIndex,yieldOffset} to {yieldAndAwaitIndex,yieldAndAwaitOffset}.
Tag #1287
2019-12-18 09:15:54 +08:00
Gaming4JC
45337018ef Bug 1343481 - Part 2: Stop using StarGegerator for async function.
Tag #1287
2019-12-18 09:15:52 +08:00
Gaming4JC
7eb5d46c11 Bug 1343481 - Part 1: Remove {JSFunction,JSScript,LazyScript}.isGenerator() method.
Tag #1287
2019-12-18 09:15:51 +08:00
Gaming4JC
4ce0bb5e0a Bug 1336705 - Part 2: Add self-hosting intrinsics for resolving/rejecting Promises and adding reactions.
Tag #1287
2019-12-18 09:15:50 +08:00
Gaming4JC
f15e675b86 Bug 336705 - Part 1: Support creating and resolving Promises without resolve/reject functions.
Useful for internally-created Promises that'll only ever be resolved/rejected internally.

Tag #1287
2019-12-18 09:15:49 +08:00
Gaming4JC
70cbae88ea Bug 1317376 - Part 2: Detect Promise self-resolution when resolving through the Promise resolving fast path.
Tag #1287
2019-12-18 09:15:47 +08:00
Gaming4JC
300f97150c Bug 1317376 - Part 1: Remove unreachable code and remnants from the self-hosted implementation.
Tag #1287
2019-12-18 09:15:46 +08:00
wolfbeast
37e3ac713b Issue #1302 followup - Add spec-compliance checks/errors
- Check for undefined/null regex flags (because...)
- Make it throw a typeerror instead of syntax error on non-global
- Generalize JS error messages for these checks.
2019-12-02 15:45:58 +08:00
wolfbeast
c16e82c9b1 Issue #1302 - Add self-hosted implementation for string regex .matchAll
This resolves #1302.
2019-11-28 10:32:42 +08:00
Gaming4JC
211c1e4e7b Issue #1284 - Update js/src/builtin/TestingFunctions.cpp for /s (dotAll) regular expression changes
This fixes debug builds
2019-11-22 10:52:04 +08:00
wolfbeast
8148cf0001 Issue #1284 - Implement /s (dotAll) for regular expressions, v2.
Resolves #1284.
2019-11-22 10:52:02 +08:00
Gaming4JC
59a1758d89 Issue #1279 - Update js/src/builtin/TestingFunctions.cpp for regex lookbehind changes
This fixes debug builds
2019-11-15 14:24:14 +08:00
wolfbeast
63b7dedc94 Issue #1279 - Implement regular expression lookbehind
Based on Tom Schuster's work, with extra minters for unicode.
2019-11-15 14:23:10 +08:00
André Bargull
ff54e6899f Issue #1283 - Implement Promise.prototype.finally()
This resolves #1283.
2019-11-15 14:23:09 +08:00
janekptacijarabaci
67f5e5d20c Bug 1341298 - Relax expected module state when resolving modules and circular module dependencies are present 2019-11-11 21:57:58 +08:00