mirror of
https://github.com/bellard/quickjs.git
synced 2024-11-24 14:48: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:
|
2023-12-09:
|
||||||
|
|
||||||
- added Object.hasOwn, {String|Array|TypedArray}.prototype.at,
|
- added Object.hasOwn, {String|Array|TypedArray}.prototype.at,
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
|
|
||||||
@chapter Introduction
|
@chapter Introduction
|
||||||
|
|
||||||
QuickJS is a small and embeddable Javascript engine. It supports the
|
QuickJS is a small and embeddable Javascript engine. It supports most of the
|
||||||
ES2020 specification
|
ES2023 specification
|
||||||
@footnote{@url{https://tc39.es/ecma262/}}
|
@footnote{@url{https://tc39.es/ecma262/2023 }}
|
||||||
including modules, asynchronous generators, proxies and BigInt.
|
including modules, asynchronous generators, proxies and BigInt.
|
||||||
|
|
||||||
It supports mathematical extensions such as big decimal float float
|
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 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
|
@item Almost complete ES2023 support including modules, asynchronous
|
||||||
generators and full Annex B support (legacy web compatibility). Many
|
generators and full Annex B support (legacy web compatibility). Some
|
||||||
features from the upcoming ES2021 specification
|
features from the upcoming ES2024 specification
|
||||||
@footnote{@url{https://tc39.github.io/ecma262/}} are also supported.
|
@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.
|
@item Compile Javascript sources to executables with no external dependency.
|
||||||
|
|
||||||
@ -270,9 +270,9 @@ about 100 seconds).
|
|||||||
|
|
||||||
@section Language support
|
@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.
|
B (legacy web compatibility) and the Unicode related features.
|
||||||
|
|
||||||
The following features are not supported yet:
|
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 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
|
@end itemize
|
||||||
|
|
||||||
@subsection ECMA402
|
@subsection ECMA402
|
||||||
@ -1075,7 +1079,7 @@ stack holds the Javascript parameters and local variables.
|
|||||||
@section RegExp
|
@section RegExp
|
||||||
|
|
||||||
A specific regular expression engine was developed. It is both small
|
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
|
Unicode properties. As the Javascript compiler, it directly generates
|
||||||
bytecode without a parse tree.
|
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
|
recursion on the system stack. Simple quantifiers are specifically
|
||||||
optimized to avoid recursions.
|
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
|
The full regexp library weights about 15 KiB (x86 code), excluding the
|
||||||
Unicode library.
|
Unicode library.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user