summaryrefslogtreecommitdiffstats
path: root/js/src
Commit message (Collapse)AuthorAgeLines
* Issue #1362 - Revert "Implement regular expression lookbehind"wolfbeast2020-01-19-359/+157
| | | | This reverts commit fa473930f424bf17a9e545b601c84dd2e61364e3.
* Issue #1362 - Revert "Update js/src/builtin/TestingFunctions.cpp forwolfbeast2020-01-19-3/+3
| | | | | | regex lookbehind changes" This reverts commit e79607a7a694dc2d48d65697b48138fa585145c9.
* Simplify some alias sets in IonMonkey.wolfbeast2020-01-11-11/+2
|
* Issue #1322 - Part 1: Remove the DOM Promise guts.wolfbeast2019-12-19-122/+3
| | | | This removes all the parts guarded by SPIDERMONKEY_PROMISE
* Bug 1454285 - Part 2: Disallow using innermostEmitterScope while the value ↵Gaming4JC2019-12-17-32/+76
| | | | | | does not match the bytecode environment. Tag #1287
* Bug 1454285 - Part 1: Specify the current scope when emitting await and ↵Gaming4JC2019-12-17-49/+81
| | | | | | .generator. Tag #1287
* Bug 1352312 - Enable Async Iteration.Gaming4JC2019-12-17-21/+0
| | | | Tag #1287
* Bug 1390082 - Implement AsyncGeneratorQueue with simpler array operations.Gaming4JC2019-12-17-10/+52
| | | | | | Tag #1287 Note: Without ReadableStream implementation
* Bug 1379525 - Part 2: Properly handle rejection in async-from-sync iteration.Gaming4JC2019-12-17-1/+5
| | | | Tag #1287
* Bug 1379525 - Part 1: Await on the value before yielding or returning inside ↵Gaming4JC2019-12-17-258/+344
| | | | | | async generator. Tag #1287
* Bug 1364608 - Stash rval in AsyncIteratorClose.Gaming4JC2019-12-17-2/+16
| | | | Tag #1287
* Bug 1355399 - Switch property retrieval in Async-from-Sync Iterator ↵Gaming4JC2019-12-17-5/+5
| | | | | | prototype methods. Tag #1287
* Bug 1331092 - Part 11: Await on the innerResult.value when innerResult.done ↵Gaming4JC2019-12-17-0/+9
| | | | | | is true in yield*. Tag #1287
* Bug 1331092 - Part 9: Implement for-await-of.Gaming4JC2019-12-17-11/+59
| | | | Tag #1287
* Bug 1331092 - Part 8: Support JSOP_TOASYNCITER in JIT.Gaming4JC2019-12-17-0/+92
| | | | Tag #1287
* Bug 1331092 - Part 7: Implement Async Generator yield*.Gaming4JC2019-12-17-42/+450
| | | | Tag #1287
* Bug 1331092 - Part 6: Support JSOP_TOASYNCGEN in JIT.Gaming4JC2019-12-17-0/+94
| | | | Tag #1287
* Bug 1331092 - Part 2: Implement Async Generator except yield*.Gaming4JC2019-12-17-2/+251
| | | | Tag #1287
* Bug 1331092 - Part 2: Implement Async Generator except yield*.Gaming4JC2019-12-17-54/+1013
| | | | Tag #1287
* Bug 1331092 - Part 1: Add Symbol.asyncIterator.Gaming4JC2019-12-17-1/+3
| | | | Tag #1287
* Bug 1331092 - Part 0: Define NOMINMAX to avoid compile error from min/max ↵Gaming4JC2019-12-17-0/+3
| | | | | | macro on windows. Tag #1287
* Bug 1317389: Change property attributes for generator and async functions to ↵Gaming4JC2019-12-17-12/+209
| | | | | | match ES2015/2017. Tag #1287
* Bug 1344753 - Update for-of stack depth in ↵Gaming4JC2019-12-17-1/+1
| | | | | | ControlFlowGenerator::processWhileOrForInLoop. Tag #1287
* Bug 1316098 - Optimize out result object allocation for await/return in ↵Gaming4JC2019-12-17-138/+39
| | | | | | async function. Tag #1287
* Bug 1343481 - Part 7: Add BytecodeEmitter::emitDotGenerator and make ↵Gaming4JC2019-12-17-112/+124
| | | | | | yield/await nodes unary. Tag #1287
* Bug 1343481 - Part 6: Add native functions wrapper for GetInternalError and ↵Gaming4JC2019-12-17-4/+24
| | | | | | GetTypeError. Tag #1287
* Bug 1343481 - Part 5: Rename AsyncFunction-related names in Promise.cpp to ↵Gaming4JC2019-12-17-18/+18
| | | | | | explicitly say Async Function. Tag #1287
* Bug 1343481 - Part 4: Add Add GeneratorObject.{isAfterYield,isAfterAwait}.Gaming4JC2019-12-17-0/+38
| | | | Tag #1287
* Bug 1343481 - Part 3: Add JSOP_AWAIT and rename {yieldIndex,yieldOffset} to ↵Gaming4JC2019-12-17-110/+142
| | | | | | {yieldAndAwaitIndex,yieldAndAwaitOffset}. Tag #1287
* Bug 1343481 - Part 2: Stop using StarGegerator for async function.Gaming4JC2019-12-17-55/+58
| | | | Tag #1287
* Bug 1343481 - Part 1: Remove {JSFunction,JSScript,LazyScript}.isGenerator() ↵Gaming4JC2019-12-17-64/+133
| | | | | | method. Tag #1287
* Bug 1336705 - Part 2: Add self-hosting intrinsics for resolving/rejecting ↵Gaming4JC2019-12-17-0/+108
| | | | | | Promises and adding reactions. Tag #1287
* Bug 336705 - Part 1: Support creating and resolving Promises without ↵Gaming4JC2019-12-17-34/+48
| | | | | | | | resolve/reject functions. Useful for internally-created Promises that'll only ever be resolved/rejected internally. Tag #1287
* Bug 1317376 - Part 2: Detect Promise self-resolution when resolving through ↵Gaming4JC2019-12-17-18/+34
| | | | | | the Promise resolving fast path. Tag #1287
* Bug 1317376 - Part 1: Remove unreachable code and remnants from the ↵Gaming4JC2019-12-17-52/+41
| | | | | | self-hosted implementation. Tag #1287
* Issue #1302 followup - Add spec-compliance checks/errorswolfbeast2019-11-30-2/+7
| | | | | | - 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.
* Issue #1302 - Add self-hosted implementation for string regex .matchAllwolfbeast2019-11-26-57/+286
| | | | This resolves #1302.
* Issue #1284 - Update js/src/builtin/TestingFunctions.cpp for /s (dotAll) ↵Gaming4JC2019-11-18-0/+1
| | | | | | regular expression changes This fixes debug builds
* Issue #1284 - Implement /s (dotAll) for regular expressions, v2.wolfbeast2019-11-18-23/+117
| | | | Resolves #1284.
* Revert "Issue #1284 - Implement /s (dotAll) for regular expressions."wolfbeast2019-11-18-88/+6
| | | | This reverts commit f31b04a303607cd82757e7c4f60bb536658c8a30.
* Issue #1284 - Implement /s (dotAll) for regular expressions.wolfbeast2019-11-18-6/+88
| | | | Resolves #1284.
* Issue #1279 - Update js/src/builtin/TestingFunctions.cpp for regex ↵Gaming4JC2019-11-14-3/+3
| | | | | | lookbehind changes This fixes debug builds
* Merge branch 'issue-1279'wolfbeast2019-11-12-157/+359
|\
| * Issue #1279 - Implement regular expression lookbehindwolfbeast2019-11-11-157/+359
| | | | | | | | Based on Tom Schuster's work, with extra minters for unicode.
* | Issue #1283 - Implement Promise.prototype.finally()André Bargull2019-11-12-0/+104
|/ | | | This resolves #1283.
* Merge branch 'master' into js-moduleswolfbeast2019-11-10-17058/+11028
|\ | | | | | | | | # Conflicts: # modules/libpref/init/all.js
| * Merge pull request #1262 from athenian200/solaris-workMoonchild2019-11-02-15/+122
| |\ | | | | | | Support Modern Solaris
| | * MoonchildProductions#1251 - Part 27: Fix ifdef style.athenian2002019-10-21-2/+2
| | | | | | | | | | | | This should do it for all the commits to files I changed, but while I'm in here I could probably go ahead and turn ALL the singular if defined statements into ifdef statements by using grep/find on the tree. On the other hand, perhaps we should do that as a separate issue so that this doesn't become a case of scope creep.
| | * MoonchildProductions#1251 - Part 25: Fix link paths.athenian2002019-10-21-0/+8
| | | | | | | | | | | | This fix is a bit ugly and may need to be changed later if we switch a new GCC version, but the fact is that we use an architecture-specific path for GCC libraries on Solaris, so knowing the right prefix for GCC would only help so much, because it would still need to decide between ${gccdir}/lib and ${gccdir}/lib/amd64. The MOZ_FIX_LINK_PATHS variable puts the search paths into the right order without the need for me to use elfedit on the binaries afterwards.
| | * MoonchildProductions#1251 - Part 23: Allow AMD64 build to work.athenian2002019-10-21-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS Setting this up turned out to be easier than I thought it would be. All I had to do was apply these instructions in reverse and add the following to my .mozconfig file: CC="gcc -m64" CXX="g++ -m64" AS="gas --64" ac_add_options --target=x86_64-pc-solaris2.11 export PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig ac_add_options --libdir=/usr/lib/amd64 ac_add_options --x-libraries=/usr/lib/amd64 Most of these changes were fairly trivial, just requiring me to make a few of the changes I made earlier conditional on a 32-bit build. The biggest challenge was figuring out why the JavaScript engine triggered a segfault everytime it tried to allocate memory. But this patch fixes it: https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/web/firefox/patches/patch-js_src_gc_Memory.cpp.patch Turns out that Solaris on AMD64 handles memory management in a fairly unusual way with a segmented memory model, but it's not that different from what we see on other 64-bit processors. In fact, I saw a SPARC crash for a similar reason, and noticed that it looked just like mine except the numbers in the first segment were reversed. Having played around with hex editors before, I had a feeling I might be dealing with a little-endian version of a big-endian problem, but I didn't expect that knowledge to actually yield an easy solution. https://bugzilla.mozilla.org/show_bug.cgi?id=577056 https://www.oracle.com/technetwork/server-storage/solaris10/solaris-memory-135224.html As far as I can tell, this was the last barrier to an AMD64 Solaris build of Pale Moon.