Skip to content

Commit 266e36d

Browse files
committed
2020-04-12 release
1 parent 82f76ca commit 266e36d

14 files changed

+1114
-400
lines changed

Changelog

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
2020-04-12:
2+
3+
- added cross realm support
4+
- added AggregateError and Promise.any
5+
- added env, uid and gid options in os.exec()
6+
- misc bug fixes
7+
18
2020-03-16:
29

310
- reworked error handling in std and os libraries: suppressed I/O

TODO

+2-2
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,6 @@ REPL:
7373
Test262o: 0/11262 errors, 463 excluded
7474
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
7575

76-
Test262: 22/70040 errors, 860 excluded, 581 skipped
77-
test262 commit: 25c9e334d301944537215caba1d7f44319f3e0da
76+
Test262: 28/70829 errors, 877 excluded, 425 skipped
77+
Test262 commit: 4a8e49b3ca7f9f74a4cafe6621ff9ba548ccc353
7878

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2020-03-16
1+
2020-04-12

doc/quickjs.html

+25-13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

doc/quickjs.pdf

-336 Bytes
Binary file not shown.

doc/quickjs.texi

+19-10
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
@chapter Introduction
2121

2222
QuickJS is a small and embeddable Javascript engine. It supports the
23-
upcoming ES2020 specification
24-
@footnote{@url{https://www.ecma-international.org/ecma-262/10.0}}
23+
ES2020 specification
24+
@footnote{@url{https://tc39.es/ecma262/}}
2525
including modules, asynchronous generators, proxies and BigInt.
2626

2727
It supports mathematical extensions such as big decimal float float
@@ -36,12 +36,12 @@ and operator overloading.
3636

3737
@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.
3838

39-
@item Almost complete ES2019 support including modules, asynchronous
39+
@item Almost complete ES2020 support including modules, asynchronous
4040
generators and full Annex B support (legacy web compatibility). Many
41-
features from the upcoming ES2020 specification
41+
features from the upcoming ES2021 specification
4242
@footnote{@url{https://tc39.github.io/ecma262/}} are also supported.
4343

44-
@item Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2019 features.
44+
@item Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2020 features.
4545

4646
@item Compile Javascript sources to executables with no external dependency.
4747

@@ -259,17 +259,15 @@ about 100 seconds).
259259

260260
@section Language support
261261

262-
@subsection ES2019 support
262+
@subsection ES2020 support
263263

264-
The ES2019 specification is almost fully supported including the Annex
264+
The ES2020 specification is almost fully supported including the Annex
265265
B (legacy web compatibility) and the Unicode related features.
266266

267267
The following features are not supported yet:
268268

269269
@itemize
270270

271-
@item Realms (although the C API supports different runtimes and contexts)
272-
273271
@item Tail calls@footnote{We believe the current specification of tails calls is too complicated and presents limited practical interests.}
274272

275273
@end itemize
@@ -704,7 +702,18 @@ object containing optional parameters:
704702
@item stdout
705703
@item stderr
706704
If present, set the handle in the child for stdin, stdout or stderr.
707-
705+
706+
@item env
707+
Object. If present, set the process environment from the object
708+
key-value pairs. Otherwise use the same environment as the current
709+
process.
710+
711+
@item uid
712+
Integer. If present, the process uid with @code{setuid}.
713+
714+
@item gid
715+
Integer. If present, the process gid with @code{setgid}.
716+
708717
@end table
709718

710719
@item waitpid(pid, options)

libbf.c

+5-3
Original file line numberDiff line numberDiff line change
@@ -1701,10 +1701,12 @@ static int __bf_div(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec,
17011701
memset(taba, 0, d * sizeof(limb_t));
17021702
memcpy(taba + d, a->tab, a->len * sizeof(limb_t));
17031703
if (bf_resize(r, n + 1))
1704+
goto fail1;
1705+
if (mp_divnorm(s, r->tab, taba, na, b->tab, nb)) {
1706+
fail1:
1707+
bf_free(s, taba);
17041708
goto fail;
1705-
if (mp_divnorm(s, r->tab, taba, na, b->tab, nb))
1706-
goto fail;
1707-
1709+
}
17081710
/* see if non zero remainder */
17091711
if (mp_scan_nz(taba, nb))
17101712
r->tab[0] |= 1;

0 commit comments

Comments
 (0)