mirror of
https://github.com/bellard/quickjs.git
synced 2024-11-28 00:28:12 +08:00
new release
This commit is contained in:
parent
6e651e86e5
commit
3f81070e57
19
Changelog
19
Changelog
@ -1,3 +1,22 @@
|
||||
2024-01-13:
|
||||
|
||||
- top-level-await support in modules
|
||||
- allow 'await' in the REPL
|
||||
- added Array.prototype.{with,toReversed,toSpliced,toSorted} and
|
||||
TypedArray.prototype.{with,toReversed,toSorted}
|
||||
- added String.prototype.isWellFormed and String.prototype.toWellFormed
|
||||
- added Object.groupBy and Map.groupBy
|
||||
- added Promise.withResolvers
|
||||
- class static block
|
||||
- 'in' operator support for private fields
|
||||
- optional chaining fixes
|
||||
- added RegExp 'd' flag
|
||||
- fixed RegExp zero length match logic
|
||||
- fixed RegExp case insensitive flag
|
||||
- added os.getpid() and os.now()
|
||||
- added cosmopolitan build
|
||||
- misc bug fixes
|
||||
|
||||
2023-12-09:
|
||||
|
||||
- added Object.hasOwn, {String|Array|TypedArray}.prototype.at,
|
||||
|
@ -19,9 +19,9 @@
|
||||
|
||||
@chapter Introduction
|
||||
|
||||
QuickJS is a small and embeddable Javascript engine. It supports the
|
||||
ES2020 specification
|
||||
@footnote{@url{https://tc39.es/ecma262/}}
|
||||
QuickJS is a small and embeddable Javascript engine. It supports most of the
|
||||
ES2023 specification
|
||||
@footnote{@url{https://tc39.es/ecma262/2023 }}
|
||||
including modules, asynchronous generators, proxies and BigInt.
|
||||
|
||||
It supports mathematical extensions such as big decimal float float
|
||||
@ -34,14 +34,14 @@ and operator overloading.
|
||||
|
||||
@item Small and easily embeddable: just a few C files, no external dependency, 210 KiB of x86 code for a simple ``hello world'' program.
|
||||
|
||||
@item Fast interpreter with very low startup time: runs the 69000 tests of the ECMAScript Test Suite@footnote{@url{https://github.com/tc39/test262}} in about 95 seconds on a single core of a desktop PC. The complete life cycle of a runtime instance completes in less than 300 microseconds.
|
||||
@item Fast interpreter with very low startup time: runs the 77000 tests of the ECMAScript Test Suite@footnote{@url{https://github.com/tc39/test262}} in less than 2 minutes on a single core of a desktop PC. The complete life cycle of a runtime instance completes in less than 300 microseconds.
|
||||
|
||||
@item Almost complete ES2020 support including modules, asynchronous
|
||||
generators and full Annex B support (legacy web compatibility). Many
|
||||
features from the upcoming ES2021 specification
|
||||
@footnote{@url{https://tc39.github.io/ecma262/}} are also supported.
|
||||
@item Almost complete ES2023 support including modules, asynchronous
|
||||
generators and full Annex B support (legacy web compatibility). Some
|
||||
features from the upcoming ES2024 specification
|
||||
@footnote{@url{https://tc39.es/ecma262/}} are also supported.
|
||||
|
||||
@item Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2020 features.
|
||||
@item Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2023 features.
|
||||
|
||||
@item Compile Javascript sources to executables with no external dependency.
|
||||
|
||||
@ -270,9 +270,9 @@ about 100 seconds).
|
||||
|
||||
@section Language support
|
||||
|
||||
@subsection ES2020 support
|
||||
@subsection ES2023 support
|
||||
|
||||
The ES2020 specification is almost fully supported including the Annex
|
||||
The ES2023 specification is almost fully supported including the Annex
|
||||
B (legacy web compatibility) and the Unicode related features.
|
||||
|
||||
The following features are not supported yet:
|
||||
@ -281,6 +281,10 @@ The following features are not supported yet:
|
||||
|
||||
@item Tail calls@footnote{We believe the current specification of tails calls is too complicated and presents limited practical interests.}
|
||||
|
||||
@item WeakRef and FinalizationRegistry objects
|
||||
|
||||
@item Symbols as WeakMap keys
|
||||
|
||||
@end itemize
|
||||
|
||||
@subsection ECMA402
|
||||
@ -1075,7 +1079,7 @@ stack holds the Javascript parameters and local variables.
|
||||
@section RegExp
|
||||
|
||||
A specific regular expression engine was developed. It is both small
|
||||
and efficient and supports all the ES2020 features including the
|
||||
and efficient and supports all the ES2023 features including the
|
||||
Unicode properties. As the Javascript compiler, it directly generates
|
||||
bytecode without a parse tree.
|
||||
|
||||
@ -1083,9 +1087,6 @@ Backtracking with an explicit stack is used so that there is no
|
||||
recursion on the system stack. Simple quantifiers are specifically
|
||||
optimized to avoid recursions.
|
||||
|
||||
Infinite recursions coming from quantifiers with empty terms are
|
||||
avoided.
|
||||
|
||||
The full regexp library weights about 15 KiB (x86 code), excluding the
|
||||
Unicode library.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user