Diff of the two buildlogs: -- --- b1/build.log 2025-08-21 04:35:00.473148656 +0000 +++ b2/build.log 2025-08-21 04:36:36.469258471 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Aug 20 16:33:09 -12 2025 -I: pbuilder-time-stamp: 1755750789 +I: Current time: Thu Sep 24 00:58:02 +14 2026 +I: pbuilder-time-stamp: 1790161082 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -22,53 +22,85 @@ dpkg-source: info: unpacking golang-github-dop251-goja_0.0~git20250630.0.58d95d8-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1666968/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Sep 23 10:58 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='a281f2a9c3d7430d873d19a7a2eba315' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1666968' - PS1='# ' - PS2='> ' + INVOCATION_ID=a73d02faa449469fb11341a613235a52 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=602494 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.jwqcxupb/pbuilderrc_FIvK --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jwqcxupb/b1 --logfile b1/build.log golang-github-dop251-goja_0.0~git20250630.0.58d95d8-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.jwqcxupb/pbuilderrc_4aCS --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jwqcxupb/b2 --logfile b2/build.log golang-github-dop251-goja_0.0~git20250630.0.58d95d8-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1666968/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -166,7 +198,7 @@ Get: 42 http://deb.debian.org/debian forky/main arm64 golang-github-masterminds-semver-dev all 3.2.0-1 [22.2 kB] Get: 43 http://deb.debian.org/debian forky/main arm64 golang-golang-x-text-dev all 0.22.0-1 [3995 kB] Get: 44 http://deb.debian.org/debian forky/main arm64 golang-gopkg-yaml.v2-dev all 2.4.0-5 [60.5 kB] -Fetched 62.3 MB in 1s (92.6 MB/s) +Fetched 62.3 MB in 0s (137 MB/s) Preconfiguring packages ... Selecting previously unselected package tzdata. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20003 files and directories currently installed.) @@ -320,8 +352,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Aug 21 04:33:39 UTC 2025. -Universal Time is now: Thu Aug 21 04:33:39 UTC 2025. +Local time is now: Wed Sep 23 10:58:32 UTC 2026. +Universal Time is now: Wed Sep 23 10:58:32 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20240727.1) ... @@ -368,7 +400,11 @@ fakeroot is already the newest version (1.37.1.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/golang-github-dop251-goja-0.0~git20250630.0.58d95d8/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../golang-github-dop251-goja_0.0~git20250630.0.58d95d8-1_source.changes +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-dop251-goja-0.0~git20250630.0.58d95d8/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../golang-github-dop251-goja_0.0~git20250630.0.58d95d8-1_source.changes dpkg-buildpackage: info: source package golang-github-dop251-goja dpkg-buildpackage: info: source version 0.0~git20250630.0.58d95d8-1 dpkg-buildpackage: info: source distribution unstable @@ -387,72 +423,72 @@ dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang cd obj-aarch64-linux-gnu && go install -trimpath -v -p 12 github.com/dop251/goja github.com/dop251/goja/ast github.com/dop251/goja/file github.com/dop251/goja/ftoa github.com/dop251/goja/ftoa/internal/fast github.com/dop251/goja/parser github.com/dop251/goja/token github.com/dop251/goja/unistring -internal/unsafeheader -internal/godebugs -internal/coverage/rtcov internal/profilerecord +internal/goarch +internal/godebugs internal/goos +internal/byteorder +internal/unsafeheader internal/msan +internal/coverage/rtcov internal/asan -internal/goexperiment -internal/goarch internal/cpu +internal/goexperiment +internal/runtime/math +sync/atomic +internal/abi math/bits unicode -sync/atomic +internal/runtime/syscall unicode/utf8 cmp encoding -internal/abi -internal/runtime/math +internal/chacha8rand internal/itoa -internal/runtime/syscall -internal/byteorder unicode/utf16 math -internal/chacha8rand internal/runtime/atomic -internal/bytealg internal/runtime/sys +internal/bytealg internal/runtime/exithook internal/stringslite internal/race -hash/maphash -internal/sync internal/runtime/maps +internal/sync +hash/maphash runtime +iter internal/reflectlite sync -iter slices maps -errors sort -internal/oserror +errors +internal/bisect +internal/testlog strconv +internal/oserror path io -internal/bisect -internal/testlog syscall internal/godebug +golang.org/x/text/unicode/rangetable +golang.org/x/text/internal/tag +bytes strings github.com/go-sourcemap/sourcemap/internal/base64vlq hash -bytes -golang.org/x/text/internal/tag -golang.org/x/text/unicode/rangetable hash/crc32 -reflect -github.com/dop251/goja/token math/rand +github.com/dop251/goja/token +reflect golang.org/x/text/transform bufio regexp/syntax -regexp internal/syscall/execenv time internal/syscall/unix +regexp io/fs internal/poll internal/filepathlite @@ -462,16 +498,16 @@ github.com/dop251/goja/unistring encoding/base64 fmt -path/filepath io/ioutil +path/filepath encoding/json -net/url github.com/dlclark/regexp2/syntax +net/url +github.com/dop251/goja/ftoa/internal/fast compress/flate go/token -math/big -github.com/dop251/goja/ftoa/internal/fast golang.org/x/text/internal/language +math/big golang.org/x/text/unicode/norm go/scanner compress/gzip @@ -482,12 +518,12 @@ github.com/dlclark/regexp2 golang.org/x/text/internal/colltab golang.org/x/text/internal -golang.org/x/text/cases github.com/go-sourcemap/sourcemap -github.com/dop251/goja/file +golang.org/x/text/cases github.com/dop251/goja/ftoa -golang.org/x/text/collate +github.com/dop251/goja/file github.com/dop251/goja/ast +golang.org/x/text/collate github.com/dop251/goja/parser github.com/dop251/goja dh_auto_test -O--buildsystem=golang @@ -557,7 +593,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSparseArraySetLengthWithPropItems (0.00s) === RUN TestSparseArraySwitch ---- PASS: TestSparseArraySwitch (0.14s) +--- PASS: TestSparseArraySwitch (0.11s) === RUN TestSparseArrayOwnKeys compiler.go:433: 0: *goja.bindGlobal(&{[a1 seen count keys] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(a1) @@ -1011,7 +1047,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArraySetLengthWithPropItems (0.00s) === RUN TestArrayFrom - compiler.go:433: 0: *goja.newFunc(&{0x4000270be0 checkDestHoles function checkDestHoles(dest, prefix) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc4b0 checkDestHoles function checkDestHoles(dest, prefix) { assert(dest !== source, prefix + ": dest !== source"); assert.sameValue(dest.length, 3, prefix + ": dest.length"); assert.sameValue(dest[0], 1, prefix + ": [0]"); @@ -1084,7 +1120,7 @@ compiler.go:433: > 62: goja._pop({}) compiler.go:433: > 63: goja._loadUndef({}) compiler.go:433: > 64: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000270c30 checkDest function checkDest(dest, prefix) { + compiler.go:433: 1: *goja.newFunc(&{0x40004fc500 checkDest function checkDest(dest, prefix) { assert(dest !== source, prefix + ": dest !== source"); assert.sameValue(dest.length, 3, prefix + ": dest.length"); assert.sameValue(dest[0], 1, prefix + ": [0]"); @@ -1146,7 +1182,7 @@ compiler.go:433: > 52: goja._pop({}) compiler.go:433: > 53: goja._loadUndef({}) compiler.go:433: > 54: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x4000270c80 Iter function Iter() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fc550 Iter function Iter() { this.idx = 0; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1156,11 +1192,11 @@ compiler.go:433: > 4: goja.setPropP(idx) compiler.go:433: > 5: goja._loadUndef({}) compiler.go:433: > 6: goja._ret({}) - compiler.go:433: 3: *goja.newFunc(&{0x4000270cd0 A function A() {} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x40004fc5a0 A function A() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) - compiler.go:433: 4: *goja.newFunc(&{0x4000270d20 T2 function T2() { + compiler.go:433: 4: *goja.newFunc(&{0x40004fc5f0 T2 function T2() { Object.defineProperty(this, 0, { configurable: false, writable: true, @@ -1221,7 +1257,7 @@ compiler.go:433: 39: goja._pop({}) compiler.go:433: 40: goja.loadDynamic(Iter) compiler.go:433: 41: goja.getProp(prototype) - compiler.go:433: 42: *goja.newFunc(&{0x4000270d70 function() { + compiler.go:433: 42: *goja.newFunc(&{0x40004fc640 function() { if (this.idx < source.length) { return {value: source[this.idx++]}; } else { @@ -1263,7 +1299,7 @@ compiler.go:433: 47: goja.loadDynamic(src) compiler.go:433: 48: goja.loadDynamic(Symbol) compiler.go:433: 49: goja.getProp(iterator) - compiler.go:433: 50: *goja.newFunc(&{0x4000270dc0 function() { + compiler.go:433: 50: *goja.newFunc(&{0x40004fc690 function() { return new Iter(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1327,7 +1363,7 @@ compiler.go:433: 105: goja.loadDynamic(assert) compiler.go:433: 106: goja.getPropCallee(throws) compiler.go:433: 107: goja.loadDynamic(TypeError) - compiler.go:433: 108: *goja.newFunc(&{0x4000270e10 function() { + compiler.go:433: 108: *goja.newFunc(&{0x40004fc6e0 function() { Array.from.call(T2, source); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1344,9 +1380,9 @@ compiler.go:433: 110: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestArrayFrom (0.01s) +--- PASS: TestArrayFrom (0.00s) === RUN TestArrayOf - compiler.go:433: 0: *goja.newFunc(&{0x4000271220 T1 function T1() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcaf0 T1 function T1() { Object.preventExtensions(this); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1358,7 +1394,7 @@ compiler.go:433: > 6: goja._pop({}) compiler.go:433: > 7: goja._loadUndef({}) compiler.go:433: > 8: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000271270 T2 function T2() { + compiler.go:433: 1: *goja.newFunc(&{0x40004fcb40 T2 function T2() { Object.defineProperty(this, 0, { configurable: false, writable: true, @@ -1386,7 +1422,7 @@ compiler.go:433: 3: goja.loadDynamic(assert) compiler.go:433: 4: goja.getPropCallee(throws) compiler.go:433: 5: goja.loadDynamic(TypeError) - compiler.go:433: 6: *goja.newFunc(&{0x40002712c0 function() { + compiler.go:433: 6: *goja.newFunc(&{0x40004fcb90 function() { Array.of.call(T1, 'Bob'); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1404,7 +1440,7 @@ compiler.go:433: 9: goja.loadDynamic(assert) compiler.go:433: 10: goja.getPropCallee(throws) compiler.go:433: 11: goja.loadDynamic(TypeError) - compiler.go:433: 12: *goja.newFunc(&{0x4000271310 function() { + compiler.go:433: 12: *goja.newFunc(&{0x40004fcbe0 function() { Array.of.call(T2, 'Bob'); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1490,7 +1526,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(throws) compiler.go:433: 2: goja.loadDynamic(TypeError) - compiler.go:433: 3: *goja.newFunc(&{0x4000271770 function() { + compiler.go:433: 3: *goja.newFunc(&{0x4000424870 function() { [1,2].sort(null); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1511,7 +1547,7 @@ compiler.go:433: 7: goja.loadDynamic(assert) compiler.go:433: 8: goja.getPropCallee(throws) compiler.go:433: 9: goja.loadDynamic(TypeError) - compiler.go:433: 10: *goja.newFunc(&{0x40002717c0 function() { + compiler.go:433: 10: *goja.newFunc(&{0x40004248c0 function() { [1,2].sort({}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1557,7 +1593,7 @@ compiler.go:433: 21: goja.loadDynamic(array) compiler.go:433: 22: goja.loadVal({2}) compiler.go:433: 23: goja._newObject({}) - compiler.go:433: 24: *goja.newMethod(&{{0x4000271a90 get get() { + compiler.go:433: 24: *goja.newMethod(&{{0x4000424b90 get get() { array.pop(); array.pop(); return this.foo; @@ -1576,7 +1612,7 @@ compiler.go:433: > 11: goja.getProp(foo) compiler.go:433: > 12: goja._ret({}) compiler.go:433: 25: *goja.defineMethodKeyed(&{get true}) - compiler.go:433: 26: *goja.newMethod(&{{0x4000271ae0 set set(v) { + compiler.go:433: 26: *goja.newMethod(&{{0x4000424be0 set set(v) { this.foo = v; } 1 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -1953,7 +1989,7 @@ compiler.go:433: 275: goja.getProp(constructor) compiler.go:433: 276: goja.loadDynamic(Symbol) compiler.go:433: 277: goja.getProp(species) - compiler.go:433: 278: *goja.newFunc(&{0x40003ee230 function () { + compiler.go:433: 278: *goja.newFunc(&{0x4000425270 function () { return { foo: 1 }; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1974,7 +2010,7 @@ compiler.go:433: 289: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestArrayConcat (0.01s) +--- PASS: TestArrayConcat (0.00s) === RUN TestArrayFlat compiler.go:433: 0: *goja.bindGlobal(&{[array] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(array) @@ -2174,11 +2210,11 @@ compiler.go:433: 195: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestArrayFlat (0.00s) +--- PASS: TestArrayFlat (0.01s) === RUN TestArrayFlatMap compiler.go:433: 0: *goja.bindGlobal(&{[double array] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(double) - compiler.go:433: 2: *goja.newFunc(&{0x40003ee550 double function(x) { + compiler.go:433: 2: *goja.newFunc(&{0x40004fceb0 double function(x) { if (isNaN(x)) { return x } @@ -2602,7 +2638,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArrayToSpliced (0.00s) === RUN TestBigInt - compiler.go:433: 0: goja.loadVal({0x4000227bc0}) + compiler.go:433: 0: goja.loadVal({0x40003170a0}) compiler.go:433: 1: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 @@ -2616,7 +2652,7 @@ === RUN TestBigIntFormat compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(sameValue) - compiler.go:433: 2: goja.loadVal({0x40002ac140}) + compiler.go:433: 2: goja.loadVal({0x40003175a0}) compiler.go:433: 3: goja.getPropCallee(toString) compiler.go:433: 4: goja.loadDynamic(undefined) compiler.go:433: 5: goja.call(1) @@ -2627,9 +2663,9 @@ compiler.go:433: 10: goja.loadDynamic(assert) compiler.go:433: 11: goja.getPropCallee(throws) compiler.go:433: 12: goja.loadDynamic(RangeError) - compiler.go:433: 13: *goja.newArrowFunc(&{{0x40003ef130 () => { (1n).toString(-1); } 0 false}}) + compiler.go:433: 13: *goja.newArrowFunc(&{{0x40004fda90 () => { (1n).toString(-1); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x40002ac1a0}) + compiler.go:433: > 1: goja.loadVal({0x4000317600}) compiler.go:433: > 2: goja.getPropCallee(toString) compiler.go:433: > 3: goja.loadVal({1}) compiler.go:433: > 4: goja._neg({}) @@ -2643,9 +2679,9 @@ compiler.go:433: 17: goja.loadDynamic(assert) compiler.go:433: 18: goja.getPropCallee(throws) compiler.go:433: 19: goja.loadDynamic(RangeError) - compiler.go:433: 20: *goja.newArrowFunc(&{{0x40003ef180 () => { (1n).toString(37); } 0 false}}) + compiler.go:433: 20: *goja.newArrowFunc(&{{0x40004fdae0 () => { (1n).toString(37); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x40002ac220}) + compiler.go:433: > 1: goja.loadVal({0x4000317680}) compiler.go:433: > 2: goja.getPropCallee(toString) compiler.go:433: > 3: goja.loadVal({37}) compiler.go:433: > 4: goja.call(1) @@ -2657,7 +2693,7 @@ compiler.go:433: 23: goja._pop({}) compiler.go:433: 24: goja.loadDynamic(assert) compiler.go:433: 25: goja.getPropCallee(sameValue) - compiler.go:433: 26: goja.loadVal({0x40002ac280}) + compiler.go:433: 26: goja.loadVal({0x40003176e0}) compiler.go:433: 27: goja.getPropCallee(toString) compiler.go:433: 28: goja.loadVal({2}) compiler.go:433: 29: goja.call(1) @@ -2667,7 +2703,7 @@ compiler.go:433: 33: goja._pop({}) compiler.go:433: 34: goja.loadDynamic(assert) compiler.go:433: 35: goja.getPropCallee(sameValue) - compiler.go:433: 36: goja.loadVal({0x40002ac2e0}) + compiler.go:433: 36: goja.loadVal({0x4000317740}) compiler.go:433: 37: goja.getPropCallee(toString) compiler.go:433: 38: goja.loadVal({3}) compiler.go:433: 39: goja.call(1) @@ -2683,7 +2719,7 @@ compiler.go:433: 1: goja.loadDynamic(assert) compiler.go:433: 2: goja.getPropCallee(throws) compiler.go:433: 3: goja.loadDynamic(TypeError) - compiler.go:433: 4: *goja.newArrowFunc(&{{0x400001e9b0 () => { 1 - 1n; } 0 false}}) + compiler.go:433: 4: *goja.newArrowFunc(&{{0x400001fa90 () => { 1 - 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2697,7 +2733,7 @@ compiler.go:433: 8: goja.loadDynamic(assert) compiler.go:433: 9: goja.getPropCallee(throws) compiler.go:433: 10: goja.loadDynamic(TypeError) - compiler.go:433: 11: *goja.newArrowFunc(&{{0x400001ea50 () => { 1n - 1; } 0 false}}) + compiler.go:433: 11: *goja.newArrowFunc(&{{0x400001fb30 () => { 1n - 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2711,7 +2747,7 @@ compiler.go:433: 15: goja.loadDynamic(assert) compiler.go:433: 16: goja.getPropCallee(throws) compiler.go:433: 17: goja.loadDynamic(TypeError) - compiler.go:433: 18: *goja.newArrowFunc(&{{0x400001eaf0 () => { 1n + 1; } 0 false}}) + compiler.go:433: 18: *goja.newArrowFunc(&{{0x400001fc20 () => { 1n + 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2725,7 +2761,7 @@ compiler.go:433: 22: goja.loadDynamic(assert) compiler.go:433: 23: goja.getPropCallee(throws) compiler.go:433: 24: goja.loadDynamic(TypeError) - compiler.go:433: 25: *goja.newArrowFunc(&{{0x400001ec30 () => { 1 + 1n; } 0 false}}) + compiler.go:433: 25: *goja.newArrowFunc(&{{0x400001fcc0 () => { 1 + 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2739,7 +2775,7 @@ compiler.go:433: 29: goja.loadDynamic(assert) compiler.go:433: 30: goja.getPropCallee(throws) compiler.go:433: 31: goja.loadDynamic(TypeError) - compiler.go:433: 32: *goja.newArrowFunc(&{{0x400001ecd0 () => { 1 * 1n; } 0 false}}) + compiler.go:433: 32: *goja.newArrowFunc(&{{0x400001fd60 () => { 1 * 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2753,7 +2789,7 @@ compiler.go:433: 36: goja.loadDynamic(assert) compiler.go:433: 37: goja.getPropCallee(throws) compiler.go:433: 38: goja.loadDynamic(TypeError) - compiler.go:433: 39: *goja.newArrowFunc(&{{0x400001ed70 () => { 1n * 1; } 0 false}}) + compiler.go:433: 39: *goja.newArrowFunc(&{{0x400001fe00 () => { 1n * 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2767,7 +2803,7 @@ compiler.go:433: 43: goja.loadDynamic(assert) compiler.go:433: 44: goja.getPropCallee(throws) compiler.go:433: 45: goja.loadDynamic(TypeError) - compiler.go:433: 46: *goja.newArrowFunc(&{{0x400001ee10 () => { 1 / 1n; } 0 false}}) + compiler.go:433: 46: *goja.newArrowFunc(&{{0x400001fea0 () => { 1 / 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2781,7 +2817,7 @@ compiler.go:433: 50: goja.loadDynamic(assert) compiler.go:433: 51: goja.getPropCallee(throws) compiler.go:433: 52: goja.loadDynamic(TypeError) - compiler.go:433: 53: *goja.newArrowFunc(&{{0x400001eeb0 () => { 1n / 1; } 0 false}}) + compiler.go:433: 53: *goja.newArrowFunc(&{{0x40003e6000 () => { 1n / 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2795,7 +2831,7 @@ compiler.go:433: 57: goja.loadDynamic(assert) compiler.go:433: 58: goja.getPropCallee(throws) compiler.go:433: 59: goja.loadDynamic(TypeError) - compiler.go:433: 60: *goja.newArrowFunc(&{{0x400001ef50 () => { 1 % 1n; } 0 false}}) + compiler.go:433: 60: *goja.newArrowFunc(&{{0x40003e60a0 () => { 1 % 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2809,7 +2845,7 @@ compiler.go:433: 64: goja.loadDynamic(assert) compiler.go:433: 65: goja.getPropCallee(throws) compiler.go:433: 66: goja.loadDynamic(TypeError) - compiler.go:433: 67: *goja.newArrowFunc(&{{0x400001eff0 () => { 1n % 1; } 0 false}}) + compiler.go:433: 67: *goja.newArrowFunc(&{{0x40003e6140 () => { 1n % 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2823,7 +2859,7 @@ compiler.go:433: 71: goja.loadDynamic(assert) compiler.go:433: 72: goja.getPropCallee(throws) compiler.go:433: 73: goja.loadDynamic(TypeError) - compiler.go:433: 74: *goja.newArrowFunc(&{{0x400001f0e0 () => { 1n ** 1; } 0 false}}) + compiler.go:433: 74: *goja.newArrowFunc(&{{0x40003e61e0 () => { 1n ** 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2837,7 +2873,7 @@ compiler.go:433: 78: goja.loadDynamic(assert) compiler.go:433: 79: goja.getPropCallee(throws) compiler.go:433: 80: goja.loadDynamic(TypeError) - compiler.go:433: 81: *goja.newArrowFunc(&{{0x400001f2c0 () => { 1 ** 1n; } 0 false}}) + compiler.go:433: 81: *goja.newArrowFunc(&{{0x40003e6280 () => { 1 ** 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2851,7 +2887,7 @@ compiler.go:433: 85: goja.loadDynamic(assert) compiler.go:433: 86: goja.getPropCallee(throws) compiler.go:433: 87: goja.loadDynamic(TypeError) - compiler.go:433: 88: *goja.newArrowFunc(&{{0x400001f360 () => { 1 & 1n; } 0 false}}) + compiler.go:433: 88: *goja.newArrowFunc(&{{0x40003e6320 () => { 1 & 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2865,7 +2901,7 @@ compiler.go:433: 92: goja.loadDynamic(assert) compiler.go:433: 93: goja.getPropCallee(throws) compiler.go:433: 94: goja.loadDynamic(TypeError) - compiler.go:433: 95: *goja.newArrowFunc(&{{0x400001f4f0 () => { 1n & 1; } 0 false}}) + compiler.go:433: 95: *goja.newArrowFunc(&{{0x40003e63c0 () => { 1n & 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2879,7 +2915,7 @@ compiler.go:433: 99: goja.loadDynamic(assert) compiler.go:433: 100: goja.getPropCallee(throws) compiler.go:433: 101: goja.loadDynamic(TypeError) - compiler.go:433: 102: *goja.newArrowFunc(&{{0x400001f590 () => { 1 | 1n; } 0 false}}) + compiler.go:433: 102: *goja.newArrowFunc(&{{0x40003e6460 () => { 1 | 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2893,7 +2929,7 @@ compiler.go:433: 106: goja.loadDynamic(assert) compiler.go:433: 107: goja.getPropCallee(throws) compiler.go:433: 108: goja.loadDynamic(TypeError) - compiler.go:433: 109: *goja.newArrowFunc(&{{0x400001f630 () => { 1n | 1; } 0 false}}) + compiler.go:433: 109: *goja.newArrowFunc(&{{0x40003e6500 () => { 1n | 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2907,7 +2943,7 @@ compiler.go:433: 113: goja.loadDynamic(assert) compiler.go:433: 114: goja.getPropCallee(throws) compiler.go:433: 115: goja.loadDynamic(TypeError) - compiler.go:433: 116: *goja.newArrowFunc(&{{0x400001f6d0 () => { 1 ^ 1n; } 0 false}}) + compiler.go:433: 116: *goja.newArrowFunc(&{{0x40003e65a0 () => { 1 ^ 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2921,7 +2957,7 @@ compiler.go:433: 120: goja.loadDynamic(assert) compiler.go:433: 121: goja.getPropCallee(throws) compiler.go:433: 122: goja.loadDynamic(TypeError) - compiler.go:433: 123: *goja.newArrowFunc(&{{0x400001f770 () => { 1n ^ 1; } 0 false}}) + compiler.go:433: 123: *goja.newArrowFunc(&{{0x40003e6640 () => { 1n ^ 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2935,7 +2971,7 @@ compiler.go:433: 127: goja.loadDynamic(assert) compiler.go:433: 128: goja.getPropCallee(throws) compiler.go:433: 129: goja.loadDynamic(TypeError) - compiler.go:433: 130: *goja.newArrowFunc(&{{0x400001f860 () => { 1 << 1n; } 0 false}}) + compiler.go:433: 130: *goja.newArrowFunc(&{{0x40003e66e0 () => { 1 << 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2949,7 +2985,7 @@ compiler.go:433: 134: goja.loadDynamic(assert) compiler.go:433: 135: goja.getPropCallee(throws) compiler.go:433: 136: goja.loadDynamic(TypeError) - compiler.go:433: 137: *goja.newArrowFunc(&{{0x400001f900 () => { 1n << 1; } 0 false}}) + compiler.go:433: 137: *goja.newArrowFunc(&{{0x40003e6780 () => { 1n << 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2963,7 +2999,7 @@ compiler.go:433: 141: goja.loadDynamic(assert) compiler.go:433: 142: goja.getPropCallee(throws) compiler.go:433: 143: goja.loadDynamic(TypeError) - compiler.go:433: 144: *goja.newArrowFunc(&{{0x400001f9a0 () => { 1 >> 1n; } 0 false}}) + compiler.go:433: 144: *goja.newArrowFunc(&{{0x40003e6820 () => { 1 >> 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2977,7 +3013,7 @@ compiler.go:433: 148: goja.loadDynamic(assert) compiler.go:433: 149: goja.getPropCallee(throws) compiler.go:433: 150: goja.loadDynamic(TypeError) - compiler.go:433: 151: *goja.newArrowFunc(&{{0x400001fa40 () => { 1n >> 1; } 0 false}}) + compiler.go:433: 151: *goja.newArrowFunc(&{{0x40003e68c0 () => { 1n >> 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({Cannot mix BigInt and other types, use explicit conversions}) @@ -2991,7 +3027,7 @@ compiler.go:433: 155: goja.loadDynamic(assert) compiler.go:433: 156: goja.getPropCallee(throws) compiler.go:433: 157: goja.loadDynamic(TypeError) - compiler.go:433: 158: *goja.newArrowFunc(&{{0x400001fae0 () => { 1 >>> 1n; } 0 false}}) + compiler.go:433: 158: *goja.newArrowFunc(&{{0x40003e6960 () => { 1 >>> 1n; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({BigInts have no unsigned right shift, use >> instead}) @@ -3005,7 +3041,7 @@ compiler.go:433: 162: goja.loadDynamic(assert) compiler.go:433: 163: goja.getPropCallee(throws) compiler.go:433: 164: goja.loadDynamic(TypeError) - compiler.go:433: 165: *goja.newArrowFunc(&{{0x400001fb80 () => { 1n >>> 1; } 0 false}}) + compiler.go:433: 165: *goja.newArrowFunc(&{{0x40003e6a00 () => { 1n >>> 1; } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(TypeError) compiler.go:433: > 2: goja.loadVal({BigInts have no unsigned right shift, use >> instead}) @@ -3018,122 +3054,122 @@ compiler.go:433: 168: goja._pop({}) compiler.go:433: 169: goja.loadDynamic(assert) compiler.go:433: 170: goja.getPropCallee(sameValue) - compiler.go:433: 171: goja.loadVal({0x40002ada40}) - compiler.go:433: 172: goja.loadVal({0x40002ada80}) + compiler.go:433: 171: goja.loadVal({0x4000388ce0}) + compiler.go:433: 172: goja.loadVal({0x4000388d20}) compiler.go:433: 173: goja._add({}) - compiler.go:433: 174: goja.loadVal({0x40002adac0}) + compiler.go:433: 174: goja.loadVal({0x4000388d60}) compiler.go:433: 175: goja.loadVal({add}) compiler.go:433: 176: goja.call(3) compiler.go:433: 177: goja._pop({}) compiler.go:433: 178: goja.loadDynamic(assert) compiler.go:433: 179: goja.getPropCallee(sameValue) - compiler.go:433: 180: goja.loadVal({0x40002adb20}) - compiler.go:433: 181: goja.loadVal({0x40002adb60}) + compiler.go:433: 180: goja.loadVal({0x4000388dc0}) + compiler.go:433: 181: goja.loadVal({0x4000388e00}) compiler.go:433: 182: goja._sub({}) - compiler.go:433: 183: goja.loadVal({0x40002adba0}) + compiler.go:433: 183: goja.loadVal({0x4000388e40}) compiler.go:433: 184: goja.loadVal({sub}) compiler.go:433: 185: goja.call(3) compiler.go:433: 186: goja._pop({}) compiler.go:433: 187: goja.loadDynamic(assert) compiler.go:433: 188: goja.getPropCallee(sameValue) - compiler.go:433: 189: goja.loadVal({0x40002adc00}) - compiler.go:433: 190: goja.loadVal({0x40002adc40}) + compiler.go:433: 189: goja.loadVal({0x4000388ea0}) + compiler.go:433: 190: goja.loadVal({0x4000388ee0}) compiler.go:433: 191: goja._mul({}) - compiler.go:433: 192: goja.loadVal({0x40002adc80}) + compiler.go:433: 192: goja.loadVal({0x4000388f20}) compiler.go:433: 193: goja.loadVal({mul}) compiler.go:433: 194: goja.call(3) compiler.go:433: 195: goja._pop({}) compiler.go:433: 196: goja.loadDynamic(assert) compiler.go:433: 197: goja.getPropCallee(sameValue) - compiler.go:433: 198: goja.loadVal({0x40002adce0}) - compiler.go:433: 199: goja.loadVal({0x40002add20}) + compiler.go:433: 198: goja.loadVal({0x4000388f80}) + compiler.go:433: 199: goja.loadVal({0x4000388fc0}) compiler.go:433: 200: goja._div({}) - compiler.go:433: 201: goja.loadVal({0x40002add60}) + compiler.go:433: 201: goja.loadVal({0x4000389000}) compiler.go:433: 202: goja.loadVal({div}) compiler.go:433: 203: goja.call(3) compiler.go:433: 204: goja._pop({}) compiler.go:433: 205: goja.loadDynamic(assert) compiler.go:433: 206: goja.getPropCallee(sameValue) - compiler.go:433: 207: goja.loadVal({0x40002addc0}) - compiler.go:433: 208: goja.loadVal({0x40002ade00}) + compiler.go:433: 207: goja.loadVal({0x4000389060}) + compiler.go:433: 208: goja.loadVal({0x40003890a0}) compiler.go:433: 209: goja._mod({}) - compiler.go:433: 210: goja.loadVal({0x40002ade40}) + compiler.go:433: 210: goja.loadVal({0x40003890e0}) compiler.go:433: 211: goja.loadVal({mod}) compiler.go:433: 212: goja.call(3) compiler.go:433: 213: goja._pop({}) compiler.go:433: 214: goja.loadDynamic(assert) compiler.go:433: 215: goja.getPropCallee(sameValue) - compiler.go:433: 216: goja.loadVal({0x40002adea0}) - compiler.go:433: 217: goja.loadVal({0x40002adee0}) + compiler.go:433: 216: goja.loadVal({0x4000389140}) + compiler.go:433: 217: goja.loadVal({0x4000389180}) compiler.go:433: 218: goja._exp({}) - compiler.go:433: 219: goja.loadVal({0x40002adf20}) + compiler.go:433: 219: goja.loadVal({0x40003891c0}) compiler.go:433: 220: goja.loadVal({exp}) compiler.go:433: 221: goja.call(3) compiler.go:433: 222: goja._pop({}) compiler.go:433: 223: goja.loadDynamic(assert) compiler.go:433: 224: goja.getPropCallee(sameValue) - compiler.go:433: 225: goja.loadVal({0x40002ce000}) - compiler.go:433: 226: goja.loadVal({0x40002ce040}) + compiler.go:433: 225: goja.loadVal({0x4000389220}) + compiler.go:433: 226: goja.loadVal({0x4000389260}) compiler.go:433: 227: goja._and({}) - compiler.go:433: 228: goja.loadVal({0x40002ce080}) + compiler.go:433: 228: goja.loadVal({0x40003892a0}) compiler.go:433: 229: goja.loadVal({and}) compiler.go:433: 230: goja.call(3) compiler.go:433: 231: goja._pop({}) compiler.go:433: 232: goja.loadDynamic(assert) compiler.go:433: 233: goja.getPropCallee(sameValue) - compiler.go:433: 234: goja.loadVal({0x40002ce0e0}) - compiler.go:433: 235: goja.loadVal({0x40002ce120}) + compiler.go:433: 234: goja.loadVal({0x4000389300}) + compiler.go:433: 235: goja.loadVal({0x4000389340}) compiler.go:433: 236: goja._or({}) - compiler.go:433: 237: goja.loadVal({0x40002ce160}) + compiler.go:433: 237: goja.loadVal({0x4000389380}) compiler.go:433: 238: goja.loadVal({or}) compiler.go:433: 239: goja.call(3) compiler.go:433: 240: goja._pop({}) compiler.go:433: 241: goja.loadDynamic(assert) compiler.go:433: 242: goja.getPropCallee(sameValue) - compiler.go:433: 243: goja.loadVal({0x40002ce1c0}) - compiler.go:433: 244: goja.loadVal({0x40002ce200}) + compiler.go:433: 243: goja.loadVal({0x40003893e0}) + compiler.go:433: 244: goja.loadVal({0x4000389420}) compiler.go:433: 245: goja._xor({}) - compiler.go:433: 246: goja.loadVal({0x40002ce240}) + compiler.go:433: 246: goja.loadVal({0x4000389460}) compiler.go:433: 247: goja.loadVal({xor}) compiler.go:433: 248: goja.call(3) compiler.go:433: 249: goja._pop({}) compiler.go:433: 250: goja.loadDynamic(assert) compiler.go:433: 251: goja.getPropCallee(sameValue) - compiler.go:433: 252: goja.loadVal({0x40002ce2a0}) - compiler.go:433: 253: goja.loadVal({0x40002ce2e0}) + compiler.go:433: 252: goja.loadVal({0x40003894c0}) + compiler.go:433: 253: goja.loadVal({0x4000389500}) compiler.go:433: 254: goja._sal({}) - compiler.go:433: 255: goja.loadVal({0x40002ce320}) + compiler.go:433: 255: goja.loadVal({0x4000389540}) compiler.go:433: 256: goja.loadVal({lsh}) compiler.go:433: 257: goja.call(3) compiler.go:433: 258: goja._pop({}) compiler.go:433: 259: goja.loadDynamic(assert) compiler.go:433: 260: goja.getPropCallee(sameValue) - compiler.go:433: 261: goja.loadVal({0x40002ce380}) - compiler.go:433: 262: goja.loadVal({0x40002dd120}) + compiler.go:433: 261: goja.loadVal({0x40003895a0}) + compiler.go:433: 262: goja.loadVal({0x40003fc3c0}) compiler.go:433: 263: goja._sal({}) - compiler.go:433: 264: goja.loadVal({0x40002ce400}) + compiler.go:433: 264: goja.loadVal({0x4000389620}) compiler.go:433: 265: goja.loadVal({neg lsh}) compiler.go:433: 266: goja.call(3) compiler.go:433: 267: goja._pop({}) compiler.go:433: 268: goja.loadDynamic(assert) compiler.go:433: 269: goja.getPropCallee(sameValue) - compiler.go:433: 270: goja.loadVal({0x40002ce460}) - compiler.go:433: 271: goja.loadVal({0x40002ce4a0}) + compiler.go:433: 270: goja.loadVal({0x4000389680}) + compiler.go:433: 271: goja.loadVal({0x40003896c0}) compiler.go:433: 272: goja._sar({}) - compiler.go:433: 273: goja.loadVal({0x40002ce4e0}) + compiler.go:433: 273: goja.loadVal({0x4000389700}) compiler.go:433: 274: goja.loadVal({rsh}) compiler.go:433: 275: goja.call(3) compiler.go:433: 276: goja._pop({}) compiler.go:433: 277: goja.loadDynamic(assert) compiler.go:433: 278: goja.getPropCallee(sameValue) - compiler.go:433: 279: goja.loadVal({0x40002ce540}) - compiler.go:433: 280: goja.loadVal({0x40002dd2a0}) + compiler.go:433: 279: goja.loadVal({0x4000389760}) + compiler.go:433: 280: goja.loadVal({0x40003fc540}) compiler.go:433: 281: goja._sar({}) - compiler.go:433: 282: goja.loadVal({0x40002ce5c0}) + compiler.go:433: 282: goja.loadVal({0x40003897e0}) compiler.go:433: 283: goja.loadVal({neg rsh}) compiler.go:433: 284: goja.call(3) compiler.go:433: 285: goja._pop({}) - compiler.go:433: 286: goja.loadVal({0x40002ce640}) + compiler.go:433: 286: goja.loadVal({0x4000389860}) compiler.go:433: 287: goja.initGlobalP(a) compiler.go:433: 288: goja.loadDynamic(assert) compiler.go:433: 289: goja.getPropCallee(sameValue) @@ -3145,7 +3181,7 @@ compiler.go:433: 295: goja.rdupN(1) compiler.go:433: 296: goja._putValue({}) compiler.go:433: 297: goja._pop({}) - compiler.go:433: 298: goja.loadVal({0x40002ce680}) + compiler.go:433: 298: goja.loadVal({0x40003898a0}) compiler.go:433: 299: goja.loadVal({inc}) compiler.go:433: 300: goja.call(3) compiler.go:433: 301: goja._pop({}) @@ -3159,18 +3195,18 @@ compiler.go:433: 309: goja.rdupN(1) compiler.go:433: 310: goja._putValue({}) compiler.go:433: 311: goja._pop({}) - compiler.go:433: 312: goja.loadVal({0x40002ce6e0}) + compiler.go:433: 312: goja.loadVal({0x4000389900}) compiler.go:433: 313: goja.loadVal({dec}) compiler.go:433: 314: goja.call(3) compiler.go:433: 315: goja._pop({}) compiler.go:433: 316: goja.loadDynamic(assert) compiler.go:433: 317: goja.getPropCallee(sameValue) compiler.go:433: 318: goja.loadDynamicCallee(Object) - compiler.go:433: 319: goja.loadVal({0x40002ce740}) + compiler.go:433: 319: goja.loadVal({0x4000389960}) compiler.go:433: 320: goja.call(1) - compiler.go:433: 321: goja.loadVal({0x40002ce780}) + compiler.go:433: 321: goja.loadVal({0x40003899a0}) compiler.go:433: 322: goja._sub({}) - compiler.go:433: 323: goja.loadVal({0x40002ce7c0}) + compiler.go:433: 323: goja.loadVal({0x40003899e0}) compiler.go:433: 324: goja.loadVal({primitive sub}) compiler.go:433: 325: goja.call(3) compiler.go:433: 326: goja._pop({}) @@ -3178,12 +3214,12 @@ compiler.go:433: 328: goja.getPropCallee(sameValue) compiler.go:433: 329: goja.loadDynamicCallee(Object) compiler.go:433: 330: goja.loadDynamicCallee(Object) - compiler.go:433: 331: goja.loadVal({0x40002ce820}) + compiler.go:433: 331: goja.loadVal({0x4000389a40}) compiler.go:433: 332: goja.call(1) compiler.go:433: 333: goja.call(1) - compiler.go:433: 334: goja.loadVal({0x40002ce860}) + compiler.go:433: 334: goja.loadVal({0x4000389a80}) compiler.go:433: 335: goja._sub({}) - compiler.go:433: 336: goja.loadVal({0x40002ce8a0}) + compiler.go:433: 336: goja.loadVal({0x4000389ac0}) compiler.go:433: 337: goja.loadVal({primitive sub}) compiler.go:433: 338: goja.call(3) compiler.go:433: 339: goja._pop({}) @@ -3193,34 +3229,34 @@ compiler.go:433: 343: goja.loadDynamic(Symbol) compiler.go:433: 344: goja.getProp(toPrimitive) compiler.go:433: 345: goja._toPropertyKey({}) - compiler.go:433: 346: *goja.newArrowFunc(&{{0x400001fcc0 () => 1n 0 false}}) + compiler.go:433: 346: *goja.newArrowFunc(&{{0x40003e6b40 () => 1n 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x40002ce900}) + compiler.go:433: > 1: goja.loadVal({0x4000389b20}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 347: goja._setElem1Named({}) - compiler.go:433: 348: goja.loadVal({0x40002ce940}) + compiler.go:433: 348: goja.loadVal({0x4000389b60}) compiler.go:433: 349: goja._sub({}) - compiler.go:433: 350: goja.loadVal({0x40002ce980}) + compiler.go:433: 350: goja.loadVal({0x4000389ba0}) compiler.go:433: 351: goja.loadVal({primitive sub}) compiler.go:433: 352: goja.call(3) compiler.go:433: 353: goja._pop({}) compiler.go:433: 354: goja.loadDynamic(assert) compiler.go:433: 355: goja.getPropCallee(sameValue) compiler.go:433: 356: goja._newObject({}) - compiler.go:433: 357: *goja.newArrowFunc(&{{0x400001fd10 valueOf () => 1n 0 false}}) + compiler.go:433: 357: *goja.newArrowFunc(&{{0x40003e6b90 valueOf () => 1n 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x40002ce9e0}) + compiler.go:433: > 1: goja.loadVal({0x4000389c00}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 358: goja.putProp(valueOf) - compiler.go:433: 359: goja.loadVal({0x40002cea20}) + compiler.go:433: 359: goja.loadVal({0x4000389c40}) compiler.go:433: 360: goja._sub({}) - compiler.go:433: 361: goja.loadVal({0x40002cea60}) + compiler.go:433: 361: goja.loadVal({0x4000389c80}) compiler.go:433: 362: goja.loadVal({valueOf sub}) compiler.go:433: 363: goja.call(3) compiler.go:433: 364: goja._pop({}) compiler.go:433: 365: goja.loadDynamic(assert) compiler.go:433: 366: goja.getPropCallee(sameValue) - compiler.go:433: 367: goja.loadVal({0x40002ceac0}) + compiler.go:433: 367: goja.loadVal({0x4000389ce0}) compiler.go:433: 368: goja.loadVal({0}) compiler.go:433: 369: goja._op_gt({}) compiler.go:433: 370: goja.loadVal({true}) @@ -3230,7 +3266,7 @@ compiler.go:433: 374: goja.loadDynamic(assert) compiler.go:433: 375: goja.getPropCallee(sameValue) compiler.go:433: 376: goja.loadVal({0}) - compiler.go:433: 377: goja.loadVal({0x40002ceb40}) + compiler.go:433: 377: goja.loadVal({0x4000389d60}) compiler.go:433: 378: goja._op_gt({}) compiler.go:433: 379: goja.loadVal({false}) compiler.go:433: 380: goja.loadVal({gt}) @@ -3239,7 +3275,7 @@ compiler.go:433: 383: goja.loadDynamic(assert) compiler.go:433: 384: goja.getPropCallee(sameValue) compiler.go:433: 385: goja.loadDynamicCallee(Object) - compiler.go:433: 386: goja.loadVal({0x40002cebc0}) + compiler.go:433: 386: goja.loadVal({0x4000389de0}) compiler.go:433: 387: goja.call(1) compiler.go:433: 388: goja.loadVal({0}) compiler.go:433: 389: goja._op_gt({}) @@ -3251,7 +3287,7 @@ compiler.go:433: 395: goja.getPropCallee(sameValue) compiler.go:433: 396: goja.loadVal({0}) compiler.go:433: 397: goja.loadDynamicCallee(Object) - compiler.go:433: 398: goja.loadVal({0x40002cec40}) + compiler.go:433: 398: goja.loadVal({0x4000389e60}) compiler.go:433: 399: goja.call(1) compiler.go:433: 400: goja._op_gt({}) compiler.go:433: 401: goja.loadVal({false}) @@ -3260,7 +3296,7 @@ compiler.go:433: 404: goja._pop({}) compiler.go:433: 405: goja.loadDynamic(assert) compiler.go:433: 406: goja.getPropCallee(sameValue) - compiler.go:433: 407: goja.loadVal({0x40002cecc0}) + compiler.go:433: 407: goja.loadVal({0x4000389ee0}) compiler.go:433: 408: goja.loadVal({0}) compiler.go:433: 409: goja._op_lt({}) compiler.go:433: 410: goja.loadVal({false}) @@ -3270,7 +3306,7 @@ compiler.go:433: 414: goja.loadDynamic(assert) compiler.go:433: 415: goja.getPropCallee(sameValue) compiler.go:433: 416: goja.loadVal({0}) - compiler.go:433: 417: goja.loadVal({0x40002ced40}) + compiler.go:433: 417: goja.loadVal({0x4000389f60}) compiler.go:433: 418: goja._op_lt({}) compiler.go:433: 419: goja.loadVal({true}) compiler.go:433: 420: goja.loadVal({lt}) @@ -3279,7 +3315,7 @@ compiler.go:433: 423: goja.loadDynamic(assert) compiler.go:433: 424: goja.getPropCallee(sameValue) compiler.go:433: 425: goja.loadDynamicCallee(Object) - compiler.go:433: 426: goja.loadVal({0x40002cedc0}) + compiler.go:433: 426: goja.loadVal({0x40003de060}) compiler.go:433: 427: goja.call(1) compiler.go:433: 428: goja.loadVal({0}) compiler.go:433: 429: goja._op_lt({}) @@ -3291,7 +3327,7 @@ compiler.go:433: 435: goja.getPropCallee(sameValue) compiler.go:433: 436: goja.loadVal({0}) compiler.go:433: 437: goja.loadDynamicCallee(Object) - compiler.go:433: 438: goja.loadVal({0x40002cee40}) + compiler.go:433: 438: goja.loadVal({0x40003de0e0}) compiler.go:433: 439: goja.call(1) compiler.go:433: 440: goja._op_lt({}) compiler.go:433: 441: goja.loadVal({true}) @@ -3300,7 +3336,7 @@ compiler.go:433: 444: goja._pop({}) compiler.go:433: 445: goja.loadDynamic(assert) compiler.go:433: 446: goja.getPropCallee(sameValue) - compiler.go:433: 447: goja.loadVal({0x40002ceec0}) + compiler.go:433: 447: goja.loadVal({0x40003de160}) compiler.go:433: 448: goja.loadVal({0}) compiler.go:433: 449: goja._op_gte({}) compiler.go:433: 450: goja.loadVal({true}) @@ -3310,7 +3346,7 @@ compiler.go:433: 454: goja.loadDynamic(assert) compiler.go:433: 455: goja.getPropCallee(sameValue) compiler.go:433: 456: goja.loadVal({0}) - compiler.go:433: 457: goja.loadVal({0x40002cef40}) + compiler.go:433: 457: goja.loadVal({0x40003de1e0}) compiler.go:433: 458: goja._op_gte({}) compiler.go:433: 459: goja.loadVal({false}) compiler.go:433: 460: goja.loadVal({ge}) @@ -3318,7 +3354,7 @@ compiler.go:433: 462: goja._pop({}) compiler.go:433: 463: goja.loadDynamic(assert) compiler.go:433: 464: goja.getPropCallee(sameValue) - compiler.go:433: 465: goja.loadVal({0x40002cefc0}) + compiler.go:433: 465: goja.loadVal({0x40003de260}) compiler.go:433: 466: goja.loadVal({0}) compiler.go:433: 467: goja._op_lte({}) compiler.go:433: 468: goja.loadVal({false}) @@ -3328,7 +3364,7 @@ compiler.go:433: 472: goja.loadDynamic(assert) compiler.go:433: 473: goja.getPropCallee(sameValue) compiler.go:433: 474: goja.loadVal({0}) - compiler.go:433: 475: goja.loadVal({0x40002cf040}) + compiler.go:433: 475: goja.loadVal({0x40003de2e0}) compiler.go:433: 476: goja._op_lte({}) compiler.go:433: 477: goja.loadVal({true}) compiler.go:433: 478: goja.loadVal({le}) @@ -3341,7 +3377,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(throws) compiler.go:433: 2: goja.loadDynamic(SyntaxError) - compiler.go:433: 3: *goja.newFunc(&{0x4000270000 function() { + compiler.go:433: 3: *goja.newFunc(&{0x40004241e0 function() { new Function("#!") } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3360,7 +3396,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(sameValue) compiler.go:433: 2: goja.loadVal({0}) - compiler.go:433: 3: *goja.newFunc(&{0x4000270640 function() {return arguments.length} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x4000424820 function() {return arguments.length} 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) compiler.go:433: > 1: goja.createArgsMapped(0) compiler.go:433: > 2: goja.initStack1P(1) @@ -3404,7 +3440,7 @@ compiler.go:433: 0: goja.loadDynamic(JSON) compiler.go:433: 1: goja.getPropCallee(parse) compiler.go:433: 2: goja.loadVal({{"p": 5}}) - compiler.go:433: 3: *goja.newFunc(&{0x4000271b30 function(key, value) { + compiler.go:433: 3: *goja.newFunc(&{0x4000425e50 function(key, value) { return typeof value === 'number' ? value * 2 // return value * 2 for numbers : value // return everything else unchanged @@ -3441,7 +3477,7 @@ === RUN TestMarshalJSONError --- PASS: TestMarshalJSONError (0.00s) === RUN TestMapEvilIterator - compiler.go:433: 0: *goja.newFunc(&{0x400049a820 Iter function Iter(value) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc8c0 Iter function Iter(value) { this.value = value; this.idx = 0; } 1 true}) @@ -3454,7 +3490,7 @@ compiler.go:433: > 6: goja.setPropStrictP(idx) compiler.go:433: > 7: goja._loadUndef({}) compiler.go:433: > 8: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400049a870 t function t(prefix) { + compiler.go:433: 1: *goja.newFunc(&{0x40004fc910 t function t(prefix) { var m = new Map(o); assert.sameValue(1, m.size, prefix+": m.size"); assert.sameValue(true, m.has(undefined), prefix+": m.has(undefined)"); @@ -3507,7 +3543,7 @@ compiler.go:433: 5: goja._initValueP({}) compiler.go:433: 6: goja.loadDynamic(Iter) compiler.go:433: 7: goja.getProp(prototype) - compiler.go:433: 8: *goja.newFunc(&{0x400049a910 function() { + compiler.go:433: 8: *goja.newFunc(&{0x40004fc9b0 function() { var idx = this.idx; if (idx === 0) { this.idx++; @@ -3539,7 +3575,7 @@ compiler.go:433: 10: goja.loadDynamic(o) compiler.go:433: 11: goja.loadDynamic(Symbol) compiler.go:433: 12: goja.getProp(iterator) - compiler.go:433: 13: *goja.newFunc(&{0x400049a960 function() { + compiler.go:433: 13: *goja.newFunc(&{0x40004fca00 function() { return new Iter({}); } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3551,7 +3587,7 @@ compiler.go:433: 15: goja.loadDynamic(assert) compiler.go:433: 16: goja.getPropCallee(throws) compiler.go:433: 17: goja.loadDynamic(TypeError) - compiler.go:433: 18: *goja.newFunc(&{0x400049aa00 function() { + compiler.go:433: 18: *goja.newFunc(&{0x40004fcaa0 function() { new Map(o); } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3566,7 +3602,7 @@ compiler.go:433: 21: goja.loadDynamic(o) compiler.go:433: 22: goja.loadDynamic(Symbol) compiler.go:433: 23: goja.getProp(iterator) - compiler.go:433: 24: *goja.newFunc(&{0x400049aa50 function() { + compiler.go:433: 24: *goja.newFunc(&{0x40004fcaf0 function() { return new Iter({value: []}); } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3591,7 +3627,7 @@ compiler.go:433: 37: goja._initValueP({}) compiler.go:433: 38: goja.loadDynamic(Map) compiler.go:433: 39: goja.getProp(prototype) - compiler.go:433: 40: *goja.newFunc(&{0x400049aaa0 function() { + compiler.go:433: 40: *goja.newFunc(&{0x40004fcb40 function() { count++; origSet.apply(this, arguments); } 0 true}) @@ -3626,7 +3662,7 @@ compiler.go:433: 54: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 1 ---- PASS: TestMapEvilIterator (0.01s) +--- PASS: TestMapEvilIterator (0.00s) === RUN TestMapExportToNilMap --- PASS: TestMapExportToNilMap (0.00s) === RUN TestMapExportToNonNilMap @@ -3644,7 +3680,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x400049b040 set get set() { + compiler.go:433: 7: *goja.newMethod(&{{0x40004fd0e0 set get set() { getterCalled++; return null; } 0 true} 1}) @@ -3666,7 +3702,7 @@ compiler.go:433: 16: goja.loadDynamic(iterable) compiler.go:433: 17: goja.loadDynamic(Symbol) compiler.go:433: 18: goja.getProp(iterator) - compiler.go:433: 19: *goja.newArrowFunc(&{{0x400049b090 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x40004fd130 () => { getIteratorCalled++ return { next: 1 @@ -3747,7 +3783,7 @@ compiler.go:433: 27: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestProxy_Object_target_getPrototypeOf (0.01s) +--- PASS: TestProxy_Object_target_getPrototypeOf (0.00s) === RUN TestProxy_Object_proxy_getPrototypeOf compiler.go:433: 0: *goja.bindGlobal(&{[proto proto2 obj proxy p] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(proto) @@ -3766,7 +3802,7 @@ compiler.go:433: 14: goja.loadDynamic(Proxy) compiler.go:433: 15: goja.loadDynamic(obj) compiler.go:433: 16: goja._newObject({}) - compiler.go:433: 17: *goja.newFunc(&{0x400049a2d0 getPrototypeOf function(target) { + compiler.go:433: 17: *goja.newFunc(&{0x40004fd540 getPrototypeOf function(target) { return proto2; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -3863,7 +3899,7 @@ compiler.go:433: 17: goja.loadDynamic(Proxy) compiler.go:433: 18: goja.loadDynamic(obj) compiler.go:433: 19: goja._newObject({}) - compiler.go:433: 20: *goja.newFunc(&{0x400049a7d0 setPrototypeOf function(target, prototype) { + compiler.go:433: 20: *goja.newFunc(&{0x40004fdd10 setPrototypeOf function(target, prototype) { return Object.setPrototypeOf(target, proto2); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -3935,7 +3971,7 @@ compiler.go:433: 10: goja.loadDynamic(Proxy) compiler.go:433: 11: goja.loadDynamic(obj) compiler.go:433: 12: goja._newObject({}) - compiler.go:433: 13: *goja.newFunc(&{0x400049aaf0 isExtensible function(target) { + compiler.go:433: 13: *goja.newFunc(&{0x40002ee0a0 isExtensible function(target) { return false; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -3989,7 +4025,7 @@ compiler.go:433: 7: goja.loadDynamic(Proxy) compiler.go:433: 8: goja.loadDynamic(obj) compiler.go:433: 9: goja._newObject({}) - compiler.go:433: 10: *goja.newFunc(&{0x400049b1d0 preventExtensions function(target) { + compiler.go:433: 10: *goja.newFunc(&{0x40002ee640 preventExtensions function(target) { target.canEvolve = false; Object.preventExtensions(obj); return true; @@ -4101,7 +4137,7 @@ compiler.go:433: 34: goja.loadDynamic(Proxy) compiler.go:433: 35: goja.loadDynamic(obj) compiler.go:433: 36: goja._newObject({}) - compiler.go:433: 37: *goja.newFunc(&{0x400049b950 getOwnPropertyDescriptor function(target, property) { + compiler.go:433: 37: *goja.newFunc(&{0x40002eedc0 getOwnPropertyDescriptor function(target, property) { return proxy_desc; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4113,7 +4149,7 @@ compiler.go:433: 41: goja.loadDynamic(assert) compiler.go:433: 42: goja.getPropCallee(throws) compiler.go:433: 43: goja.loadDynamic(TypeError) - compiler.go:433: 44: *goja.newFunc(&{0x400049b9a0 function() { + compiler.go:433: 44: *goja.newFunc(&{0x40002eee10 function() { Object.getOwnPropertyDescriptor(proxy, "foo"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -4381,7 +4417,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x40005a8690 defineProperty function(target, prop, descriptor) { + compiler.go:433: 8: *goja.newFunc(&{0x40002ee550 defineProperty function(target, prop, descriptor) { target.foo = "321tset"; return true; } 3 false}) @@ -4496,7 +4532,7 @@ compiler.go:433: 7: goja.loadDynamic(Proxy) compiler.go:433: 8: goja.loadDynamic(obj) compiler.go:433: 9: goja._newObject({}) - compiler.go:433: 10: *goja.newFunc(&{0x40005a8b40 has function(target, key) { + compiler.go:433: 10: *goja.newFunc(&{0x40002eea00 has function(target, key) { return key !== "secret"; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4546,7 +4582,7 @@ compiler.go:433: 7: goja.loadDynamic(Proxy) compiler.go:433: 8: goja.loadDynamic(obj) compiler.go:433: 9: goja._newObject({}) - compiler.go:433: 10: *goja.newFunc(&{0x40005a8f50 has function(target, key) { + compiler.go:433: 10: *goja.newFunc(&{0x40002eee10 has function(target, key) { return key !== "secret"; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4620,7 +4656,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x40005a9360 get function(target, prop, receiver) { + compiler.go:433: 8: *goja.newFunc(&{0x40002ef2c0 get function(target, prop, receiver) { return "321tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -4645,7 +4681,7 @@ compiler.go:433: 25: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestProxy_proxy_get (0.01s) +--- PASS: TestProxy_proxy_get (0.00s) === RUN TestProxy_proxy_get_json_stringify compiler.go:433: 0: *goja.bindGlobal(&{[obj propValue _handler _target _prop _receiver proxy res] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) @@ -4658,7 +4694,7 @@ compiler.go:433: 8: goja.loadDynamic(Proxy) compiler.go:433: 9: goja.loadDynamic(obj) compiler.go:433: 10: goja._newObject({}) - compiler.go:433: 11: *goja.newFunc(&{0x40005a9720 ownKeys function() { + compiler.go:433: 11: *goja.newFunc(&{0x40002ef6d0 ownKeys function() { return ["foo"]; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -4667,7 +4703,7 @@ compiler.go:433: > 3: goja._pushArrayItem({}) compiler.go:433: > 4: goja._ret({}) compiler.go:433: 12: goja.putProp(ownKeys) - compiler.go:433: 13: *goja.newFunc(&{0x40005a97c0 getOwnPropertyDescriptor function(target, prop) { + compiler.go:433: 13: *goja.newFunc(&{0x40002ef770 getOwnPropertyDescriptor function(target, prop) { if (prop === "foo") { return { value: propValue, @@ -4692,7 +4728,7 @@ compiler.go:433: > 13: goja._loadUndef({}) compiler.go:433: > 14: goja._ret({}) compiler.go:433: 14: goja.putProp(getOwnPropertyDescriptor) - compiler.go:433: 15: *goja.newFunc(&{0x40005a9810 get function(target, prop, receiver) { + compiler.go:433: 15: *goja.newFunc(&{0x40002ef7c0 get function(target, prop, receiver) { if (prop === "foo") { _prop = prop; _receiver = receiver; @@ -4780,7 +4816,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x40005a9ea0 set function(target, prop, receiver) { + compiler.go:433: 8: *goja.newFunc(&{0x40002efe50 set function(target, prop, receiver) { target.foo = "321tset"; return true; } 3 false}) @@ -4831,7 +4867,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x4000428320 set function(target, property, value, receiver) { + compiler.go:433: 8: *goja.newFunc(&{0x4000424280 set function(target, property, value, receiver) { target["foo"] = "321tset"; return true; } 4 false}) @@ -4886,7 +4922,7 @@ compiler.go:433: 7: goja.loadDynamic(Proxy) compiler.go:433: 8: goja.loadDynamic(obj) compiler.go:433: 9: goja._newObject({}) - compiler.go:433: 10: *goja.newFunc(&{0x4000428690 deleteProperty function(target, prop) { + compiler.go:433: 10: *goja.newFunc(&{0x4000424910 deleteProperty function(target, prop) { return true; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4951,7 +4987,7 @@ compiler.go:433: 7: goja.loadDynamic(Proxy) compiler.go:433: 8: goja.loadDynamic(obj) compiler.go:433: 9: goja._newObject({}) - compiler.go:433: 10: *goja.newFunc(&{0x4000428b40 ownKeys function(target) { + compiler.go:433: 10: *goja.newFunc(&{0x4000425450 ownKeys function(target) { return ["foo", "bar"]; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -5005,7 +5041,7 @@ === RUN TestProxy_target_call compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x4000428d70 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000425720 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5027,7 +5063,7 @@ === RUN TestProxy_proxy_call compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x4000429040 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000425b30 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5038,7 +5074,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x4000429090 apply function(target, thisArg, args) { + compiler.go:433: 8: *goja.newFunc(&{0x4000425b80 apply function(target, thisArg, args) { return "tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -5056,7 +5092,7 @@ === RUN TestProxy_target_func_apply compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x40004292c0 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000425db0 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5079,7 +5115,7 @@ === RUN TestProxy_proxy_func_apply compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x4000429590 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fc140 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5090,7 +5126,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x40004295e0 apply function(target, thisArg, args) { + compiler.go:433: 8: *goja.newFunc(&{0x40004fc1e0 apply function(target, thisArg, args) { return "tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -5109,7 +5145,7 @@ === RUN TestProxy_target_func_call compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x4000429810 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fc460 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5132,7 +5168,7 @@ === RUN TestProxy_proxy_func_call compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x4000429ae0 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fc730 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5143,7 +5179,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x4000429b30 apply function(target, thisArg, args) { + compiler.go:433: 8: *goja.newFunc(&{0x40004fc780 apply function(target, thisArg, args) { return "tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -5162,7 +5198,7 @@ === RUN TestProxy_target_new compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy instance] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x4000429e00 obj function(word) { + compiler.go:433: 2: *goja.newFunc(&{0x40004fca50 obj function(word) { this.foo = function() { return word; } @@ -5170,7 +5206,7 @@ compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 1 1 true false}) compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.loadStack(0) - compiler.go:433: > 3: *goja.newFunc(&{0x4000429e50 function() { + compiler.go:433: > 3: *goja.newFunc(&{0x40004fcaa0 function() { return word; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -5197,11 +5233,11 @@ compiler.go:433: 18: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 1 ---- PASS: TestProxy_target_new (0.01s) +--- PASS: TestProxy_target_new (0.00s) === RUN TestProxy_proxy_new compiler.go:433: 0: *goja.bindGlobal(&{[obj proxy instance] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(obj) - compiler.go:433: 2: *goja.newFunc(&{0x40003ee460 obj function(word) { + compiler.go:433: 2: *goja.newFunc(&{0x40004fcf50 obj function(word) { this.foo = function() { return word; } @@ -5209,7 +5245,7 @@ compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 1 1 true false}) compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.loadStack(0) - compiler.go:433: > 3: *goja.newFunc(&{0x40003ee4b0 function() { + compiler.go:433: > 3: *goja.newFunc(&{0x40004fcfa0 function() { return word; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -5223,7 +5259,7 @@ compiler.go:433: 5: goja.loadDynamic(Proxy) compiler.go:433: 6: goja.loadDynamic(obj) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newFunc(&{0x40003ee500 construct function(target, args, newTarget) { + compiler.go:433: 8: *goja.newFunc(&{0x40004fcff0 construct function(target, args, newTarget) { var word = args[0]; return { foo: function() { @@ -5237,7 +5273,7 @@ compiler.go:433: > 3: goja._getElem({}) compiler.go:433: > 4: goja.initStashP(0) compiler.go:433: > 5: goja._newObject({}) - compiler.go:433: > 6: *goja.newFunc(&{0x40003ee550 foo function() { + compiler.go:433: > 6: *goja.newFunc(&{0x40004fd040 foo function() { return "caught-" + word } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -5296,7 +5332,7 @@ compiler.go:433: 28: goja.loadDynamic(Proxy) compiler.go:433: 29: goja.loadDynamic(target) compiler.go:433: 30: goja._newObject({}) - compiler.go:433: 31: *goja.newFunc(&{0x40003eeaa0 ownKeys function() { + compiler.go:433: 31: *goja.newFunc(&{0x40004fd590 ownKeys function() { return ["a", "b"]; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5307,7 +5343,7 @@ compiler.go:433: > 5: goja._pushArrayItem({}) compiler.go:433: > 6: goja._ret({}) compiler.go:433: 32: goja.putProp(ownKeys) - compiler.go:433: 33: *goja.newFunc(&{0x40003eeaf0 getOwnPropertyDescriptor function(target, p) { + compiler.go:433: 33: *goja.newFunc(&{0x40004fd5e0 getOwnPropertyDescriptor function(target, p) { switch (p) { case "a": case "b": @@ -5417,7 +5453,7 @@ compiler.go:433: 7: goja.loadDynamic(assert) compiler.go:433: 8: goja.getPropCallee(throws) compiler.go:433: 9: goja.loadDynamic(TypeError) - compiler.go:433: 10: *goja.newFunc(&{0x40003ef040 function() { + compiler.go:433: 10: *goja.newFunc(&{0x40004fdb30 function() { p(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5450,7 +5486,7 @@ compiler.go:433: 15: goja.loadDynamic(Proxy) compiler.go:433: 16: goja._newObject({}) compiler.go:433: 17: goja._newObject({}) - compiler.go:433: 18: *goja.newFunc(&{0x40003ef310 getOwnPropertyDescriptor function(_target, key) { + compiler.go:433: 18: *goja.newFunc(&{0x40004fde00 getOwnPropertyDescriptor function(_target, key) { getOwnKeys.push(key); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -5462,7 +5498,7 @@ compiler.go:433: > 6: goja._loadUndef({}) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 19: goja.putProp(getOwnPropertyDescriptor) - compiler.go:433: 20: *goja.newFunc(&{0x40003ef360 ownKeys function() { + compiler.go:433: 20: *goja.newFunc(&{0x40004fde50 ownKeys function() { return ownKeysResult; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5493,7 +5529,7 @@ compiler.go:433: 4: goja.loadDynamic(o) compiler.go:433: 5: goja.loadDynamic(Symbol) compiler.go:433: 6: goja.getProp(iterator) - compiler.go:433: 7: *goja.newFunc(&{0x40003ef5e0 function() { + compiler.go:433: 7: *goja.newFunc(&{0x400001e7d0 function() { return { next: function() { if (!this.flag) { @@ -5506,7 +5542,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x40003ef630 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x400001e820 next function() { if (!this.flag) { this.flag = true; return {}; @@ -5539,7 +5575,7 @@ compiler.go:433: 14: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSetEvilIterator (0.01s) +--- PASS: TestSetEvilIterator (0.00s) === RUN TestSetExportToSliceCircular --- PASS: TestSetExportToSliceCircular (0.00s) === RUN TestSetExportToArrayMismatchedLengths @@ -5561,7 +5597,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x40003ee870 add get add() { + compiler.go:433: 7: *goja.newMethod(&{{0x40001787d0 add get add() { getterCalled++; return null; } 0 true} 1}) @@ -5583,7 +5619,7 @@ compiler.go:433: 16: goja.loadDynamic(iterable) compiler.go:433: 17: goja.loadDynamic(Symbol) compiler.go:433: 18: goja.getProp(iterator) - compiler.go:433: 19: *goja.newArrowFunc(&{{0x40003ee8c0 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x4000178820 () => { getIteratorCalled++ return { next: 1 @@ -6274,9 +6310,9 @@ compiler.go:433: 637: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSubstr (0.00s) +--- PASS: TestSubstr (0.01s) === RUN TestStringMatchSym - compiler.go:433: 0: *goja.newFunc(&{0x40003eee60 Prefix function Prefix(p) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178280 Prefix function Prefix(p) { this.p = p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6291,7 +6327,7 @@ compiler.go:433: 3: goja.getProp(prototype) compiler.go:433: 4: goja.loadDynamic(Symbol) compiler.go:433: 5: goja.getProp(match) - compiler.go:433: 6: *goja.newFunc(&{0x40003eeeb0 function(s) { + compiler.go:433: 6: *goja.newFunc(&{0x40001782d0 function(s) { return s.substring(0, this.p.length) === this.p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6350,7 +6386,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringMatchSym (0.00s) === RUN TestStringMatchAllSym - compiler.go:433: 0: *goja.newFunc(&{0x40003ef180 Prefix function Prefix(p) { + compiler.go:433: 0: *goja.newFunc(&{0x40001785a0 Prefix function Prefix(p) { this.p = p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6365,7 +6401,7 @@ compiler.go:433: 3: goja.getProp(prototype) compiler.go:433: 4: goja.loadDynamic(Symbol) compiler.go:433: 5: goja.getProp(matchAll) - compiler.go:433: 6: *goja.newFunc(&{0x40003ef1d0 function(s) { + compiler.go:433: 6: *goja.newFunc(&{0x40001785f0 function(s) { return s.substring(0, this.p.length) === this.p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6424,7 +6460,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringMatchAllSym (0.00s) === RUN TestGenericSplitter - compiler.go:433: 0: *goja.newFunc(&{0x40003ef810 MyRegexp function MyRegexp(pattern, flags) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178b90 MyRegexp function MyRegexp(pattern, flags) { if (pattern instanceof MyRegexp) { pattern = pattern.wrapped; } @@ -6450,7 +6486,7 @@ compiler.go:433: 1: *goja.bindGlobal(&{[r res] [MyRegexp] [] [] false}) compiler.go:433: 2: goja.loadDynamic(MyRegexp) compiler.go:433: 3: goja.getProp(prototype) - compiler.go:433: 4: *goja.newFunc(&{0x40003ef860 function() { + compiler.go:433: 4: *goja.newFunc(&{0x4000178be0 function() { return this.wrapped.exec.apply(this.wrapped, arguments); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -6473,7 +6509,7 @@ compiler.go:433: 9: goja.getProp(prototype) compiler.go:433: 10: goja.loadVal({lastIndex}) compiler.go:433: 11: goja._newObject({}) - compiler.go:433: 12: *goja.newFunc(&{0x40003ef8b0 get function() { + compiler.go:433: 12: *goja.newFunc(&{0x4000178c30 get function() { return this.wrapped.lastIndex; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -6483,7 +6519,7 @@ compiler.go:433: > 4: goja.getProp(lastIndex) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 13: goja.putProp(get) - compiler.go:433: 14: *goja.newFunc(&{0x40003ef900 set function(v) { + compiler.go:433: 14: *goja.newFunc(&{0x4000178c80 set function(v) { this.wrapped.lastIndex = v; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6503,7 +6539,7 @@ compiler.go:433: 21: goja.getProp(prototype) compiler.go:433: 22: goja.loadVal({flags}) compiler.go:433: 23: goja._newObject({}) - compiler.go:433: 24: *goja.newFunc(&{0x40003ef950 get function() { + compiler.go:433: 24: *goja.newFunc(&{0x4000178cd0 get function() { return this.wrapped.flags; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -6532,7 +6568,7 @@ compiler.go:433: 42: goja._setElemP({}) compiler.go:433: 43: goja.resolveVar1(r) compiler.go:433: 44: goja.loadDynamic(MyRegexp) - compiler.go:433: 45: *goja.newRegexp(&{0x400021bb30 }) + compiler.go:433: 45: *goja.newRegexp(&{0x40001fed20 }) compiler.go:433: 46: goja._new(1) compiler.go:433: 47: goja._initValueP({}) compiler.go:433: 48: goja.resolveVar1(res) @@ -6566,7 +6602,7 @@ compiler.go:433: 76: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 5 ---- PASS: TestGenericSplitter (0.01s) +--- PASS: TestGenericSplitter (0.00s) === RUN TestStringIterSurrPair compiler.go:433: 0: *goja.bindGlobal(&{[lo hi pair string iterator result] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(lo) @@ -6660,22 +6696,22 @@ === RUN TestValueStringBuilder/concat_ASCII_importedUnicode === PAUSE TestValueStringBuilder/concat_ASCII_importedUnicode === CONT TestValueStringBuilder/substringASCII -=== CONT TestValueStringBuilder/substringASCIIUnicode +=== CONT TestValueStringBuilder/concat_ASCII_importedUnicode +=== CONT TestValueStringBuilder/concat_ASCII_importedASCII +=== CONT TestValueStringBuilder/concatSubstringUnicodeASCII === CONT TestValueStringBuilder/substringUnicodeASCII +=== CONT TestValueStringBuilder/substringASCIIUnicode === CONT TestValueStringBuilder/substringUnicode === CONT TestValueStringBuilder/substringASCIIPure -=== CONT TestValueStringBuilder/concat_ASCII_importedASCII -=== CONT TestValueStringBuilder/concat_ASCII_importedUnicode -=== CONT TestValueStringBuilder/concatSubstringUnicodeASCII --- PASS: TestValueStringBuilder (0.00s) --- PASS: TestValueStringBuilder/substringASCII (0.00s) + --- PASS: TestValueStringBuilder/concat_ASCII_importedUnicode (0.00s) + --- PASS: TestValueStringBuilder/concat_ASCII_importedASCII (0.00s) + --- PASS: TestValueStringBuilder/concatSubstringUnicodeASCII (0.00s) + --- PASS: TestValueStringBuilder/substringUnicodeASCII (0.00s) --- PASS: TestValueStringBuilder/substringASCIIUnicode (0.00s) --- PASS: TestValueStringBuilder/substringUnicode (0.00s) - --- PASS: TestValueStringBuilder/substringUnicodeASCII (0.00s) --- PASS: TestValueStringBuilder/substringASCIIPure (0.00s) - --- PASS: TestValueStringBuilder/concat_ASCII_importedASCII (0.00s) - --- PASS: TestValueStringBuilder/concat_ASCII_importedUnicode (0.00s) - --- PASS: TestValueStringBuilder/concatSubstringUnicodeASCII (0.00s) === RUN TestStringSplit compiler.go:433: 0: goja.loadDynamicCallee(assert) compiler.go:433: 1: goja.loadDynamicCallee(compareArray) @@ -6791,7 +6827,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNewUint16Array (0.00s) === RUN TestTypedArraysSpeciesConstructor - compiler.go:433: 0: *goja.newFunc(&{0x400001edc0 MyArray function MyArray() { + compiler.go:433: 0: *goja.newFunc(&{0x4000179b80 MyArray function MyArray() { var NewTarget = this.__proto__.constructor; return Reflect.construct(Uint16Array, arguments, NewTarget); } 0 true}) @@ -6850,7 +6886,7 @@ compiler.go:433: 39: goja.resolveVar1Strict(b) compiler.go:433: 40: goja.loadDynamic(a) compiler.go:433: 41: goja.getPropCallee(filter) - compiler.go:433: 42: *goja.newFunc(&{0x400001ee10 function() { + compiler.go:433: 42: *goja.newFunc(&{0x4000179bd0 function() { return true; } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -7258,7 +7294,7 @@ compiler.go:433: 84: goja._clearResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestTypedArraySetOverlapDifSize4 (0.01s) +--- PASS: TestTypedArraySetOverlapDifSize4 (0.00s) === RUN TestTypedArraySetNoOverlapDifSizeForward compiler.go:433: 0: *goja.bindGlobal(&{[buf dst src] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(buf) @@ -7525,7 +7561,7 @@ compiler.go:433: 45: goja._clearResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestTypedArraySliceSameType (0.00s) +--- PASS: TestTypedArraySliceSameType (0.01s) === RUN TestTypedArraySliceDifType compiler.go:433: 0: *goja.bindGlobal(&{[src dst] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(src) @@ -7613,7 +7649,7 @@ compiler.go:433: 10: goja._initValueP({}) compiler.go:433: 11: goja.loadDynamic(a) compiler.go:433: 12: goja.getPropCallee(sort) - compiler.go:433: 13: *goja.newFunc(&{0x400001eff0 function(a, b) { return a - b; } 2 false}) + compiler.go:433: 13: *goja.newFunc(&{0x400001ea00 function(a, b) { return a - b; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja.loadStackLex(-2) @@ -7671,7 +7707,7 @@ compiler.go:433: 9: goja._initValueP({}) compiler.go:433: 10: goja.loadDynamic(a) compiler.go:433: 11: goja.getPropCallee(sort) - compiler.go:433: 12: *goja.newFunc(&{0x400001f540 function(a, b) { return a > b ? 0 : -0; } 2 false}) + compiler.go:433: 12: *goja.newFunc(&{0x400001ed70 function(a, b) { return a > b ? 0 : -0; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja.loadStackLex(-2) @@ -7737,7 +7773,7 @@ compiler.go:433: 0: goja.try({7 0}) compiler.go:433: 1: goja._clearResult({}) compiler.go:433: 2: goja._loadUndef({}) - compiler.go:433: 3: *goja.newFunc(&{0x400001f9f0 function() { + compiler.go:433: 3: *goja.newFunc(&{0x400001f360 function() { 'use strict'; delete Uint8Array.prototype.BYTES_PER_ELEMENT; } 0 true}) @@ -7791,7 +7827,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x400001fe50 set get set() { + compiler.go:433: 7: *goja.newMethod(&{{0x400001f900 set get set() { getterCalled++; return null; } 0 true} 1}) @@ -7813,7 +7849,7 @@ compiler.go:433: 16: goja.loadDynamic(iterable) compiler.go:433: 17: goja.loadDynamic(Symbol) compiler.go:433: 18: goja.getProp(iterator) - compiler.go:433: 19: *goja.newArrowFunc(&{{0x400001fea0 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x400001f950 () => { getIteratorCalled++ return { next: 1 @@ -8082,7 +8118,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x400049a3c0 add get add() { + compiler.go:433: 7: *goja.newMethod(&{{0x4000178140 add get add() { getterCalled++; return null; } 0 true} 1}) @@ -8104,7 +8140,7 @@ compiler.go:433: 16: goja.loadDynamic(iterable) compiler.go:433: 17: goja.loadDynamic(Symbol) compiler.go:433: 18: goja.getProp(iterator) - compiler.go:433: 19: *goja.newArrowFunc(&{{0x400049a410 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x4000178190 () => { getIteratorCalled++ return { next: 1 @@ -8201,7 +8237,7 @@ compiler.go:433: 1: goja._saveResult({}) compiler.go:433: 2: *goja.enterBlock(&{map[x:0] 1 0}) compiler.go:433: 3: goja._loadUndef({}) - compiler.go:433: 4: *goja.newFunc(&{0x400049acd0 function() { return eval("8; {let y = 9}")} 0 false}) + compiler.go:433: 4: *goja.newFunc(&{0x4000178a50 function() { return eval("8; {let y = 9}")} 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.initStash(0) @@ -8230,7 +8266,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestErrorProto (0.00s) === RUN TestThis1 - compiler.go:433: 0: *goja.newFunc(&{0x400049b180 independent function independent() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178f00 independent function independent() { return this.prop; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -8263,7 +8299,7 @@ compiler.go:433: 2: goja._newObject({}) compiler.go:433: 3: goja.loadVal({37}) compiler.go:433: 4: goja.putProp(prop) - compiler.go:433: 5: *goja.newFunc(&{0x400049b400 f function() { + compiler.go:433: 5: *goja.newFunc(&{0x4000179180 f function() { return this.prop; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -8287,7 +8323,7 @@ compiler.go:433: 3: goja.getProp(prototype) compiler.go:433: 4: goja.loadVal({x}) compiler.go:433: 5: goja._newObject({}) - compiler.go:433: 6: *goja.newFunc(&{0x400049b680 get function () { return this; } 0 true}) + compiler.go:433: 6: *goja.newFunc(&{0x4000179400 get function () { return this; } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadStack(0) compiler.go:433: > 2: goja._ret({}) @@ -8309,7 +8345,7 @@ compiler.go:433: 3: goja.getProp(prototype) compiler.go:433: 4: goja.loadVal({x}) compiler.go:433: 5: goja._newObject({}) - compiler.go:433: 6: *goja.newFunc(&{0x400049b8b0 get function () { return this; } 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x4000179630 get function () { return this; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.loadStack(0) @@ -8327,7 +8363,7 @@ --- PASS: TestThisNoStrict (0.00s) === RUN TestNestedFuncVarResolution compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400049bb80 outer function outer() { + compiler.go:433: 1: *goja.newFunc(&{0x4000179950 outer function outer() { var v = 42; function inner() { return v; @@ -8339,7 +8375,7 @@ compiler.go:433: > 2: goja.initStackP(2) compiler.go:433: > 3: goja._loadCallee({}) compiler.go:433: > 4: goja.initStackP(2) - compiler.go:433: > 5: *goja.newFunc(&{0x400049bbd0 inner function inner() { + compiler.go:433: > 5: *goja.newFunc(&{0x40001799a0 inner function inner() { return v; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -8358,7 +8394,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestNestedFuncVarResolution (0.00s) === RUN TestNestedFuncVarResolution1 - compiler.go:433: 0: *goja.newFunc(&{0x400049bef0 outer function outer(argOuter) { + compiler.go:433: 0: *goja.newFunc(&{0x4000179cc0 outer function outer(argOuter) { var called = 0; var inner = function(argInner) { if (arguments.length !== 1) { @@ -8377,7 +8413,7 @@ compiler.go:433: > 0: *goja.enterFunc(&{map[] 2 1 1 1 true false}) compiler.go:433: > 1: goja.loadVal({0}) compiler.go:433: > 2: goja.initStashP(1) - compiler.go:433: > 3: *goja.newFunc(&{0x4000270000 inner function(argInner) { + compiler.go:433: > 3: *goja.newFunc(&{0x4000179d10 inner function(argInner) { if (arguments.length !== 1) { throw new Error(); } @@ -8438,7 +8474,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestNestedFuncVarResolution1 (0.00s) === RUN TestCallFewerArgs - compiler.go:433: 0: *goja.newFunc(&{0x40002705f0 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x40004240a0 A function A(a, b, c) { return String(a) + " " + String(b) + " " + String(c); } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -8468,7 +8504,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCallFewerArgs (0.00s) === RUN TestCallFewerArgsClosureNoArgs - compiler.go:433: 0: *goja.newFunc(&{0x40002708c0 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000424690 A function A(a, b, c) { var y = a; x = function() { return " " + y }; return String(a) + " " + String(b) + " " + String(c); @@ -8477,7 +8513,7 @@ compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja.initStashP(0) compiler.go:433: > 3: goja.resolveVar1(x) - compiler.go:433: > 4: *goja.newFunc(&{0x4000270910 x function() { return " " + y } 0 false}) + compiler.go:433: > 4: *goja.newFunc(&{0x40004246e0 x function() { return " " + y } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({ }) compiler.go:433: >> 2: goja.loadStash(0) @@ -8513,7 +8549,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallFewerArgsClosureNoArgs (0.00s) === RUN TestCallFewerArgsClosureArgs - compiler.go:433: 0: *goja.newFunc(&{0x4000271270 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000424aa0 A function A(a, b, c) { var y = b; x = function() { return " " + a + " " + y }; return String(a) + " " + String(b) + " " + String(c); @@ -8522,7 +8558,7 @@ compiler.go:433: > 1: goja.loadStashLex(1) compiler.go:433: > 2: goja.initStashP(3) compiler.go:433: > 3: goja.resolveVar1(x) - compiler.go:433: > 4: *goja.newFunc(&{0x40002712c0 x function() { return " " + a + " " + y } 0 false}) + compiler.go:433: > 4: *goja.newFunc(&{0x4000424af0 x function() { return " " + a + " " + y } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({ }) compiler.go:433: >> 2: goja.loadStashLex(0) @@ -8562,7 +8598,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallFewerArgsClosureArgs (0.00s) === RUN TestCallMoreArgs - compiler.go:433: 0: *goja.newFunc(&{0x4000271630 A function A(a, b) { + compiler.go:433: 0: *goja.newFunc(&{0x4000425450 A function A(a, b) { var c = 4; return a - b + c; } 2 false}) @@ -8586,7 +8622,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCallMoreArgs (0.00s) === RUN TestCallMoreArgsDynamic - compiler.go:433: 0: *goja.newFunc(&{0x4000271950 A function A(a, b) { + compiler.go:433: 0: *goja.newFunc(&{0x4000425720 A function A(a, b) { var c = 4; if (false) { eval(""); @@ -8617,7 +8653,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallMoreArgsDynamic (0.00s) === RUN TestCallLessArgsDynamic - compiler.go:433: 0: *goja.newFunc(&{0x4000271d10 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000425c20 A function A(a, b, c) { // Make it stashful function B() { return a; @@ -8625,7 +8661,7 @@ return String(a) + " " + String(b) + " " + String(c); } 3 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 3 1 3 1 true false}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000271d60 B function B() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000425c70 B function B() { return a; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -8658,7 +8694,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallLessArgsDynamic (0.00s) === RUN TestCallLessArgsDynamicLocalVar - compiler.go:433: 0: *goja.newFunc(&{0x40002e8140 f function f(param) { + compiler.go:433: 0: *goja.newFunc(&{0x4000425ef0 f function f(param) { var a = 42; if (false) { eval(""); @@ -8704,7 +8740,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNativeCall (0.00s) === RUN TestJSCall - compiler.go:433: 0: *goja.newFunc(&{0x40002e8550 getter function getter() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc460 getter function getter() { return this.x; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -8737,7 +8773,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestJSCall (0.00s) === RUN TestLoop1 - compiler.go:433: 0: *goja.newFunc(&{0x40002e8820 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc730 A function A() { var x = 1; for (var i = 0; i < 1; i++) { var x = 2; @@ -8769,7 +8805,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLoop1 (0.00s) === RUN TestLoopBreak - compiler.go:433: 0: *goja.newFunc(&{0x40002e8aa0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc9b0 A function A() { var x = 1; for (var i = 0; i < 1; i++) { break; @@ -8803,7 +8839,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLoopBreak (0.00s) === RUN TestForLoopOptionalExpr - compiler.go:433: 0: *goja.newFunc(&{0x40003ee5a0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcc30 A function A() { var x = 1; for (;;) { break; @@ -8848,7 +8884,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestBlockBreak (0.00s) === RUN TestTry - compiler.go:433: 0: *goja.newFunc(&{0x40003ee910 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcfa0 A function A() { var x = 1; try { x = 2; @@ -8895,7 +8931,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTryOptionalCatchBinding (0.00s) === RUN TestTryCatch - compiler.go:433: 0: *goja.newFunc(&{0x40003eecd0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd310 A function A() { var x; try { throw 4; @@ -8924,7 +8960,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTryCatch (0.00s) === RUN TestTryCatchDirectEval - compiler.go:433: 0: *goja.newFunc(&{0x40003ef040 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd540 A function A() { var x; try { throw 4; @@ -8959,7 +8995,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestTryCatchDirectEval (0.00s) === RUN TestTryExceptionInCatch - compiler.go:433: 0: *goja.newFunc(&{0x40003ef3b0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd9f0 A function A() { var x; try { throw 4; @@ -9140,7 +9176,7 @@ compiler.go:433: 23: goja.jump(-18) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestTryBreakFinallyContinue (0.01s) +--- PASS: TestTryBreakFinallyContinue (0.00s) === RUN TestTryBreakFinallyContinueWithResult compiler.go:433: 0: *goja.bindGlobal(&{[i] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(i) @@ -9312,7 +9348,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTryNoResult (0.00s) === RUN TestCatchLexicalEnv - compiler.go:433: 0: *goja.newFunc(&{0x400050ceb0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000325090 F function F() { try { throw 1; } catch (e) { @@ -9340,7 +9376,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCatchLexicalEnv (0.00s) === RUN TestThrowType - compiler.go:433: 0: *goja.newFunc(&{0x400050d180 Exception function Exception(message) { + compiler.go:433: 0: *goja.newFunc(&{0x4000325360 Exception function Exception(message) { this.message = message; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -9350,7 +9386,7 @@ compiler.go:433: > 4: goja.setPropP(message) compiler.go:433: > 5: goja._loadUndef({}) compiler.go:433: > 6: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400050d1d0 A function A() { + compiler.go:433: 1: *goja.newFunc(&{0x40003253b0 A function A() { try { throw new Exception("boo!"); } catch(e) { @@ -9397,7 +9433,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestThrowType (0.00s) === RUN TestThrowConstructorName - compiler.go:433: 0: *goja.newFunc(&{0x400050d4a0 Exception function Exception(message) { + compiler.go:433: 0: *goja.newFunc(&{0x4000325680 Exception function Exception(message) { this.message = message; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -9407,7 +9443,7 @@ compiler.go:433: > 4: goja.setPropP(message) compiler.go:433: > 5: goja._loadUndef({}) compiler.go:433: > 6: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400050d4f0 A function A() { + compiler.go:433: 1: *goja.newFunc(&{0x40003256d0 A function A() { try { throw new Exception("boo!"); } catch(e) { @@ -9441,7 +9477,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestThrowConstructorName (0.00s) === RUN TestThrowNativeConstructorName - compiler.go:433: 0: *goja.newFunc(&{0x400050d720 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000325900 A function A() { try { throw new TypeError(); } catch(e) { @@ -9488,9 +9524,9 @@ compiler.go:433: 11: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestEmptyTryNoCatch (0.00s) +--- PASS: TestEmptyTryNoCatch (0.01s) === RUN TestTryReturnFromCatch - compiler.go:433: 0: *goja.newFunc(&{0x400050db30 f function f(o) { + compiler.go:433: 0: *goja.newFunc(&{0x40003242d0 f function f(o) { var x = 42; function innerf(o) { @@ -9504,7 +9540,7 @@ return innerf(o); } 1 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 1 1 1 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x400050db80 innerf function innerf(o) { + compiler.go:433: > 1: *goja.newFunc(&{0x4000324320 innerf function innerf(o) { try { throw o; } catch (e) { @@ -9636,7 +9672,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestIfMultipleLabels (0.00s) === RUN TestBreakOutOfTry - compiler.go:433: 0: *goja.newFunc(&{0x40003eecd0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000324f50 A function A() { var x = 1; B: { try { @@ -9677,7 +9713,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestBreakOutOfTry (0.00s) === RUN TestReturnOutOfTryNested - compiler.go:433: 0: *goja.newFunc(&{0x40003ef0e0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000325220 A function A() { function nested() { try { return 1; @@ -9688,7 +9724,7 @@ return nested(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40003ef130 nested function nested() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000325270 nested function nested() { try { return 1; } catch(e) { @@ -9726,7 +9762,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestReturnOutOfTryNested (0.00s) === RUN TestReturnOutOfTryWithFinally - compiler.go:433: 0: *goja.newFunc(&{0x40003ef360 test function test() { + compiler.go:433: 0: *goja.newFunc(&{0x40003254a0 test function test() { try { return 'Hello, world!'; } finally { @@ -9756,7 +9792,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestReturnOutOfTryWithFinally (0.00s) === RUN TestContinueLoop - compiler.go:433: 0: *goja.newFunc(&{0x40003ef5e0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000325720 A function A() { var r = 0; for (var i = 0; i < 5; i++) { if (i > 1) { @@ -9797,7 +9833,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestContinueLoop (0.00s) === RUN TestContinueOutOfTry - compiler.go:433: 0: *goja.newFunc(&{0x40003ef860 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000325a40 A function A() { var r = 0; for (var i = 0; i < 5; i++) { try { @@ -9853,7 +9889,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestContinueOutOfTry (0.00s) === RUN TestThisInCatch - compiler.go:433: 0: *goja.newFunc(&{0x40003efbd0 O function O() { + compiler.go:433: 0: *goja.newFunc(&{0x4000325d10 O function O() { try { f(); } catch (e) { @@ -9877,7 +9913,7 @@ compiler.go:433: > 14: goja.leaveTry({}) compiler.go:433: > 15: goja._loadUndef({}) compiler.go:433: > 16: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003efc20 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x4000325d60 f function f() { throw "ex"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -9921,7 +9957,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNestedTry (0.00s) === RUN TestNestedTryInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x400050dc70 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001e820 f function f() { var ex1, ex2; try { throw "ex1"; @@ -9978,7 +10014,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalLexicalDecl (0.00s) === RUN TestEvalInCatchInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x400001e780 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001ecd0 f function f() { var ex; try { throw "ex1"; @@ -10013,7 +10049,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalInCatchInStashlessFunc (0.00s) === RUN TestCatchClosureInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x400001ec80 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001f1d0 f function f() { var ex; try { throw "ex1"; @@ -10029,7 +10065,7 @@ compiler.go:433: > 3: goja._throw({}) compiler.go:433: > 4: goja.jump(8) compiler.go:433: > 5: *goja.enterCatchBlock(&{map[] 1 0}) - compiler.go:433: > 6: *goja.newFunc(&{0x400001ecd0 function() { + compiler.go:433: > 6: *goja.newFunc(&{0x400001f2c0 function() { return er1; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -10053,7 +10089,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCatchClosureInStashlessFunc (0.00s) === RUN TestCatchVarNotUsedInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x400001ef50 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001f630 f function f() { var ex; try { throw "ex1"; @@ -10082,7 +10118,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCatchVarNotUsedInStashlessFunc (0.00s) === RUN TestNew - compiler.go:433: 0: *goja.newFunc(&{0x400001f310 O function O() { + compiler.go:433: 0: *goja.newFunc(&{0x400001f8b0 O function O() { this.x = 42; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10101,7 +10137,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNew (0.00s) === RUN TestStringConstructor - compiler.go:433: 0: *goja.newFunc(&{0x400001f630 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400001fae0 F function F() { return String(33) + " " + String("cows"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10123,7 +10159,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringConstructor (0.00s) === RUN TestError - compiler.go:433: 0: *goja.newFunc(&{0x400001f8b0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400001fd10 F function F() { return new Error("test"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10150,7 +10186,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestError (0.00s) === RUN TestTypeError - compiler.go:433: 0: *goja.newFunc(&{0x400001fb30 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x40001780a0 F function F() { return new TypeError("test"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10184,7 +10220,7 @@ compiler.go:433: 4: goja.putProp(x) compiler.go:433: 5: goja._initValueP({}) compiler.go:433: 6: goja.loadDynamic(o) - compiler.go:433: 7: *goja.newFunc(&{0x400001fdb0 function() { + compiler.go:433: 7: *goja.newFunc(&{0x4000178320 function() { return String(this.x); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10212,7 +10248,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestToString (0.00s) === RUN TestEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x400049a320 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178730 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10224,7 +10260,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadDynamic(o) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400049a370 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x4000178780 F2 function F2() { trace += "Second!"; return "f"; } 0 false}) @@ -10236,7 +10272,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadVal({f}) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x400049a3c0 F3 function F3() { + compiler.go:433: 2: *goja.newFunc(&{0x40001787d0 F3 function F3() { trace += "Third!"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10250,7 +10286,7 @@ compiler.go:433: 3: *goja.bindGlobal(&{[o trace rv] [F1 F2 F3] [] [] false}) compiler.go:433: 4: goja.resolveVar1(o) compiler.go:433: 5: goja._newObject({}) - compiler.go:433: 6: *goja.newFunc(&{0x400049a410 f function() {return 42} 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x4000178820 f function() {return 42} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({42}) compiler.go:433: > 2: goja._ret({}) @@ -10282,7 +10318,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalOrder (0.00s) === RUN TestPostfixIncBracket - compiler.go:433: 0: *goja.newFunc(&{0x4000270230 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178af0 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10294,7 +10330,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadDynamic(o) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000270280 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x4000178b40 F2 function F2() { trace += "Second!"; return "x"; } 0 false}) @@ -10340,7 +10376,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPostfixIncBracket (0.00s) === RUN TestPostfixIncDot - compiler.go:433: 0: *goja.newFunc(&{0x4000270820 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178dc0 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10383,7 +10419,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPostfixIncDot (0.00s) === RUN TestPrefixIncBracket - compiler.go:433: 0: *goja.newFunc(&{0x4000270fa0 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x4000179090 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10395,7 +10431,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadDynamic(o) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000271090 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x40001790e0 F2 function F2() { trace += "Second!"; return "x"; } 0 false}) @@ -10438,7 +10474,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPrefixIncBracket (0.00s) === RUN TestPrefixIncDot - compiler.go:433: 0: *goja.newFunc(&{0x40002713b0 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x4000179360 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10482,7 +10518,7 @@ compiler.go:433: 0: *goja.bindGlobal(&{[object y ok] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(object) compiler.go:433: 2: goja._newObject({}) - compiler.go:433: 3: *goja.newFunc(&{0x4000271630 valueOf function() {return 1} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x4000179590 valueOf function() {return 1} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({1}) compiler.go:433: > 2: goja._ret({}) @@ -10522,14 +10558,14 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPropAcc1 (0.00s) === RUN TestEvalDirect - compiler.go:433: 0: *goja.newFunc(&{0x4000271b30 foo function foo(){ rv = true; } 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x40001799f0 foo function foo(){ rv = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.resolveVar1(rv) compiler.go:433: > 2: goja.loadVal({true}) compiler.go:433: > 3: goja._putValueP({}) compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000271b80 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x4000179a40 f function f() { try { eval("o.bar( foo() );"); } catch (e) { @@ -10593,7 +10629,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalFunctionExpr (0.00s) === RUN TestEvalDirectScope - compiler.go:433: 0: *goja.newFunc(&{0x40002247d0 testcase function testcase() { + compiler.go:433: 0: *goja.newFunc(&{0x4000424910 testcase function testcase() { var __10_4_2_1_3 = "str1"; try { throw "error"; @@ -10638,7 +10674,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalDirectScope (0.00s) === RUN TestEvalDirectScope1 - compiler.go:433: 0: *goja.newFunc(&{0x4000224b40 testcase function testcase() { + compiler.go:433: 0: *goja.newFunc(&{0x4000425180 testcase function testcase() { var __10_4_2_1_5 = "str1"; var r = eval("\ var __10_4_2_1_5 = \'str2\'; \ @@ -10669,7 +10705,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalDirectScope1 (0.00s) === RUN TestEvalDirectCreateBinding - compiler.go:433: 0: *goja.newFunc(&{0x4000224f50 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000425810 f function f() { eval("var x = true"); return x; } 0 false}) @@ -10717,7 +10753,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestEvalDirectCreateBinding (0.00s) === RUN TestEvalDirectCreateBinding1 - compiler.go:433: 0: *goja.newFunc(&{0x4000225360 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000425d10 f function f() { eval("let x = 1; var y = 2; function f1() {return x};"); assert.throws(ReferenceError, function() { x }); return ""+y+f1(); @@ -10734,7 +10770,7 @@ compiler.go:433: > 9: goja.loadDynamic(assert) compiler.go:433: > 10: goja.getPropCallee(throws) compiler.go:433: > 11: goja.loadDynamic(ReferenceError) - compiler.go:433: > 12: *goja.newFunc(&{0x40002253b0 function() { x } 0 false}) + compiler.go:433: > 12: *goja.newFunc(&{0x4000425d60 function() { x } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadDynamic(x) compiler.go:433: >> 2: goja._pop({}) @@ -10757,7 +10793,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalDirectCreateBinding1 (0.00s) === RUN TestEvalDirectCreateBinding3 - compiler.go:433: 0: *goja.newFunc(&{0x40002258b0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc3c0 f function f() { let x; try { eval("var y=1, x=2"); @@ -10830,7 +10866,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalFuncDecl (0.00s) === RUN TestGetAfterSet - compiler.go:433: 0: *goja.newFunc(&{0x40002ce460 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fceb0 f function f() { var x = 1; return x; } 0 false}) @@ -10993,7 +11029,7 @@ compiler.go:433: 23: goja.jeqP(-19) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestDoWhileLoopRet (0.01s) +--- PASS: TestDoWhileLoopRet (0.00s) === RUN TestDoWhileContinueRet compiler.go:433: 0: *goja.bindGlobal(&{[i] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(i) @@ -11093,7 +11129,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestInstanceof (0.00s) === RUN TestStrictAssign - compiler.go:433: 0: *goja.newFunc(&{0x400049ac80 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000334140 F function F() { called = true; return 1; } 0 true}) @@ -11131,7 +11167,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStrictAssign (0.00s) === RUN TestStrictScope - compiler.go:433: 0: *goja.newFunc(&{0x400049aeb0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000334370 F function F() { 'use strict'; x = 1; } 0 true}) @@ -11234,7 +11270,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCallGlobalObject (0.00s) === RUN TestFuncLength - compiler.go:433: 0: *goja.newFunc(&{0x400049b4a0 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x4000334960 F function F(x, y) { } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -11262,7 +11298,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNativeFuncLength (0.00s) === RUN TestArguments - compiler.go:433: 0: *goja.newFunc(&{0x400049b810 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000334cd0 F function F() { return arguments.length + " " + arguments[1]; } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -11288,7 +11324,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArguments (0.00s) === RUN TestArgumentsPut - compiler.go:433: 0: *goja.newFunc(&{0x400049ba90 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x4000334f50 F function F(x, y) { arguments[0] -= arguments[1]; return x; } 2 false}) @@ -11317,7 +11353,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsPut (0.00s) === RUN TestArgumentsPutStrict - compiler.go:433: 0: *goja.newFunc(&{0x400049bd10 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x40003351d0 F function F(x, y) { 'use strict'; arguments[0] -= arguments[1]; return x; @@ -11347,7 +11383,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsPutStrict (0.00s) === RUN TestArgumentsExtra - compiler.go:433: 0: *goja.newFunc(&{0x400043c0a0 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x4000334190 F function F(x, y) { return arguments[2]; } 2 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 2 1 2 1 true false}) @@ -11368,7 +11404,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsExtra (0.00s) === RUN TestArgumentsExist - compiler.go:433: 0: *goja.newFunc(&{0x40002ce140 F function F(x, arguments) { + compiler.go:433: 0: *goja.newFunc(&{0x4000334410 F function F(x, arguments) { return arguments; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -11384,7 +11420,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArgumentsExist (0.00s) === RUN TestArgumentsDelete - compiler.go:433: 0: *goja.newFunc(&{0x40002ce370 f function f(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000334640 f function f(x) { delete arguments[0]; arguments[0] = 42; return x; @@ -11409,9 +11445,9 @@ compiler.go:433: 5: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 1 ---- PASS: TestArgumentsDelete (0.01s) +--- PASS: TestArgumentsDelete (0.00s) === RUN TestArgumentsInEval - compiler.go:433: 0: *goja.newFunc(&{0x40002ce640 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000334910 f function f() { return eval("arguments"); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) @@ -11434,7 +11470,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsInEval (0.00s) === RUN TestArgumentsRedeclareInEval - compiler.go:433: 0: *goja.newFunc(&{0x40002ce9b0 f function f(p = eval("var arguments = 'param'"), arguments) {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000334c80 f function f(p = eval("var arguments = 'param'"), arguments) {} 0 false}) compiler.go:433: > 0: *goja.enterFunc1(&{map[ this:1073741826 arguments:1 p:0] 3 2 0 1 true}) compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.loadStack(0) @@ -11485,7 +11521,7 @@ compiler.go:433: 3: goja.initGlobalP(oldArguments) compiler.go:433: 4: goja.loadVal({0}) compiler.go:433: 5: goja.initGlobalP(count) - compiler.go:433: 6: *goja.newArrowFunc(&{{0x40002cedc0 f (p = eval("var arguments = 'param'"), q = () => arguments) => { + compiler.go:433: 6: *goja.newArrowFunc(&{{0x4000334ff0 f (p = eval("var arguments = 'param'"), q = () => arguments) => { var arguments = "local"; assert.sameValue(arguments, "local", "arguments"); assert.sameValue(q(), "param", "q"); @@ -11500,7 +11536,7 @@ compiler.go:433: > 6: goja.initStashP(0) compiler.go:433: > 7: goja.loadStackLex(-2) compiler.go:433: > 8: goja.jdefP(3) - compiler.go:433: > 9: *goja.newArrowFunc(&{{0x40002cee10 () => arguments 0 false}}) + compiler.go:433: > 9: *goja.newArrowFunc(&{{0x4000335090 () => arguments 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadDynamic(arguments) compiler.go:433: >> 2: goja._ret({}) @@ -11552,7 +11588,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsRedeclareArrow (0.00s) === RUN TestEvalParamWithDef - compiler.go:433: 0: *goja.newFunc(&{0x40002cf0e0 f function f(param = 0) { + compiler.go:433: 0: *goja.newFunc(&{0x4000335450 f function f(param = 0) { eval("var param = 1"); return param; } 0 false}) @@ -11580,7 +11616,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalParamWithDef (0.00s) === RUN TestArgumentsRedefinedAsLetDyn - compiler.go:433: 0: *goja.newFunc(&{0x40002cf450 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003357c0 f function f() { let arguments; eval(""); // force dynamic scope return arguments; @@ -11630,7 +11666,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestWith (0.00s) === RUN TestWithInFunc - compiler.go:433: 0: *goja.newFunc(&{0x40002cf950 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000335cc0 F function F() { var b = 1; var c = 0; var o = {a: 40, c: 1}; @@ -11671,7 +11707,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestWithInFunc (0.00s) === RUN TestAssignNonExtendable - compiler.go:433: 0: *goja.newFunc(&{0x40002cfbd0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400001e640 F function F() { this.x = 1; } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -11700,7 +11736,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestAssignNonExtendable (0.00s) === RUN TestAssignNonExtendable1 - compiler.go:433: 0: *goja.newFunc(&{0x40002cfe00 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400001e870 F function F() { } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -11818,7 +11854,7 @@ === RUN TestFunction1 compiler.go:433: 0: *goja.bindGlobal(&{[f] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(f) - compiler.go:433: 2: *goja.newFunc(&{0x400043cd70 f1 function f1(count) { + compiler.go:433: 2: *goja.newFunc(&{0x400001f8b0 f1 function f1(count) { if (count == 0) { return true; } @@ -11851,7 +11887,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFunction1 (0.00s) === RUN TestFunction2 - compiler.go:433: 0: *goja.newFunc(&{0x400043d040 f function f(count) { + compiler.go:433: 0: *goja.newFunc(&{0x400001fb80 f function f(count) { trace += "f("+count+")"; if (count == 0) { return; @@ -11880,7 +11916,7 @@ compiler.go:433: > 19: goja._sub({}) compiler.go:433: > 20: goja.call(1) compiler.go:433: > 21: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400043d090 f1 function f1() { + compiler.go:433: 1: *goja.newFunc(&{0x400001fbd0 f1 function f1() { trace += "f1"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -11932,7 +11968,7 @@ compiler.go:433: 6: goja._initValueP({}) compiler.go:433: 7: goja.resolveVar1(o) compiler.go:433: 8: goja._newObject({}) - compiler.go:433: 9: *goja.newMethod(&{{0x400043d630 x get x() {getterCalled = true} 0 false} 1}) + compiler.go:433: 9: *goja.newMethod(&{{0x4000178280 x get x() {getterCalled = true} 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.resolveVar1(getterCalled) compiler.go:433: > 2: goja.loadVal({true}) @@ -11940,7 +11976,7 @@ compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 10: *goja.defineGetterKeyed(&{x true}) - compiler.go:433: 11: *goja.newMethod(&{{0x400043d680 x set x(_) {setterCalled = true} 1 false} 1}) + compiler.go:433: 11: *goja.newMethod(&{{0x40001782d0 x set x(_) {setterCalled = true} 1 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja.resolveVar1(setterCalled) compiler.go:433: > 2: goja.loadVal({true}) @@ -12046,7 +12082,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestConstWhileThrow (0.00s) === RUN TestDupParams - compiler.go:433: 0: *goja.newFunc(&{0x400043dea0 F function F(x, y, x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178af0 F function F(x, y, x) { return x; } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -12062,7 +12098,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDupParams (0.00s) === RUN TestUseUnsuppliedParam - compiler.go:433: 0: *goja.newFunc(&{0x40003ee230 getMessage function getMessage(message) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178d20 getMessage function getMessage(message) { if (message === undefined) { message = ''; } @@ -12092,7 +12128,7 @@ === RUN TestForInLetWithInitializer --- PASS: TestForInLetWithInitializer (0.00s) === RUN TestForInLoop - compiler.go:433: 0: *goja.newFunc(&{0x40003ee500 Proto function Proto() {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000178ff0 Proto function Proto() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -12189,7 +12225,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyDoWhile (0.00s) === RUN TestSwitch - compiler.go:433: 0: *goja.newFunc(&{0x400001ecd0 F function F(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000179680 F function F(x) { var i = 0; switch (x) { case 0: @@ -12275,7 +12311,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSwitch (0.00s) === RUN TestSwitchDefFirst - compiler.go:433: 0: *goja.newFunc(&{0x400001ef00 F function F(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000179900 F function F(x) { var i = 0; switch (x) { default: @@ -12456,7 +12492,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSwitchResult2 (0.00s) === RUN TestSwitchResultJumpIntoEmptyEval - compiler.go:433: 0: *goja.newFunc(&{0x400001f860 t function t(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000424050 t function t(x) { return eval("switch(x) { case 1: 2; break; case 2: let x = 1; case 3: x+2; break; case 4: default: 9}"); } 1 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741825 arguments:1073741826 x:1073741824] 3 0 1 1 true true}) @@ -12759,7 +12795,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestGetOwnPropertyNames (0.00s) === RUN TestArrayLiteral - compiler.go:433: 0: *goja.newFunc(&{0x40002718b0 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc230 F1 function F1() { f1Called = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -12768,7 +12804,7 @@ compiler.go:433: > 3: goja._putValueP({}) compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000271900 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x40004fc280 F2 function F2() { f2Called = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -12777,7 +12813,7 @@ compiler.go:433: > 3: goja._putValueP({}) compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x4000271950 F3 function F3() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fc320 F3 function F3() { f3Called = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -12845,7 +12881,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArrayLiteral (0.00s) === RUN TestJumpOutOfReturn - compiler.go:433: 0: *goja.newFunc(&{0x4000271b80 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc550 f function f() { var a; if (a == 0) { return true; @@ -12868,7 +12904,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestJumpOutOfReturn (0.00s) === RUN TestSwitchJumpOutOfReturn - compiler.go:433: 0: *goja.newFunc(&{0x4000271db0 f function f(x) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc870 f function f(x) { switch(x) { case 0: break; @@ -13056,7 +13092,7 @@ compiler.go:433: 9: goja.loadDynamic(scope) compiler.go:433: 10: goja._enterWith({}) compiler.go:433: 11: goja.resolveVar1(f) - compiler.go:433: 12: *goja.newFunc(&{0x40003ee780 f function() { + compiler.go:433: 12: *goja.newFunc(&{0x40004fcfa0 f function() { x *= (delete scope.x, 2); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -13107,7 +13143,7 @@ === RUN TestDeleteArguments --- PASS: TestDeleteArguments (0.00s) === RUN TestReturnUndefined - compiler.go:433: 0: *goja.newFunc(&{0x40003eeeb0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd540 f function f() { return x; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -13194,7 +13230,7 @@ compiler.go:433: 17: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestIncDelete (0.00s) +--- PASS: TestIncDelete (0.01s) === RUN TestCompoundAssignRefError compiler.go:433: 0: *goja.bindGlobal(&{[thrown] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(thrown) @@ -13316,7 +13352,7 @@ compiler.go:433: 9: goja._initValueP({}) compiler.go:433: 10: goja.resolveVar1(x) compiler.go:433: 11: goja._newObject({}) - compiler.go:433: 12: *goja.newMethod(&{{0x40003efdb0 attr set attr(_) { + compiler.go:433: 12: *goja.newMethod(&{{0x4000386640 attr set attr(_) { throw new Test262Error(); } 1 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -13330,7 +13366,7 @@ compiler.go:433: 15: goja.loadDynamic(iterable) compiler.go:433: 16: goja.loadDynamic(Symbol) compiler.go:433: 17: goja.getProp(iterator) - compiler.go:433: 18: *goja.newFunc(&{0x40003efe00 function() { + compiler.go:433: 18: *goja.newFunc(&{0x4000386690 function() { return { next: function() { return { done: false, value: 0 }; @@ -13342,7 +13378,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x40003efe50 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x40003866e0 next function() { return { done: false, value: 0 }; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13353,7 +13389,7 @@ compiler.go:433: >> 5: goja.putProp(value) compiler.go:433: >> 6: goja._ret({}) compiler.go:433: > 3: goja.putProp(next) - compiler.go:433: > 4: *goja.newFunc(&{0x40003efea0 return function() { + compiler.go:433: > 4: *goja.newFunc(&{0x4000386730 return function() { callCount += 1; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13370,7 +13406,7 @@ compiler.go:433: 20: goja.loadDynamic(assert) compiler.go:433: 21: goja.getPropCallee(throws) compiler.go:433: 22: goja.loadDynamic(Test262Error) - compiler.go:433: 23: *goja.newFunc(&{0x40003efef0 function() { + compiler.go:433: 23: *goja.newFunc(&{0x4000386780 function() { for (x.attr of iterable) { iterationCount += 1; } @@ -13423,7 +13459,7 @@ compiler.go:433: 7: goja.loadDynamic(iterable) compiler.go:433: 8: goja.loadDynamic(Symbol) compiler.go:433: 9: goja.getProp(iterator) - compiler.go:433: 10: *goja.newFunc(&{0x4000270730 function() { + compiler.go:433: 10: *goja.newFunc(&{0x4000386be0 function() { return { next: function() { return { done: false, value: null }; @@ -13435,7 +13471,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x4000270780 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x4000386c30 next function() { return { done: false, value: null }; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13446,7 +13482,7 @@ compiler.go:433: >> 5: goja.putProp(value) compiler.go:433: >> 6: goja._ret({}) compiler.go:433: > 3: goja.putProp(next) - compiler.go:433: > 4: *goja.newMethod(&{{0x40002707d0 return get return() { + compiler.go:433: > 4: *goja.newMethod(&{{0x4000386c80 return get return() { throw new Test262Error(); } 0 false} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13461,7 +13497,7 @@ compiler.go:433: 12: goja.loadDynamic(assert) compiler.go:433: 13: goja.getPropCallee(throws) compiler.go:433: 14: goja.loadDynamic(Test262Error) - compiler.go:433: 15: *goja.newFunc(&{0x4000270820 function() { + compiler.go:433: 15: *goja.newFunc(&{0x4000386cd0 function() { for (var x of iterable) { iterationCount += 1; break; @@ -13498,7 +13534,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestForOfReturn1 (0.00s) === RUN TestForOfLet - compiler.go:433: 0: *goja.newFunc(&{0x4000270b90 f function f() {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x40004c0190 f function f() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -13583,7 +13619,7 @@ compiler.go:433: 7: goja.loadDynamic(iterable) compiler.go:433: 8: goja.loadDynamic(Symbol) compiler.go:433: 9: goja.getProp(iterator) - compiler.go:433: 10: *goja.newFunc(&{0x4000271950 function() { + compiler.go:433: 10: *goja.newFunc(&{0x40004c09b0 function() { return { next: function() { return { done: ++iterationCount > 2, value: null }; @@ -13595,7 +13631,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x40002719a0 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x40004c0a00 next function() { return { done: ++iterationCount > 2, value: null }; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13615,7 +13651,7 @@ compiler.go:433: >> 14: goja.putProp(value) compiler.go:433: >> 15: goja._ret({}) compiler.go:433: > 3: goja.putProp(next) - compiler.go:433: > 4: *goja.newMethod(&{{0x40002719f0 return get return() { + compiler.go:433: > 4: *goja.newMethod(&{{0x40004c0a50 return get return() { throw new Test262Error(); } 0 false} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13643,7 +13679,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestIteratorReturnNormal (0.00s) === RUN TestIteratorReturnErrorNested - compiler.go:433: 0: *goja.newFunc(&{0x400001e640 iter function iter(id) { + compiler.go:433: 0: *goja.newFunc(&{0x40004c0e10 iter function iter(id) { return function() { var count = 0; return { @@ -13661,7 +13697,7 @@ } } 1 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 1 1 true false}) - compiler.go:433: > 1: *goja.newFunc(&{0x400001e690 function() { + compiler.go:433: > 1: *goja.newFunc(&{0x40004c0e60 function() { var count = 0; return { next: function () { @@ -13680,7 +13716,7 @@ compiler.go:433: >> 1: goja.loadVal({0}) compiler.go:433: >> 2: goja.initStashP(0) compiler.go:433: >> 3: goja._newObject({}) - compiler.go:433: >> 4: *goja.newFunc(&{0x400001e6e0 next function () { + compiler.go:433: >> 4: *goja.newFunc(&{0x40004c0eb0 next function () { return { value: null, done: ++count > 2 @@ -13702,7 +13738,7 @@ compiler.go:433: >>> 13: goja.putProp(done) compiler.go:433: >>> 14: goja._ret({}) compiler.go:433: >> 5: goja.putProp(next) - compiler.go:433: >> 6: *goja.newFunc(&{0x400001e730 return function () { + compiler.go:433: >> 6: *goja.newFunc(&{0x40004c0f00 return function () { returnCalled[id] = true; throw new Error(id); } 0 false}) @@ -13805,7 +13841,7 @@ --- PASS: TestIteratorReturnErrorNested (0.00s) === RUN TestReturnFromForInLoop compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001eaf0 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x40004c1270 f function f() { for (var i in {a: 1}) { return true; } @@ -13838,7 +13874,7 @@ --- PASS: TestReturnFromForInLoop (0.00s) === RUN TestReturnFromForOfLoop compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001ee10 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x4000386140 f function f() { for (var i of [1]) { return true; } @@ -13887,7 +13923,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestIfStackLeaks (0.00s) === RUN TestWithCallee - compiler.go:433: 0: *goja.newFunc(&{0x400001f4f0 O function O() { + compiler.go:433: 0: *goja.newFunc(&{0x40003865a0 O function O() { var that = this; this.m = function() { return this === that; @@ -13898,7 +13934,7 @@ compiler.go:433: > 2: goja.loadStack(0) compiler.go:433: > 3: goja.initStashP(0) compiler.go:433: > 4: goja.loadStack(0) - compiler.go:433: > 5: *goja.newFunc(&{0x400001f540 function() { + compiler.go:433: > 5: *goja.newFunc(&{0x40003865f0 function() { return this === that; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13922,7 +13958,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestWithCallee (0.00s) === RUN TestWithScope - compiler.go:433: 0: *goja.newFunc(&{0x400001f900 f function f(o) { + compiler.go:433: 0: *goja.newFunc(&{0x4000386a00 f function f(o) { var x = 42; function innerf(o) { @@ -13934,7 +13970,7 @@ return innerf(o); } 1 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 1 1 1 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x400001f950 innerf function innerf(o) { + compiler.go:433: > 1: *goja.newFunc(&{0x4000386a50 innerf function innerf(o) { with (o) { return x; } @@ -13965,7 +14001,7 @@ --- PASS: TestWithScope (0.00s) === RUN TestEvalCallee compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001fd10 function () { + compiler.go:433: 1: *goja.newFunc(&{0x4000386fa0 function () { 'use strict'; var v = function() { return this === undefined; @@ -13976,7 +14012,7 @@ compiler.go:433: > 1: goja.initStash(0) compiler.go:433: > 2: goja.createArgsUnmapped(0) compiler.go:433: > 3: goja.initStashP(2) - compiler.go:433: > 4: *goja.newFunc(&{0x400001fd60 v function() { + compiler.go:433: > 4: *goja.newFunc(&{0x4000386ff0 v function() { return this === undefined; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13996,7 +14032,7 @@ --- PASS: TestEvalCallee (0.00s) === RUN TestEvalBindingDeleteVar compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000224190 function () { + compiler.go:433: 1: *goja.newFunc(&{0x4000387360 function () { eval("var x = 1"); return x === 1 && delete x; } 0 false}) @@ -14022,7 +14058,7 @@ --- PASS: TestEvalBindingDeleteVar (0.00s) === RUN TestEvalBindingDeleteFunc compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002244b0 function () { + compiler.go:433: 1: *goja.newFunc(&{0x4000387680 function () { eval("function x(){}"); return typeof x === "function" && delete x; } 0 false}) @@ -14119,7 +14155,7 @@ --- PASS: TestTryResultEmptyContinueLoop (0.00s) === RUN TestTryEmptyCatchStackLeak compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002250e0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x40004c1720 function() { var f; // Make sure the outer function is not stashless. (function() { @@ -14131,7 +14167,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 0 1 false false}) compiler.go:433: > 1: goja._loadUndef({}) - compiler.go:433: > 2: *goja.newFunc(&{0x4000225130 function() { + compiler.go:433: > 2: *goja.newFunc(&{0x40004c1770 function() { f++; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -14196,7 +14232,7 @@ compiler.go:433: 11: goja._initValueP({}) compiler.go:433: 12: goja.resolveVar1(o1) compiler.go:433: 13: goja._newObject({}) - compiler.go:433: 14: *goja.newMethod(&{{0x4000225c20 1000 get 1e3() {return true;} 0 false} 1}) + compiler.go:433: 14: *goja.newMethod(&{{0x400001e960 1000 get 1e3() {return true;} 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({true}) compiler.go:433: > 2: goja._ret({}) @@ -14220,7 +14256,7 @@ compiler.go:433: 32: goja.call(1) compiler.go:433: 33: goja._initValueP({}) compiler.go:433: 34: goja._newObject({}) - compiler.go:433: 35: *goja.newMethod(&{{0x4000225d60 0 0(){return true} 0 false} 1}) + compiler.go:433: 35: *goja.newMethod(&{{0x400001e9b0 0 0(){return true} 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({true}) compiler.go:433: > 2: goja._ret({}) @@ -14281,7 +14317,7 @@ --- PASS: TestEscapedLet (0.00s) === RUN TestObjectLiteralFuncProps compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400049a690 function() { + compiler.go:433: 1: *goja.newFunc(&{0x400001f4a0 function() { 'use strict'; var o = { eval: function() {return 1;}, @@ -14296,17 +14332,17 @@ } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x400049a6e0 eval function() {return 1;} 0 true}) + compiler.go:433: > 2: *goja.newFunc(&{0x400001f4f0 eval function() {return 1;} 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({1}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 3: goja.putProp(eval) - compiler.go:433: > 4: *goja.newMethod(&{{0x400049a730 arguments arguments() {return 2;} 0 true} 1}) + compiler.go:433: > 4: *goja.newMethod(&{{0x400001f540 arguments arguments() {return 2;} 0 true} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({2}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 5: *goja.defineMethodKeyed(&{arguments true}) - compiler.go:433: > 6: *goja.newFunc(&{0x400049a780 test1 function test1() {} 0 true}) + compiler.go:433: > 6: *goja.newFunc(&{0x400001f590 test1 function test1() {} 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: >> 1: goja._loadCallee({}) compiler.go:433: >> 2: goja.initStackP(1) @@ -14370,14 +14406,14 @@ compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(o) compiler.go:433: 5: goja._newObject({}) - compiler.go:433: 6: *goja.newFunc(&{0x400049aa00 method function() { + compiler.go:433: 6: *goja.newFunc(&{0x400001f860 method function() { return method; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(method) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 7: goja.putProp(method) - compiler.go:433: 8: *goja.newFunc(&{0x400049aa50 method function method() { + compiler.go:433: 8: *goja.newFunc(&{0x400001f8b0 method function method() { return method; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) @@ -14408,18 +14444,18 @@ === RUN TestFuncNameAssign compiler.go:433: 0: *goja.bindGlobal(&{[f f1] [] [f2] [] false}) compiler.go:433: 1: goja.resolveVar1(f) - compiler.go:433: 2: *goja.newFunc(&{0x400049adc0 f function() {} 0 false}) + compiler.go:433: 2: *goja.newFunc(&{0x400001fc20 f function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(f1) - compiler.go:433: 5: *goja.newFunc(&{0x400049ae10 f1 function() {} 0 false}) + compiler.go:433: 5: *goja.newFunc(&{0x400001fc70 f1 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 6: goja._putValueP({}) - compiler.go:433: 7: *goja.newFunc(&{0x400049ae60 f2 function() {} 0 false}) + compiler.go:433: 7: *goja.newFunc(&{0x400001fcc0 f2 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -14478,7 +14514,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLexicalDeclGlobal (0.00s) === RUN TestLexicalDeclFunction - compiler.go:433: 0: *goja.newFunc(&{0x400049b1d0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178140 f function f() { if (true) { let it = "be"; if (it !== "be") { @@ -14533,7 +14569,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLexicalDeclFunction (0.00s) === RUN TestLexicalDynamicScope - compiler.go:433: 0: *goja.newFunc(&{0x400049b7c0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178730 f function f() { const func = global + 1; function inner() { function assertThrows(fn) { @@ -14575,7 +14611,7 @@ compiler.go:433: > 2: goja.initStash(0) compiler.go:433: > 3: goja.createArgsMapped(0) compiler.go:433: > 4: goja.initStashP(3) - compiler.go:433: > 5: *goja.newFunc(&{0x400049b810 inner function inner() { + compiler.go:433: > 5: *goja.newFunc(&{0x4000178780 inner function inner() { function assertThrows(fn) { let thrown = false; try { @@ -14613,7 +14649,7 @@ compiler.go:433: >> 2: goja.initStash(0) compiler.go:433: >> 3: goja.createArgsMapped(0) compiler.go:433: >> 4: goja.initStashP(2) - compiler.go:433: >> 5: *goja.newFunc(&{0x400049b860 assertThrows function assertThrows(fn) { + compiler.go:433: >> 5: *goja.newFunc(&{0x40001787d0 assertThrows function assertThrows(fn) { let thrown = false; try { fn(); @@ -14661,7 +14697,7 @@ compiler.go:433: >> 6: goja.initStashP(1) compiler.go:433: >> 7: goja._loadUndef({}) compiler.go:433: >> 8: goja.loadStashLex(1) - compiler.go:433: >> 9: *goja.newFunc(&{0x400049b8b0 function() { + compiler.go:433: >> 9: *goja.newFunc(&{0x4000178820 function() { func++; } 0 false}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -14674,7 +14710,7 @@ compiler.go:433: >> 11: goja._pop({}) compiler.go:433: >> 12: goja._loadUndef({}) compiler.go:433: >> 13: goja.loadStashLex(1) - compiler.go:433: >> 14: *goja.newFunc(&{0x400049b900 function() { + compiler.go:433: >> 14: *goja.newFunc(&{0x4000178870 function() { global++; } 0 false}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -14688,7 +14724,7 @@ compiler.go:433: >> 16: goja._pop({}) compiler.go:433: >> 17: goja._loadUndef({}) compiler.go:433: >> 18: goja.loadStashLex(1) - compiler.go:433: >> 19: *goja.newFunc(&{0x400049b950 function() { + compiler.go:433: >> 19: *goja.newFunc(&{0x40001788c0 function() { eval("func++"); } 0 false}) compiler.go:433: >>> 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) @@ -14706,7 +14742,7 @@ compiler.go:433: >> 21: goja._pop({}) compiler.go:433: >> 22: goja._loadUndef({}) compiler.go:433: >> 23: goja.loadStashLex(1) - compiler.go:433: >> 24: *goja.newFunc(&{0x400049b9a0 function() { + compiler.go:433: >> 24: *goja.newFunc(&{0x4000178910 function() { eval("global++"); } 0 false}) compiler.go:433: >>> 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) @@ -14746,7 +14782,7 @@ --- PASS: TestLexicalDynamicScope (0.00s) === RUN TestLexicalDynamicScope1 compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003ac050 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000178f00 function() { const x = 1 * 4; return (function() { eval(""); @@ -14761,7 +14797,7 @@ compiler.go:433: > 5: goja.loadVal({4}) compiler.go:433: > 6: goja.initStashP(1) compiler.go:433: > 7: goja._loadUndef({}) - compiler.go:433: > 8: *goja.newFunc(&{0x40003ac0f0 function() { + compiler.go:433: > 8: *goja.newFunc(&{0x4000178fa0 function() { eval(""); return x; } 0 false}) @@ -14785,7 +14821,7 @@ --- PASS: TestLexicalDynamicScope1 (0.00s) === RUN TestLexicalDynamicScope2 compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003ac460 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000179310 function() { const x = 1 + 3; var y = 2 * 2; eval(""); @@ -14834,7 +14870,7 @@ === RUN TestLetArrayWithNewline --- PASS: TestLetArrayWithNewline (0.00s) === RUN TestDynamicUninitedVarAccess - compiler.go:433: 0: *goja.newFunc(&{0x40003ad0e0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004240a0 f function f() { var x; return eval("x"); } 0 false}) @@ -14897,7 +14933,7 @@ compiler.go:433: 11: goja.jneP(11) compiler.go:433: 12: goja.loadDynamic(f) compiler.go:433: 13: goja.getPropCallee(push) - compiler.go:433: 14: *goja.newFunc(&{0x40003ad5e0 function() { + compiler.go:433: 14: *goja.newFunc(&{0x40004248c0 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -14955,7 +14991,7 @@ compiler.go:433: 11: goja.copyStash({}) compiler.go:433: 12: goja.loadDynamic(a) compiler.go:433: 13: goja.getPropCallee(push) - compiler.go:433: 14: *goja.newFunc(&{0x40003ada40 function () { return i; } 0 false}) + compiler.go:433: 14: *goja.newFunc(&{0x40004253b0 function () { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadStashLex(0) compiler.go:433: > 2: goja._ret({}) @@ -15014,7 +15050,7 @@ compiler.go:433: 13: goja.jneP(11) compiler.go:433: 14: goja.loadDynamic(f) compiler.go:433: 15: goja.getPropCallee(push) - compiler.go:433: 16: *goja.newFunc(&{0x4000482460 function() { + compiler.go:433: 16: *goja.newFunc(&{0x4000425950 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15076,7 +15112,7 @@ compiler.go:433: 16: goja.initStashP(0) compiler.go:433: 17: goja.loadDynamic(f) compiler.go:433: 18: goja.getPropCallee(push) - compiler.go:433: 19: *goja.newFunc(&{0x4000482690 function() { + compiler.go:433: 19: *goja.newFunc(&{0x4000425c70 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15149,7 +15185,7 @@ compiler.go:433: 27: goja.jump(-9) compiler.go:433: 28: goja.loadDynamic(f) compiler.go:433: 29: goja.getPropCallee(push) - compiler.go:433: 30: *goja.newFunc(&{0x4000482a50 function() { + compiler.go:433: 30: *goja.newFunc(&{0x40004fc0f0 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15172,7 +15208,7 @@ compiler.go:433: 45: goja.initGlobalP(res) compiler.go:433: 46: goja.loadDynamic(f) compiler.go:433: 47: goja.getPropCallee(forEach) - compiler.go:433: 48: *goja.newFunc(&{0x4000482aa0 function(item) {res += item()} 1 false}) + compiler.go:433: 48: *goja.newFunc(&{0x40004fc140 function(item) {res += item()} 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja.resolveVar1(res) compiler.go:433: > 2: goja._getValue({}) @@ -15203,7 +15239,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(throws) compiler.go:433: 2: goja.loadDynamic(SyntaxError) - compiler.go:433: 3: *goja.newFunc(&{0x4000482fa0 function() { + compiler.go:433: 3: *goja.newFunc(&{0x40004fc6e0 function() { let x; { if (true) { @@ -15230,7 +15266,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestVarBlockConflictEval (0.00s) === RUN TestVarBlockNoConflict - compiler.go:433: 0: *goja.newFunc(&{0x4000483310 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcb40 f function f() { let x; function ff() { { @@ -15240,7 +15276,7 @@ ff(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{2 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000483360 ff function ff() { + compiler.go:433: > 1: *goja.newFunc(&{0x40004fcb90 ff function ff() { { var x = 3; } @@ -15267,7 +15303,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestVarBlockNoConflict (0.00s) === RUN TestVarBlockNoConflictEval - compiler.go:433: 0: *goja.newFunc(&{0x40004836d0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcf00 f function f() { let x; function ff() { { @@ -15281,7 +15317,7 @@ compiler.go:433: > 2: goja.initStash(0) compiler.go:433: > 3: goja.createArgsMapped(0) compiler.go:433: > 4: goja.initStashP(3) - compiler.go:433: > 5: *goja.newFunc(&{0x4000483720 ff function ff() { + compiler.go:433: > 5: *goja.newFunc(&{0x40004fcf50 ff function ff() { { eval("var x = 3"); } @@ -15314,7 +15350,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestVarBlockNoConflictEval (0.00s) === RUN TestVarDeclCorrectScope - compiler.go:433: 0: *goja.newFunc(&{0x4000483ae0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd310 f function f() { { let z; eval("var x = 3"); @@ -15350,7 +15386,7 @@ compiler.go:433: 3: goja._throw({}) compiler.go:433: 4: goja.jump(9) compiler.go:433: 5: *goja.enterBlock(&{map[] 0 2}) - compiler.go:433: 6: *goja.newFunc(&{0x4000483e50 f function f() {} 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x40004fd7c0 f function f() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -15365,7 +15401,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLexicalCatch (0.00s) === RUN TestArgumentsLexicalDecl - compiler.go:433: 0: *goja.newFunc(&{0x4000530140 f1 function f1() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd9f0 f1 function f1() { let arguments; return arguments; } 0 false}) @@ -15383,7 +15419,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArgumentsLexicalDecl (0.00s) === RUN TestArgumentsLexicalDeclAssign - compiler.go:433: 0: *goja.newFunc(&{0x40005304b0 f1 function f1() { + compiler.go:433: 0: *goja.newFunc(&{0x40004fdd60 f1 function f1() { let arguments = arguments; return a; } 0 false}) @@ -15396,7 +15432,7 @@ compiler.go:433: 2: goja.loadDynamic(assert) compiler.go:433: 3: goja.getPropCallee(throws) compiler.go:433: 4: goja.loadDynamic(ReferenceError) - compiler.go:433: 5: *goja.newFunc(&{0x4000530550 function() { + compiler.go:433: 5: *goja.newFunc(&{0x40004fde00 function() { f1(42); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15412,7 +15448,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArgumentsLexicalDeclAssign (0.00s) === RUN TestLexicalConstModifyFromEval - compiler.go:433: 0: *goja.newFunc(&{0x4000530820 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000290190 f function f() { eval("x = 2"); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) @@ -15432,7 +15468,7 @@ compiler.go:433: 4: goja.loadDynamic(assert) compiler.go:433: 5: goja.getPropCallee(throws) compiler.go:433: 6: goja.loadDynamic(TypeError) - compiler.go:433: 7: *goja.newFunc(&{0x4000530870 function() { + compiler.go:433: 7: *goja.newFunc(&{0x40002901e0 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15449,7 +15485,7 @@ === RUN TestLexicalStrictNames --- PASS: TestLexicalStrictNames (0.00s) === RUN TestAssignAfterStackExpand - compiler.go:433: 0: *goja.newFunc(&{0x4000530d20 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000290690 f function f() { let sum = 0; for (let i = 0; i < arguments.length; i++) { sum += arguments[i]; @@ -15484,7 +15520,7 @@ compiler.go:433: > 25: *goja.leaveBlock(&{1 false}) compiler.go:433: > 26: goja.loadStack1Lex(1) compiler.go:433: > 27: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000530d70 testAssignment function testAssignment() { + compiler.go:433: 1: *goja.newFunc(&{0x40002906e0 testAssignment function testAssignment() { var x = 0; var scope = {}; @@ -15552,9 +15588,9 @@ compiler.go:433: 5: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 2 ---- PASS: TestAssignAfterStackExpand (0.00s) +--- PASS: TestAssignAfterStackExpand (0.01s) === RUN TestArgAccessFromDynamicStash - compiler.go:433: 0: *goja.newFunc(&{0x40005310e0 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x400032e320 f function f(arg) { function test() { eval(""); return a; @@ -15566,7 +15602,7 @@ compiler.go:433: > 2: goja.initStash(1) compiler.go:433: > 3: goja.createArgsMapped(1) compiler.go:433: > 4: goja.initStashP(3) - compiler.go:433: > 5: *goja.newFunc(&{0x4000531130 test function test() { + compiler.go:433: > 5: *goja.newFunc(&{0x400032e370 test function test() { eval(""); return a; } 0 false}) @@ -15593,7 +15629,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgAccessFromDynamicStash (0.00s) === RUN TestLoadMixedLex - compiler.go:433: 0: *goja.newFunc(&{0x4000531450 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400032e690 f function f() { let a = 1; { function inner() { @@ -15611,7 +15647,7 @@ compiler.go:433: > 5: goja.loadVal({1}) compiler.go:433: > 6: goja.initStashP(1) compiler.go:433: > 7: *goja.enterBlock(&{map[inner:0] 1 0}) - compiler.go:433: > 8: *goja.newFunc(&{0x40005314a0 inner function inner() { + compiler.go:433: > 8: *goja.newFunc(&{0x400032e6e0 inner function inner() { eval("var a = true"); return a; } 0 false}) @@ -15640,7 +15676,7 @@ compiler.go:433: 4: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 3 ---- PASS: TestLoadMixedLex (0.01s) +--- PASS: TestLoadMixedLex (0.00s) === RUN TestObjectLiteralSpread compiler.go:433: 0: *goja.bindGlobal(&{[] [] [src target] [] false}) compiler.go:433: 1: goja._newObject({}) @@ -15794,7 +15830,7 @@ --- PASS: TestObjectAssignmentPattern (0.00s) === RUN TestObjectAssignmentPatternNoDyn compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000531c70 function() { + compiler.go:433: 1: *goja.newFunc(&{0x400032eeb0 function() { let a, b, c; ({a, b, c=3} = {a: 1, b: 2}); assert.sameValue(a, 1, "a"); @@ -15927,7 +15963,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestObjectAssignmentPatternNested (0.00s) === RUN TestObjectAssignmentPatternEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x40003ac410 src function src() { + compiler.go:433: 0: *goja.newFunc(&{0x400032f590 src function src() { trace += "src(),"; return { get a() { @@ -15943,7 +15979,7 @@ compiler.go:433: > 4: goja._add({}) compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja._newObject({}) - compiler.go:433: > 7: *goja.newMethod(&{{0x40003ac460 a get a() { + compiler.go:433: > 7: *goja.newMethod(&{{0x400032f5e0 a get a() { trace += "get a,"; return "a"; } 0 false} 1}) @@ -15957,7 +15993,7 @@ compiler.go:433: >> 7: goja._ret({}) compiler.go:433: > 8: *goja.defineGetterKeyed(&{a true}) compiler.go:433: > 9: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003ac4b0 prop1 function prop1() { + compiler.go:433: 1: *goja.newFunc(&{0x400032f630 prop1 function prop1() { trace += "prop1()," return { toString: function() { @@ -15973,7 +16009,7 @@ compiler.go:433: > 4: goja._add({}) compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja._newObject({}) - compiler.go:433: > 7: *goja.newFunc(&{0x40003ac500 toString function() { + compiler.go:433: > 7: *goja.newFunc(&{0x400032f680 toString function() { trace += "prop1-to-string(),"; return "a"; } 0 false}) @@ -15987,7 +16023,7 @@ compiler.go:433: >> 7: goja._ret({}) compiler.go:433: > 8: goja.putProp(toString) compiler.go:433: > 9: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x40003ac550 prop2 function prop2() { + compiler.go:433: 2: *goja.newFunc(&{0x400032f6d0 prop2 function prop2() { trace += "prop2(),"; return { toString: function() { @@ -16003,7 +16039,7 @@ compiler.go:433: > 4: goja._add({}) compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja._newObject({}) - compiler.go:433: > 7: *goja.newFunc(&{0x40003ac5a0 toString function() { + compiler.go:433: > 7: *goja.newFunc(&{0x400032f720 toString function() { trace += "prop2-to-string(),"; return "b"; } 0 false}) @@ -16017,7 +16053,7 @@ compiler.go:433: >> 7: goja._ret({}) compiler.go:433: > 8: goja.putProp(toString) compiler.go:433: > 9: goja._ret({}) - compiler.go:433: 3: *goja.newFunc(&{0x40003ac5f0 target function target() { + compiler.go:433: 3: *goja.newFunc(&{0x400032f770 target function target() { trace += "target()," return target_obj; } 0 false}) @@ -16076,7 +16112,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestObjectAssignmentPatternEvalOrder (0.00s) === RUN TestArrayAssignmentPatternEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x40003acd20 src function src() { + compiler.go:433: 0: *goja.newFunc(&{0x400032fea0 src function src() { trace += "src(),"; return src_arr; } 0 false}) @@ -16088,7 +16124,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadDynamic(src_arr) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003acd70 target function target() { + compiler.go:433: 1: *goja.newFunc(&{0x400032fef0 target function target() { trace += "target(),"; return tgt; } 0 false}) @@ -16100,7 +16136,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadDynamic(tgt) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x40003acdc0 default_a function default_a() { + compiler.go:433: 2: *goja.newFunc(&{0x40004f0000 default_a function default_a() { trace += "default a,"; return "def_a"; } 0 false}) @@ -16112,7 +16148,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadVal({def_a}) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 3: *goja.newFunc(&{0x40003ace10 default_b function default_b() { + compiler.go:433: 3: *goja.newFunc(&{0x40004f0050 default_b function default_b() { trace += "default b,"; return "def_b"; } 0 false}) @@ -16131,7 +16167,7 @@ compiler.go:433: 8: goja.loadDynamic(Symbol) compiler.go:433: 9: goja.getProp(iterator) compiler.go:433: 10: goja._toPropertyKey({}) - compiler.go:433: 11: *goja.newFunc(&{0x40003ace60 function() { + compiler.go:433: 11: *goja.newFunc(&{0x40004f00a0 function() { let done = false; return { next: function() { @@ -16151,7 +16187,7 @@ compiler.go:433: > 1: goja.loadVal({false}) compiler.go:433: > 2: goja.initStashP(0) compiler.go:433: > 3: goja._newObject({}) - compiler.go:433: > 4: *goja.newFunc(&{0x40003aceb0 next function() { + compiler.go:433: > 4: *goja.newFunc(&{0x40004f00f0 next function() { trace += "next,"; if (!done) { done = true; @@ -16179,7 +16215,7 @@ compiler.go:433: >> 17: goja.putProp(done) compiler.go:433: >> 18: goja._ret({}) compiler.go:433: > 5: goja.putProp(next) - compiler.go:433: > 6: *goja.newFunc(&{0x40003acf00 return function() { + compiler.go:433: > 6: *goja.newFunc(&{0x40004f0140 return function() { trace += "return,"; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -16195,7 +16231,7 @@ compiler.go:433: 12: goja._setElem1Named({}) compiler.go:433: 13: goja.initGlobalP(src_arr) compiler.go:433: 14: goja._newObject({}) - compiler.go:433: 15: *goja.newMethod(&{{0x40003acf50 a get a() { + compiler.go:433: 15: *goja.newMethod(&{{0x40004f0190 a get a() { trace += "get a,"; return "a"; } 0 false} 1}) @@ -16208,7 +16244,7 @@ compiler.go:433: > 6: goja.loadVal({a}) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 16: *goja.defineGetterKeyed(&{a true}) - compiler.go:433: 17: *goja.newMethod(&{{0x40003acfa0 b get b() { + compiler.go:433: 17: *goja.newMethod(&{{0x40004f01e0 b get b() { trace += "get b,"; return "b"; } 0 false} 1}) @@ -16247,7 +16283,7 @@ compiler.go:433: 42: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 1 ---- PASS: TestArrayAssignmentPatternEvalOrder (0.01s) +--- PASS: TestArrayAssignmentPatternEvalOrder (0.00s) === RUN TestObjectAssignPatternRest compiler.go:433: 0: *goja.bindGlobal(&{[] [] [a b c d] [] false}) compiler.go:433: 1: goja._loadUndef({}) @@ -16391,7 +16427,7 @@ compiler.go:433: 70: goja.loadDynamic(assert) compiler.go:433: 71: goja.getPropCallee(throws) compiler.go:433: 72: goja.loadDynamic(ReferenceError) - compiler.go:433: 73: *goja.newFunc(&{0x40003ad3b0 function() { + compiler.go:433: 73: *goja.newFunc(&{0x40002901e0 function() { x; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -16403,7 +16439,7 @@ compiler.go:433: 75: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestObjectBindPattern (0.01s) +--- PASS: TestObjectBindPattern (0.00s) === RUN TestObjLiteralShorthandWithInitializer --- PASS: TestObjLiteralShorthandWithInitializer (0.00s) === RUN TestObjLiteralShorthandLetStringLit @@ -16414,7 +16450,7 @@ compiler.go:433: 2: goja.loadDynamic(Symbol) compiler.go:433: 3: goja.getProp(toString) compiler.go:433: 4: goja._toPropertyKey({}) - compiler.go:433: 5: *goja.newMethod(&{{0x40003ad770 get [Symbol.toString]() { + compiler.go:433: 5: *goja.newMethod(&{{0x40002905f0 get [Symbol.toString]() { } 0 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -16425,7 +16461,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestObjLiteralComputedKeys (0.00s) === RUN TestObjLiteralComputedKeysEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x40003adbd0 key function key() { + compiler.go:433: 0: *goja.newFunc(&{0x4000290a50 key function key() { trace.push("key"); return { toString: function() { @@ -16441,7 +16477,7 @@ compiler.go:433: > 4: goja.call(1) compiler.go:433: > 5: goja._pop({}) compiler.go:433: > 6: goja._newObject({}) - compiler.go:433: > 7: *goja.newFunc(&{0x40003adc20 toString function() { + compiler.go:433: > 7: *goja.newFunc(&{0x4000290aa0 toString function() { trace.push("key-toString"); return "key"; } 0 false}) @@ -16455,7 +16491,7 @@ compiler.go:433: >> 7: goja._ret({}) compiler.go:433: > 8: goja.putProp(toString) compiler.go:433: > 9: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003adc70 val function val() { + compiler.go:433: 1: *goja.newFunc(&{0x4000290af0 val function val() { trace.push("val"); return "val"; } 0 false}) @@ -16844,7 +16880,7 @@ === RUN TestAssignPatternRestTrailingComma --- PASS: TestAssignPatternRestTrailingComma (0.00s) === RUN TestFuncParamInitializerSimple - compiler.go:433: 0: *goja.newFunc(&{0x40003eef50 f function f(a = 1) { + compiler.go:433: 0: *goja.newFunc(&{0x4000291ae0 f function f(a = 1) { return a; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -16869,7 +16905,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamInitializerSimple (0.00s) === RUN TestFuncParamObjectPatternSimple - compiler.go:433: 0: *goja.newFunc(&{0x40003ef180 f function f({a, b} = {a: 1, b: 2}) { + compiler.go:433: 0: *goja.newFunc(&{0x4000291d10 f function f({a, b} = {a: 1, b: 2}) { return "" + a + b; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{2 1}) @@ -16915,7 +16951,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamObjectPatternSimple (0.00s) === RUN TestFuncParamRestStackSimple - compiler.go:433: 0: *goja.newFunc(&{0x40003ee1e0 f function f(arg1, ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400001e640 f function f(arg1, ...rest) { return rest; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 1}) @@ -16940,7 +16976,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamRestStackSimple (0.00s) === RUN TestFuncParamRestStashSimple - compiler.go:433: 0: *goja.newFunc(&{0x40003ee410 f function f(arg1, ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400001e870 f function f(arg1, ...rest) { eval("true"); return rest; } 1 false}) @@ -16974,7 +17010,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestFuncParamRestStashSimple (0.00s) === RUN TestRestArgsNotInStash - compiler.go:433: 0: *goja.newFunc(&{0x40003ee7d0 f function f(...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400001ecd0 f function f(...rest) { () => rest; return rest.length; } 0 false}) @@ -16982,7 +17018,7 @@ compiler.go:433: > 1: goja.createArgsRestStack(0) compiler.go:433: > 2: goja.initStashP(0) compiler.go:433: > 3: *goja.enterFuncBody(&{{map[] 0 0} 1 false false}) - compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40003ee820 () => rest 0 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x400001ed20 () => rest 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(0) compiler.go:433: >> 2: goja._ret({}) @@ -17000,7 +17036,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRestArgsNotInStash (0.00s) === RUN TestRestArgsInStash - compiler.go:433: 0: *goja.newFunc(&{0x40003eeb90 f function f(first, ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178280 f function f(first, ...rest) { () => first; () => rest; return rest.length; @@ -17009,12 +17045,12 @@ compiler.go:433: > 1: goja._createArgsRestStash({}) compiler.go:433: > 2: goja.initStashP(1) compiler.go:433: > 3: *goja.enterFuncBody(&{{map[] 0 0} 1 false false}) - compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40003eebe0 () => first 0 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40001782d0 () => first 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(0) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 5: goja._pop({}) - compiler.go:433: > 6: *goja.newArrowFunc(&{{0x40003eec30 () => rest 0 false}}) + compiler.go:433: > 6: *goja.newArrowFunc(&{{0x4000178320 () => rest 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(1) compiler.go:433: >> 2: goja._ret({}) @@ -17032,7 +17068,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRestArgsInStash (0.00s) === RUN TestRestArgsInStashFwdRef - compiler.go:433: 0: *goja.newFunc(&{0x40003ef0e0 f function f(first = eval(), ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178690 f function f(first = eval(), ...rest) { () => first; () => rest; return rest.length === 1 && rest[0] === 2; @@ -17051,12 +17087,12 @@ compiler.go:433: > 11: goja._createArgsRestStash({}) compiler.go:433: > 12: goja.initStashP(2) compiler.go:433: > 13: *goja.enterFuncBody(&{{map[] 0 0} 1 false true}) - compiler.go:433: > 14: *goja.newArrowFunc(&{{0x40003ef130 () => first 0 false}}) + compiler.go:433: > 14: *goja.newArrowFunc(&{{0x40001786e0 () => first 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(0) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 15: goja._pop({}) - compiler.go:433: > 16: *goja.newArrowFunc(&{{0x40003ef180 () => rest 0 false}}) + compiler.go:433: > 16: *goja.newArrowFunc(&{{0x4000178730 () => rest 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(2) compiler.go:433: >> 2: goja._ret({}) @@ -17082,7 +17118,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRestArgsInStashFwdRef (0.00s) === RUN TestFuncParamRestPattern - compiler.go:433: 0: *goja.newFunc(&{0x40003ef4a0 f function f(arg1, ...{0: rest1, 1: rest2}) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178a00 f function f(arg1, ...{0: rest1, 1: rest2}) { return ""+arg1+" "+rest1+" "+rest2; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{2 1}) @@ -17123,7 +17159,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamRestPattern (0.00s) === RUN TestFuncParamForwardRef - compiler.go:433: 0: *goja.newFunc(&{0x40003ef6d0 f function f(a = b + 1, b) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178c30 f function f(a = b + 1, b) { return ""+a+" "+b; } 0 false}) compiler.go:433: > 0: *goja.enterFunc1(&{map[] 2 2 1 1 false}) @@ -17154,7 +17190,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamForwardRef (0.00s) === RUN TestFuncParamForwardRefMissing - compiler.go:433: 0: *goja.newFunc(&{0x40003efa40 f function f(a = b + 1, b) { + compiler.go:433: 0: *goja.newFunc(&{0x40004f0690 f function f(a = b + 1, b) { return ""+a+" "+b; } 0 false}) compiler.go:433: > 0: *goja.enterFunc1(&{map[] 2 2 1 1 false}) @@ -17179,7 +17215,7 @@ compiler.go:433: 2: goja.loadDynamic(assert) compiler.go:433: 3: goja.getPropCallee(throws) compiler.go:433: 4: goja.loadDynamic(ReferenceError) - compiler.go:433: 5: *goja.newFunc(&{0x40003efa90 function() { + compiler.go:433: 5: *goja.newFunc(&{0x40004f06e0 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17194,7 +17230,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamForwardRefMissing (0.00s) === RUN TestFuncParamInnerRef - compiler.go:433: 0: *goja.newFunc(&{0x40003efdb0 f function f(a = inner) { + compiler.go:433: 0: *goja.newFunc(&{0x40004f0a00 f function f(a = inner) { var inner = 42; return a; } 0 false}) @@ -17212,7 +17248,7 @@ compiler.go:433: 2: goja.loadDynamic(assert) compiler.go:433: 3: goja.getPropCallee(throws) compiler.go:433: 4: goja.loadDynamic(ReferenceError) - compiler.go:433: 5: *goja.newFunc(&{0x40003efe00 function() { + compiler.go:433: 5: *goja.newFunc(&{0x40004f0a50 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17227,7 +17263,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamInnerRef (0.00s) === RUN TestFuncParamInnerRefEval - compiler.go:433: 0: *goja.newFunc(&{0x4000270190 f function f(a = eval("inner")) { + compiler.go:433: 0: *goja.newFunc(&{0x40004f0d20 f function f(a = eval("inner")) { var inner = 42; return a; } 0 false}) @@ -17252,7 +17288,7 @@ compiler.go:433: 2: goja.loadDynamic(assert) compiler.go:433: 3: goja.getPropCallee(throws) compiler.go:433: 4: goja.loadDynamic(ReferenceError) - compiler.go:433: 5: *goja.newFunc(&{0x40002701e0 function() { + compiler.go:433: 5: *goja.newFunc(&{0x40004f0d70 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17267,7 +17303,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamInnerRefEval (0.00s) === RUN TestFuncParamCalleeName - compiler.go:433: 0: *goja.newFunc(&{0x40002707d0 f function f(a = f) { + compiler.go:433: 0: *goja.newFunc(&{0x40004f1040 f function f(a = f) { var f; return f; } 0 false}) @@ -17288,7 +17324,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamCalleeName (0.00s) === RUN TestFuncParamVarCopy - compiler.go:433: 0: *goja.newFunc(&{0x4000270b90 f function f(a = f) { + compiler.go:433: 0: *goja.newFunc(&{0x40001781e0 f function f(a = f) { var a; return a; } 0 false}) @@ -17311,7 +17347,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamVarCopy (0.00s) === RUN TestFuncParamScope - compiler.go:433: 0: *goja.newFunc(&{0x4000271310 f function f( + compiler.go:433: 0: *goja.newFunc(&{0x4000178550 f function f( _ = probe1 = function() { return x; }, __ = (eval('var x = "inside";'), probe2 = function() { return x; }) ) { @@ -17325,7 +17361,7 @@ compiler.go:433: > 6: goja.loadStashLex(0) compiler.go:433: > 7: goja.jdefP(5) compiler.go:433: > 8: goja.resolveVar1(probe1) - compiler.go:433: > 9: *goja.newFunc(&{0x40002713b0 probe1 function() { return x; } 0 false}) + compiler.go:433: > 9: *goja.newFunc(&{0x40001785a0 probe1 function() { return x; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadDynamic(x) compiler.go:433: >> 2: goja._ret({}) @@ -17338,7 +17374,7 @@ compiler.go:433: > 16: goja.callEval(1) compiler.go:433: > 17: goja._pop({}) compiler.go:433: > 18: goja.resolveVar1(probe2) - compiler.go:433: > 19: *goja.newFunc(&{0x4000271400 probe2 function() { return x; } 0 false}) + compiler.go:433: > 19: *goja.newFunc(&{0x40001785f0 probe2 function() { return x; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadDynamic(x) compiler.go:433: >> 2: goja._ret({}) @@ -17366,11 +17402,11 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamScope (0.00s) === RUN TestDefParamsStackPtr - compiler.go:433: 0: *goja.newFunc(&{0x400001e8c0 A function A() {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000178af0 A function A() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001e910 D function D(message = '') { + compiler.go:433: 1: *goja.newFunc(&{0x4000178b40 D function D(message = '') { var C = A.B; C([1,2,3]); } 0 false}) @@ -17398,7 +17434,7 @@ compiler.go:433: > 21: goja._ret({}) compiler.go:433: 2: *goja.bindGlobal(&{[] [A D] [] [] false}) compiler.go:433: 3: goja.loadDynamic(A) - compiler.go:433: 4: *goja.newFunc(&{0x400001e9b0 function () {} 0 false}) + compiler.go:433: 4: *goja.newFunc(&{0x4000178b90 function () {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -17410,7 +17446,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDefParamsStackPtr (0.00s) === RUN TestNestedVariadicCalls - compiler.go:433: 0: *goja.newFunc(&{0x4000271900 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000178f00 f function f() { return Array.prototype.join.call(arguments, ","); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -17447,7 +17483,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestNestedVariadicCalls (0.00s) === RUN TestVariadicNew - compiler.go:433: 0: *goja.newFunc(&{0x4000271bd0 C function C() { + compiler.go:433: 0: *goja.newFunc(&{0x40001791d0 C function C() { this.res = Array.prototype.join.call(arguments, ","); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -17493,11 +17529,11 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestVariadicNew (0.00s) === RUN TestVariadicUseStackVars - compiler.go:433: 0: *goja.newFunc(&{0x40002240a0 A function A(message) { return message; } 1 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000179540 A function A(message) { return message; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002240f0 B function B(...args){ + compiler.go:433: 1: *goja.newFunc(&{0x4000179590 B function B(...args){ return A(...args); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) @@ -17520,7 +17556,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestVariadicUseStackVars (0.00s) === RUN TestCatchParamPattern - compiler.go:433: 0: *goja.newFunc(&{0x4000224320 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000179810 f function f() { let x = 3; try { throw {a: 1, b: 2}; @@ -17588,14 +17624,14 @@ === RUN TestArrowBoxedThis compiler.go:433: 0: *goja.bindGlobal(&{[context] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(fn) - compiler.go:433: 2: *goja.newFunc(&{0x4000224960 fn function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000179e50 fn function() { return (arg) => { var local; context = this; }; } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 0 1 false false}) compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.loadStack(0) compiler.go:433: > 3: goja.initStashP(0) - compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40002249b0 (arg) => { var local; context = this; } 1 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x4000179ea0 (arg) => { var local; context = this; } 1 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{1 1}) compiler.go:433: >> 1: goja.resolveVar1(context) compiler.go:433: >> 2: goja.loadStash(0) @@ -17617,7 +17653,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArrowBoxedThis (0.00s) === RUN TestParameterOverride - compiler.go:433: 0: *goja.newFunc(&{0x4000224c30 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x400001e820 f function f(arg) { var arg = arg || "default" return arg } 1 false}) @@ -17676,7 +17712,7 @@ compiler.go:433: 1: goja._loadUndef({}) compiler.go:433: 2: goja.initGlobalP(res) compiler.go:433: 3: goja._newObject({}) - compiler.go:433: 4: *goja.newMethod(&{{0x4000225b80 tmpl tmpl() { + compiler.go:433: 4: *goja.newMethod(&{{0x400001fae0 tmpl tmpl() { res = this; return () => {}; } 0 false} 1}) @@ -17685,7 +17721,7 @@ compiler.go:433: > 2: goja.resolveVar1(res) compiler.go:433: > 3: goja.loadStack(0) compiler.go:433: > 4: goja._putValueP({}) - compiler.go:433: > 5: *goja.newArrowFunc(&{{0x4000225bd0 () => {} 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x400001fb30 () => {} 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) @@ -17696,7 +17732,7 @@ compiler.go:433: 8: goja.loadDynamic(o) compiler.go:433: 9: goja.getPropCallee(tmpl) compiler.go:433: 10: goja.call(0) - compiler.go:433: 11: *goja.getTaggedTmplObject(&{[0x400029a570] [0x400029a5a0]}) + compiler.go:433: 11: *goja.getTaggedTmplObject(&{[0x4000124390] [0x40001243c0]}) compiler.go:433: 12: goja.call(1) compiler.go:433: 13: goja._pop({}) compiler.go:433: 14: goja.loadDynamic(res) @@ -17707,15 +17743,15 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTaggedTemplate (0.00s) === RUN TestDuplicateGlobalFunc - compiler.go:433: 0: *goja.newFunc(&{0x400049a320 b function b(){ return "b" } 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x40004f00f0 b function b(){ return "b" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({b}) compiler.go:433: > 2: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400049a370 c function c(){ return "c" } 0 false}) + compiler.go:433: 1: *goja.newFunc(&{0x40004f0140 c function c(){ return "c" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({c}) compiler.go:433: > 2: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x400049a3c0 a function a(){} 0 false}) + compiler.go:433: 2: *goja.newFunc(&{0x40004f0190 a function a(){} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -17727,7 +17763,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDuplicateGlobalFunc (0.00s) === RUN TestDuplicateFunc - compiler.go:433: 0: *goja.newFunc(&{0x400049a870 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40004f1310 f function f() { function a(){} function b(){ return "b" } function c(){ return "c" } @@ -17735,22 +17771,22 @@ return b(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{3 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x400049a8c0 a function a(){} 0 false}) + compiler.go:433: > 1: *goja.newFunc(&{0x40004f1360 a function a(){} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 2: goja.initStackP(1) - compiler.go:433: > 3: *goja.newFunc(&{0x400049a910 b function b(){ return "b" } 0 false}) + compiler.go:433: > 3: *goja.newFunc(&{0x40004f13b0 b function b(){ return "b" } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({b}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 4: goja.initStackP(2) - compiler.go:433: > 5: *goja.newFunc(&{0x400049a960 c function c(){ return "c" } 0 false}) + compiler.go:433: > 5: *goja.newFunc(&{0x40004f1400 c function c(){ return "c" } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({c}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 6: goja.initStackP(3) - compiler.go:433: > 7: *goja.newFunc(&{0x400049a9b0 a function a(){} 0 false}) + compiler.go:433: > 7: *goja.newFunc(&{0x40004f1450 a function a(){} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) @@ -17769,7 +17805,7 @@ === RUN TestSrcLocations compiler.go:433: 0: *goja.bindGlobal(&{[] [] [i] [] false}) compiler.go:433: 1: goja._newObject({}) - compiler.go:433: 2: *goja.newMethod(&{{0x400049ad70 valueOf valueOf() { + compiler.go:433: 2: *goja.newMethod(&{{0x40004f1810 valueOf valueOf() { throw new Error(); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17819,7 +17855,7 @@ compiler.go:433: 41: goja.loadDynamic(globalThis) compiler.go:433: 42: goja.loadVal({x}) compiler.go:433: 43: goja._newObject({}) - compiler.go:433: 44: *goja.newMethod(&{{0x400049adc0 get get() { + compiler.go:433: 44: *goja.newMethod(&{{0x40004f1860 get get() { throw new Error(); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17829,7 +17865,7 @@ compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 45: *goja.defineMethodKeyed(&{get true}) - compiler.go:433: 46: *goja.newMethod(&{{0x400049ae10 set set() { + compiler.go:433: 46: *goja.newMethod(&{{0x40004f18b0 set set() { throw new Error(); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18101,7 +18137,7 @@ compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 === RUN TestConstantFolding/default_function_parameter - compiler.go:433: 0: *goja.newFunc(&{0x400049be00 f function f(arg = 1 + 2) {return arg} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000425180 f function f(arg = 1 + 2) {return arg} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja.jdefP(3) @@ -18117,7 +18153,7 @@ compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 === RUN TestConstantFolding/return - compiler.go:433: 0: *goja.newFunc(&{0x400031a140 f function f() {return 1 + 2} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x40004255e0 f function f() {return 1 + 2} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({3}) compiler.go:433: > 2: goja._ret({}) @@ -18127,12 +18163,12 @@ compiler.go:433: 4: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestConstantFolding (0.01s) +--- PASS: TestConstantFolding (0.00s) --- PASS: TestConstantFolding/lexical_binding (0.00s) --- PASS: TestConstantFolding/var_binding (0.00s) --- PASS: TestConstantFolding/assignment (0.00s) --- PASS: TestConstantFolding/object_pattern (0.00s) - --- PASS: TestConstantFolding/array_pattern (0.01s) + --- PASS: TestConstantFolding/array_pattern (0.00s) --- PASS: TestConstantFolding/object_literal (0.00s) --- PASS: TestConstantFolding/array_literal (0.00s) --- PASS: TestConstantFolding/default_function_parameter (0.00s) @@ -18143,7 +18179,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(throws) compiler.go:433: 2: goja.loadDynamic(ReferenceError) - compiler.go:433: 3: *goja.newArrowFunc(&{{0x400031ac80 () => { + compiler.go:433: 3: *goja.newArrowFunc(&{{0x40004fc410 () => { a = 1; let a; } 0 false}}) @@ -18159,7 +18195,7 @@ compiler.go:433: 6: goja.loadDynamic(assert) compiler.go:433: 7: goja.getPropCallee(throws) compiler.go:433: 8: goja.loadDynamic(ReferenceError) - compiler.go:433: 9: *goja.newArrowFunc(&{{0x400031acd0 () => { + compiler.go:433: 9: *goja.newArrowFunc(&{{0x40004fc460 () => { ({a, b} = {a: 1, b: 2}); let a, b; } 0 false}}) @@ -18188,7 +18224,7 @@ compiler.go:433: 12: goja.loadDynamic(assert) compiler.go:433: 13: goja.getPropCallee(throws) compiler.go:433: 14: goja.loadDynamic(ReferenceError) - compiler.go:433: 15: *goja.newArrowFunc(&{{0x400031ad20 () => { + compiler.go:433: 15: *goja.newArrowFunc(&{{0x40004fc4b0 () => { (function() { eval(""); ({a} = {a: 1}); @@ -18197,7 +18233,7 @@ } 0 false}}) compiler.go:433: > 0: *goja.enterFunc(&{map[a:0] 1 0 0 2 true false}) compiler.go:433: > 1: goja._loadUndef({}) - compiler.go:433: > 2: *goja.newFunc(&{0x400031ad70 function() { + compiler.go:433: > 2: *goja.newFunc(&{0x40004fc500 function() { eval(""); ({a} = {a: 1}); } 0 false}) @@ -18232,7 +18268,7 @@ compiler.go:433: 18: goja.loadDynamic(assert) compiler.go:433: 19: goja.getPropCallee(throws) compiler.go:433: 20: goja.loadDynamic(ReferenceError) - compiler.go:433: 21: *goja.newArrowFunc(&{{0x400031adc0 () => { + compiler.go:433: 21: *goja.newArrowFunc(&{{0x40004fc550 () => { const ctx = {x: 1}; function t() { delete ctx.x; @@ -18247,7 +18283,7 @@ return ctx.x; } 0 false}}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 2 0 0 2 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x400031ae10 t function t() { + compiler.go:433: > 1: *goja.newFunc(&{0x40004fc5a0 t function t() { delete ctx.x; return 42; } 0 false}) @@ -18265,7 +18301,7 @@ compiler.go:433: > 7: goja.loadStashLex(1) compiler.go:433: > 8: goja._enterWith({}) compiler.go:433: > 9: goja._loadUndef({}) - compiler.go:433: > 10: *goja.newFunc(&{0x400031ae60 function() { + compiler.go:433: > 10: *goja.newFunc(&{0x40004fc5f0 function() { 'use strict'; ({x} = {x: t()}); } 0 true}) @@ -18293,7 +18329,7 @@ compiler.go:433: 24: goja.loadDynamic(assert) compiler.go:433: 25: goja.getPropCallee(throws) compiler.go:433: 26: goja.loadDynamic(ReferenceError) - compiler.go:433: 27: *goja.newArrowFunc(&{{0x400031aeb0 () => { + compiler.go:433: 27: *goja.newArrowFunc(&{{0x40004fc640 () => { const ctx = {x: 1}; function t() { delete ctx.x; @@ -18314,7 +18350,7 @@ return ctx.x; } 0 false}}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 2 0 0 2 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x400031af00 t function t() { + compiler.go:433: > 1: *goja.newFunc(&{0x40004fc690 t function t() { delete ctx.x; return 42; } 0 false}) @@ -18332,7 +18368,7 @@ compiler.go:433: > 7: goja.loadStashLex(1) compiler.go:433: > 8: goja._enterWith({}) compiler.go:433: > 9: goja._loadUndef({}) - compiler.go:433: > 10: *goja.newFunc(&{0x400031af50 function() { + compiler.go:433: > 10: *goja.newFunc(&{0x40004fc6e0 function() { 'use strict'; const src = {}; Object.defineProperty(src, "x", { @@ -18350,7 +18386,7 @@ compiler.go:433: >> 5: goja.loadStackLex(1) compiler.go:433: >> 6: goja.loadVal({x}) compiler.go:433: >> 7: goja._newObject({}) - compiler.go:433: >> 8: *goja.newMethod(&{{0x400031afa0 get get() { + compiler.go:433: >> 8: *goja.newMethod(&{{0x40004fc730 get get() { return t(); } 0 true} 1}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -18433,7 +18469,7 @@ === RUN TestObjectLiteralSuper compiler.go:433: 0: *goja.bindGlobal(&{[] [] [] [proto o] false}) compiler.go:433: 1: goja._newObject({}) - compiler.go:433: 2: *goja.newMethod(&{{0x400001edc0 m m() { + compiler.go:433: 2: *goja.newMethod(&{{0x40004fce60 m m() { return 40; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18442,7 +18478,7 @@ compiler.go:433: 3: *goja.defineMethodKeyed(&{m true}) compiler.go:433: 4: goja.initGlobalP(proto) compiler.go:433: 5: goja._newObject({}) - compiler.go:433: 6: *goja.newMethod(&{{0x400001ee10 m m() { + compiler.go:433: 6: *goja.newMethod(&{{0x40004fceb0 m m() { return super.m() + 2; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18465,7 +18501,7 @@ compiler.go:433: 15: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestObjectLiteralSuper (0.00s) +--- PASS: TestObjectLiteralSuper (0.01s) === RUN TestClassCaptureThisInFieldInit compiler.go:433: 0: *goja.bindGlobal(&{[] [] [capture C c] [] false}) compiler.go:433: 1: goja._loadUndef({}) @@ -18473,11 +18509,11 @@ compiler.go:433: 3: goja.jump(1) compiler.go:433: 4: *goja.newClass(&{ C class C { a = () => this - } 0x400001f040 [] [] 0 0 0 false}) + } 0x40004fd0e0 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 0 4 false false}) compiler.go:433: > 1: goja.initStash(0) - compiler.go:433: > 2: *goja.newArrowFunc(&{{0x400001f0e0 a () => this 0 true}}) + compiler.go:433: > 2: *goja.newArrowFunc(&{{0x40004fd130 a () => this 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -18504,7 +18540,7 @@ compiler.go:433: 3: goja.jump(1) compiler.go:433: 4: *goja.newClass(&{ C class C { a = this - } 0x400001f540 [] [] 0 0 0 false}) + } 0x40004fd360 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadStack(0) compiler.go:433: > 1: goja.definePropKeyed(a) @@ -18527,12 +18563,12 @@ compiler.go:433: 1: goja._loadUndef({}) compiler.go:433: 2: goja.initGlobalP(capture) compiler.go:433: 3: goja.jump(1) - compiler.go:433: 4: *goja.newStaticFieldInit(&{0x400001f770 0 0}) + compiler.go:433: 4: *goja.newStaticFieldInit(&{0x40004fd590 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 0 4 false false}) compiler.go:433: > 1: goja.initStash(0) compiler.go:433: > 2: goja.resolveVar1Strict(capture) - compiler.go:433: > 3: *goja.newArrowFunc(&{{0x400001f810 capture () => this 0 true}}) + compiler.go:433: > 3: *goja.newArrowFunc(&{{0x40004fd5e0 capture () => this 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -18559,7 +18595,7 @@ === RUN TestClassDynCaptureThisInStaticFieldInit compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C] [] false}) compiler.go:433: 1: *goja.enterBlock(&{map[C:2684354560] 1 0}) - compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400001fa40 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x40004fd950 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824] 1 0 0 4 false false}) compiler.go:433: > 1: goja.initStash(0) @@ -18586,7 +18622,7 @@ === RUN TestCompileClass compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C c] [] false}) compiler.go:433: 1: goja.jump(1) - compiler.go:433: 2: *goja.newStaticFieldInit(&{0x40003aa370 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400031c280 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadDynamic(Math) compiler.go:433: > 1: goja.getPropCallee(random) @@ -18595,7 +18631,7 @@ compiler.go:433: > 4: goja._op_lt({}) compiler.go:433: > 5: goja.definePropKeyed(A) compiler.go:433: > 6: goja._dup({}) - compiler.go:433: > 7: *goja.newMethod(&{{0x40003aa3c0 { + compiler.go:433: > 7: *goja.newMethod(&{{0x400031c2d0 { this.supername = super.name; } 0 true} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -18610,7 +18646,7 @@ compiler.go:433: > 9: goja._pop({}) compiler.go:430: > ---- compiler.go:433: 3: goja.loadDynamic(Error) - compiler.go:433: 4: *goja.newDerivedClass(&{{0x40003aa190 C class C extends Error { + compiler.go:433: 4: *goja.newDerivedClass(&{{0x400031c0a0 C class C extends Error { a = true; b = 1; ["b".toUpperCase()] = 2 @@ -18631,7 +18667,7 @@ static { this.supername = super.name; } - } 0x40003aa320 [] [] 0 0 0 false}}) + } 0x400031c230 [] [] 0 0 0 false}}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({true}) compiler.go:433: > 1: goja.definePropKeyed(a) @@ -18657,27 +18693,27 @@ compiler.go:433: 6: goja.getPropCallee(toUpperCase) compiler.go:433: 7: goja.call(0) compiler.go:433: 8: goja.defineComputedKey(2) - compiler.go:433: 9: *goja.newMethod(&{{0x40003aa1e0 M M() { + compiler.go:433: 9: *goja.newMethod(&{{0x400031c0f0 M M() { } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 10: *goja.defineMethodKeyed(&{M false}) - compiler.go:433: 11: *goja.newMethod(&{{0x40003aa230 M1 M1() { + compiler.go:433: 11: *goja.newMethod(&{{0x400031c140 M1 M1() { } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 12: *goja.defineMethodKeyed(&{M1 false}) compiler.go:433: 13: goja.dupN(1) - compiler.go:433: 14: *goja.newMethod(&{{0x40003aa280 m m() { + compiler.go:433: 14: *goja.newMethod(&{{0x400031c190 m m() { //return C.a; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 15: *goja.defineMethodKeyed(&{m false}) - compiler.go:433: 16: *goja.newMethod(&{{0x40003aa2d0 m1 m1() { + compiler.go:433: 16: *goja.newMethod(&{{0x400031c1e0 m1 m1() { return true; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18724,7 +18760,7 @@ compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C c] [] false}) compiler.go:433: 1: *goja.enterBlock(&{map[C:2684354560] 1 0}) compiler.go:433: 2: goja.loadDynamic(Error) - compiler.go:433: 3: *goja.newDerivedClass(&{{0x40003aa6e0 C class C extends Error { + compiler.go:433: 3: *goja.newDerivedClass(&{{0x400031c5f0 C class C extends Error { constructor() { eval("super()"); } @@ -18743,7 +18779,7 @@ compiler.go:433: > 8: goja._loadUndef({}) compiler.go:433: > 9: goja.cret(0) compiler.go:433: 4: goja.dupN(1) - compiler.go:433: 5: *goja.newMethod(&{{0x40003aa730 m m() { + compiler.go:433: 5: *goja.newMethod(&{{0x400031c640 m m() { return eval("super.name"); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:2147483649] 2 0 0 3 true false}) @@ -18789,13 +18825,13 @@ thisSet = this; this._p = v; } - } 0x40003ab2c0 [] [] 0 0 0 false}) + } 0x400031c820 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({0}) compiler.go:433: > 1: goja.definePropKeyed(_p) compiler.go:430: > ---- compiler.go:433: 7: goja.dupN(1) - compiler.go:433: 8: *goja.newMethod(&{{0x40003ab220 p get p() { + compiler.go:433: 8: *goja.newMethod(&{{0x400031c780 p get p() { thisGet = this; return this._p; } 0 true} 1}) @@ -18807,7 +18843,7 @@ compiler.go:433: > 5: goja.getProp(_p) compiler.go:433: > 6: goja._ret({}) compiler.go:433: 9: *goja.defineGetterKeyed(&{p false}) - compiler.go:433: 10: *goja.newMethod(&{{0x40003ab270 p set p(v) { + compiler.go:433: 10: *goja.newMethod(&{{0x400031c7d0 p set p(v) { thisSet = this; this._p = v; } 1 true} 1}) @@ -18856,7 +18892,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 18: goja.dupN(1) - compiler.go:433: 19: *goja.newMethod(&{{0x40003ab310 g g() { + compiler.go:433: 19: *goja.newMethod(&{{0x400031c870 g g() { return super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18865,7 +18901,7 @@ compiler.go:433: > 3: goja.getPropRecv(p) compiler.go:433: > 4: goja._ret({}) compiler.go:433: 20: *goja.defineMethodKeyed(&{g false}) - compiler.go:433: 21: *goja.newMethod(&{{0x40003ab3b0 s s(v) { + compiler.go:433: 21: *goja.newMethod(&{{0x400031c9b0 s s(v) { super.p = v; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -18876,7 +18912,7 @@ compiler.go:433: > 5: goja._loadUndef({}) compiler.go:433: > 6: goja._ret({}) compiler.go:433: 22: *goja.defineMethodKeyed(&{s false}) - compiler.go:433: 23: *goja.newMethod(&{{0x40003ab400 inc inc() { + compiler.go:433: 23: *goja.newMethod(&{{0x400031ca00 inc inc() { super.p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18889,7 +18925,7 @@ compiler.go:433: > 7: goja._loadUndef({}) compiler.go:433: > 8: goja._ret({}) compiler.go:433: 24: *goja.defineMethodKeyed(&{inc false}) - compiler.go:433: 25: *goja.newMethod(&{{0x40003ab450 incR incR() { + compiler.go:433: 25: *goja.newMethod(&{{0x400031ca50 incR incR() { return super.p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18904,7 +18940,7 @@ compiler.go:433: > 9: goja.setPropRecvStrictP(p) compiler.go:433: > 10: goja._ret({}) compiler.go:433: 26: *goja.defineMethodKeyed(&{incR false}) - compiler.go:433: 27: *goja.newMethod(&{{0x40003ab4a0 inc1 inc1() { + compiler.go:433: 27: *goja.newMethod(&{{0x400031caa0 inc1 inc1() { ++super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18917,7 +18953,7 @@ compiler.go:433: > 7: goja._loadUndef({}) compiler.go:433: > 8: goja._ret({}) compiler.go:433: 28: *goja.defineMethodKeyed(&{inc1 false}) - compiler.go:433: 29: *goja.newMethod(&{{0x40003ab4f0 inc1R inc1R() { + compiler.go:433: 29: *goja.newMethod(&{{0x400031caf0 inc1R inc1R() { return ++super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18930,7 +18966,7 @@ compiler.go:433: > 7: goja.setPropRecvStrict(p) compiler.go:433: > 8: goja._ret({}) compiler.go:433: 30: *goja.defineMethodKeyed(&{inc1R false}) - compiler.go:433: 31: *goja.newMethod(&{{0x40003ab540 unary unary() { + compiler.go:433: 31: *goja.newMethod(&{{0x400031cb40 unary unary() { return +super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18940,7 +18976,7 @@ compiler.go:433: > 4: goja._plus({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 32: *goja.defineMethodKeyed(&{unary false}) - compiler.go:433: 33: *goja.newMethod(&{{0x40003ab590 pattern pattern() { + compiler.go:433: 33: *goja.newMethod(&{{0x400031cb90 pattern pattern() { [super.p] = [9]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19161,7 +19197,7 @@ compiler.go:433: 235: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSuperRefDot (0.01s) +--- PASS: TestSuperRefDot (0.00s) === RUN TestPrivateRefDot compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C o] [] false}) compiler.go:433: 1: goja.jump(1) @@ -19191,13 +19227,13 @@ pattern() { [this.#p] = [9]; } - } 0x40003abe00 [] [] 1 0 0 true}) + } 0x400031d400 [] [] 1 0 0 true}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({0}) compiler.go:433: > 1: *goja.definePrivateProp(&{0}) compiler.go:430: > ---- compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x40003abbd0 g g() { + compiler.go:433: 4: *goja.newMethod(&{{0x400031d1d0 g g() { return this.#p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19205,7 +19241,7 @@ compiler.go:433: > 2: *goja.getPrivatePropRes(&{p 0 0 false false}) compiler.go:433: > 3: goja._ret({}) compiler.go:433: 5: *goja.defineMethodKeyed(&{g false}) - compiler.go:433: 6: *goja.newMethod(&{{0x40003abc20 s s(v) { + compiler.go:433: 6: *goja.newMethod(&{{0x400031d220 s s(v) { this.#p = v; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -19215,7 +19251,7 @@ compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 7: *goja.defineMethodKeyed(&{s false}) - compiler.go:433: 8: *goja.newMethod(&{{0x40003abc70 inc inc() { + compiler.go:433: 8: *goja.newMethod(&{{0x400031d270 inc inc() { this.#p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19227,7 +19263,7 @@ compiler.go:433: > 6: goja._loadUndef({}) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 9: *goja.defineMethodKeyed(&{inc false}) - compiler.go:433: 10: *goja.newMethod(&{{0x40003abcc0 incR incR() { + compiler.go:433: 10: *goja.newMethod(&{{0x400031d2c0 incR incR() { return this.#p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19241,7 +19277,7 @@ compiler.go:433: > 8: *goja.setPrivatePropResP(&{p 0 0 false false}) compiler.go:433: > 9: goja._ret({}) compiler.go:433: 11: *goja.defineMethodKeyed(&{incR false}) - compiler.go:433: 12: *goja.newMethod(&{{0x40003abd10 inc1 inc1() { + compiler.go:433: 12: *goja.newMethod(&{{0x400031d310 inc1 inc1() { ++this.#p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19253,7 +19289,7 @@ compiler.go:433: > 6: goja._loadUndef({}) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 13: *goja.defineMethodKeyed(&{inc1 false}) - compiler.go:433: 14: *goja.newMethod(&{{0x40003abd60 inc1R inc1R() { + compiler.go:433: 14: *goja.newMethod(&{{0x400031d360 inc1R inc1R() { return ++this.#p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19265,7 +19301,7 @@ compiler.go:433: > 6: *goja.setPrivatePropRes(&{p 0 0 false false}) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 15: *goja.defineMethodKeyed(&{inc1R false}) - compiler.go:433: 16: *goja.newMethod(&{{0x40003abdb0 pattern pattern() { + compiler.go:433: 16: *goja.newMethod(&{{0x400031d3b0 pattern pattern() { [this.#p] = [9]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19413,13 +19449,13 @@ pattern() { eval("[this.#p] = [9]"); } - } 0x400031a550 [p] [] 1 0 0 true}) + } 0x400031da90 [p] [] 1 0 0 true}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({0}) compiler.go:433: > 1: *goja.definePrivateProp(&{0}) compiler.go:430: > ---- compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x400031a3c0 g g() { + compiler.go:433: 4: *goja.newMethod(&{{0x400031d900 g g() { return eval("this.#p"); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:2147483649] 2 0 0 3 true false}) @@ -19431,7 +19467,7 @@ compiler.go:433: > 6: goja.callEvalStrict(1) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 5: *goja.defineMethodKeyed(&{g false}) - compiler.go:433: 6: *goja.newMethod(&{{0x400031a410 s s(v) { + compiler.go:433: 6: *goja.newMethod(&{{0x400031d950 s s(v) { eval("this.#p = v"); } 1 true} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741825 arguments:2147483650 v:1073741824] 3 0 1 3 true false}) @@ -19445,7 +19481,7 @@ compiler.go:433: > 8: goja._loadUndef({}) compiler.go:433: > 9: goja._ret({}) compiler.go:433: 7: *goja.defineMethodKeyed(&{s false}) - compiler.go:433: 8: *goja.newMethod(&{{0x400031a460 incR incR() { + compiler.go:433: 8: *goja.newMethod(&{{0x400031d9a0 incR incR() { return eval("this.#p++"); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:2147483649] 2 0 0 3 true false}) @@ -19457,7 +19493,7 @@ compiler.go:433: > 6: goja.callEvalStrict(1) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 9: *goja.defineMethodKeyed(&{incR false}) - compiler.go:433: 10: *goja.newMethod(&{{0x400031a4b0 inc1R inc1R() { + compiler.go:433: 10: *goja.newMethod(&{{0x400031d9f0 inc1R inc1R() { return eval("++this.#p"); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:2147483649] 2 0 0 3 true false}) @@ -19469,7 +19505,7 @@ compiler.go:433: > 6: goja.callEvalStrict(1) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 11: *goja.defineMethodKeyed(&{inc1R false}) - compiler.go:433: 12: *goja.newMethod(&{{0x400031a500 pattern pattern() { + compiler.go:433: 12: *goja.newMethod(&{{0x400031da40 pattern pattern() { eval("[this.#p] = [9]"); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:2147483649] 2 0 0 3 true false}) @@ -19566,7 +19602,7 @@ compiler.go:433: 94: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 10 ---- PASS: TestPrivateRefDotEval (0.00s) +--- PASS: TestPrivateRefDotEval (0.01s) === RUN TestSuperRefDotCallee compiler.go:433: 0: *goja.bindGlobal(&{[] [] [P C o] [] false}) compiler.go:433: 1: goja.jump(1) @@ -19578,13 +19614,13 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x400031b1d0 p get p() { + compiler.go:433: 4: *goja.newMethod(&{{0x4000178820 p get p() { return function() { return this; }; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x400031b220 function() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000178870 function() { return this; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -19603,7 +19639,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 12: goja.dupN(1) - compiler.go:433: 13: *goja.newMethod(&{{0x400031b310 m m() { + compiler.go:433: 13: *goja.newMethod(&{{0x40001788c0 m m() { return super.p(); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19647,13 +19683,13 @@ thisSet = this; this._p = v; } - } 0x400031bc70 [] [] 0 0 0 false}) + } 0x4000179220 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({0}) compiler.go:433: > 1: goja.definePropKeyed(_p) compiler.go:430: > ---- compiler.go:433: 9: goja.dupN(1) - compiler.go:433: 10: *goja.newMethod(&{{0x400031bbd0 p get p() { + compiler.go:433: 10: *goja.newMethod(&{{0x4000179180 p get p() { thisGet = this; return this._p; } 0 true} 1}) @@ -19665,7 +19701,7 @@ compiler.go:433: > 5: goja.getProp(_p) compiler.go:433: > 6: goja._ret({}) compiler.go:433: 11: *goja.defineGetterKeyed(&{p false}) - compiler.go:433: 12: *goja.newMethod(&{{0x400031bc20 p set p(v) { + compiler.go:433: 12: *goja.newMethod(&{{0x40001791d0 p set p(v) { thisSet = this; this._p = v; } 1 true} 1}) @@ -19711,7 +19747,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 20: goja.dupN(1) - compiler.go:433: 21: *goja.newMethod(&{{0x400031bcc0 g g() { + compiler.go:433: 21: *goja.newMethod(&{{0x4000179270 g g() { return super[PROP]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19721,7 +19757,7 @@ compiler.go:433: > 4: goja._getElemRecv({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 22: *goja.defineMethodKeyed(&{g false}) - compiler.go:433: 23: *goja.newMethod(&{{0x400031bd10 s s(v) { + compiler.go:433: 23: *goja.newMethod(&{{0x40001792c0 s s(v) { super[PROP] = v; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -19733,7 +19769,7 @@ compiler.go:433: > 6: goja._loadUndef({}) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 24: *goja.defineMethodKeyed(&{s false}) - compiler.go:433: 25: *goja.newMethod(&{{0x400031bd60 inc inc() { + compiler.go:433: 25: *goja.newMethod(&{{0x4000179310 inc inc() { super[PROP]++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19747,7 +19783,7 @@ compiler.go:433: > 8: goja._loadUndef({}) compiler.go:433: > 9: goja._ret({}) compiler.go:433: 26: *goja.defineMethodKeyed(&{inc false}) - compiler.go:433: 27: *goja.newMethod(&{{0x400031bdb0 incR incR() { + compiler.go:433: 27: *goja.newMethod(&{{0x4000179360 incR incR() { return super[PROP]++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19763,7 +19799,7 @@ compiler.go:433: > 10: goja._setElemRecvStrictP({}) compiler.go:433: > 11: goja._ret({}) compiler.go:433: 28: *goja.defineMethodKeyed(&{incR false}) - compiler.go:433: 29: *goja.newMethod(&{{0x400031be00 inc1 inc1() { + compiler.go:433: 29: *goja.newMethod(&{{0x40001793b0 inc1 inc1() { ++super[PROP]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19777,7 +19813,7 @@ compiler.go:433: > 8: goja._loadUndef({}) compiler.go:433: > 9: goja._ret({}) compiler.go:433: 30: *goja.defineMethodKeyed(&{inc1 false}) - compiler.go:433: 31: *goja.newMethod(&{{0x400031be50 inc1R inc1R() { + compiler.go:433: 31: *goja.newMethod(&{{0x4000179400 inc1R inc1R() { return ++super[PROP]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19791,7 +19827,7 @@ compiler.go:433: > 8: goja._setElemRecvStrict({}) compiler.go:433: > 9: goja._ret({}) compiler.go:433: 32: *goja.defineMethodKeyed(&{inc1R false}) - compiler.go:433: 33: *goja.newMethod(&{{0x400031bea0 pattern pattern() { + compiler.go:433: 33: *goja.newMethod(&{{0x4000179450 pattern pattern() { [super[PROP]] = [9]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20006,7 +20042,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSuperRefBracket (0.00s) === RUN TestSuperRefBracketEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x40003ee370 key function key() { + compiler.go:433: 0: *goja.newFunc(&{0x400001e960 key function key() { keyCallCount++; C.prototype.__proto__ = null; return "k"; @@ -20026,7 +20062,7 @@ compiler.go:433: 2: goja.loadVal({0}) compiler.go:433: 3: goja.initGlobalP(keyCallCount) compiler.go:433: 4: goja.jump(1) - compiler.go:433: 5: *goja.newClass(&{0x40003ee3c0 C class C { + compiler.go:433: 5: *goja.newClass(&{0x400001e9b0 C class C { constructor() { super[key()]++; } @@ -20047,7 +20083,7 @@ compiler.go:433: 8: goja.loadDynamic(assert) compiler.go:433: 9: goja.getPropCallee(throws) compiler.go:433: 10: goja.loadDynamic(TypeError) - compiler.go:433: 11: *goja.newArrowFunc(&{{0x40003ee410 () => new C 0 false}}) + compiler.go:433: 11: *goja.newArrowFunc(&{{0x400001ea00 () => new C 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamic(C) compiler.go:433: > 2: goja._new(0) @@ -20076,13 +20112,13 @@ } } [] [] 0 0 0 false}) compiler.go:433: 5: goja.dupN(1) - compiler.go:433: 6: *goja.newMethod(&{{0x4000270690 p get p() { + compiler.go:433: 6: *goja.newMethod(&{{0x400001ef00 p get p() { return function() { return this; }; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40002706e0 function() { + compiler.go:433: > 1: *goja.newFunc(&{0x400001ef50 function() { return this; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -20101,7 +20137,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 14: goja.dupN(1) - compiler.go:433: 15: *goja.newMethod(&{{0x4000270730 m m() { + compiler.go:433: 15: *goja.newMethod(&{{0x400001efa0 m m() { return super[PROP](); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20133,7 +20169,7 @@ compiler.go:433: 2: goja.initGlobalP(result) compiler.go:433: 3: goja.jump(1) compiler.go:433: 4: goja.loadDynamic(Object) - compiler.go:433: 5: *goja.newDerivedClass(&{{0x4000270cd0 Derived class Derived extends Object { + compiler.go:433: 5: *goja.newDerivedClass(&{{0x400001f540 Derived class Derived extends Object { constructor() { super(); result = super.constructor === Object; @@ -20178,7 +20214,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestClassNamedEval (0.00s) === RUN TestClassNonDerived - compiler.go:433: 0: *goja.newFunc(&{0x40002714a0 initF function initF() { + compiler.go:433: 0: *goja.newFunc(&{0x400001f9a0 initF function initF() { } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -20187,7 +20223,7 @@ compiler.go:433: 2: goja.jump(1) compiler.go:433: 3: *goja.newClass(&{ C class C { f = initF() - } 0x40002714f0 [] [] 0 0 0 false}) + } 0x400001f9f0 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadDynamicCallee(initF) compiler.go:433: > 1: goja.call(0) @@ -20207,7 +20243,7 @@ compiler.go:433: 2: goja.jump(1) compiler.go:433: 3: *goja.newClass(&{ class {get f() {}} [] [] 0 0 0 false}) compiler.go:433: 4: goja.dupN(1) - compiler.go:433: 5: *goja.newMethod(&{{0x4000271860 f get f() {} 0 true} 1}) + compiler.go:433: 5: *goja.newMethod(&{{0x400001fc70 f get f() {} 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -20234,7 +20270,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x4000271c20 a a() { + compiler.go:433: 4: *goja.newMethod(&{{0x40004240f0 a a() { return Error; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20254,7 +20290,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 12: goja.dupN(1) - compiler.go:433: 13: *goja.newMethod(&{{0x4000271c70 m m() { + compiler.go:433: 13: *goja.newMethod(&{{0x4000424140 m m() { class Inner extends super.a() { } return new Inner(); @@ -20295,7 +20331,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x40002242d0 a a() { + compiler.go:433: 4: *goja.newMethod(&{{0x4000424960 a a() { return Error; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20317,7 +20353,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 12: goja.dupN(1) - compiler.go:433: 13: *goja.newMethod(&{{0x4000224320 m m() { + compiler.go:433: 13: *goja.newMethod(&{{0x40004249b0 m m() { function f(cls) { return new cls(); } @@ -20325,7 +20361,7 @@ }) } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000224370 f function f(cls) { + compiler.go:433: > 1: *goja.newFunc(&{0x4000424a00 f function f(cls) { return new cls(); } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -20362,7 +20398,7 @@ === RUN TestClassReferToBinding compiler.go:433: 0: *goja.bindGlobal(&{[] [] [c] [CC] false}) compiler.go:433: 1: *goja.enterBlock(&{map[] 1 0}) - compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400049a2d0 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x40004252c0 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({40}) compiler.go:433: > 1: goja.definePropKeyed(T) @@ -20370,7 +20406,7 @@ compiler.go:433: 3: *goja.newClass(&{ C class C { static T = 40 f = C.T + 2 - } 0x400049a1e0 [] [] 0 0 0 false}) + } 0x4000424eb0 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadStashLex(0) compiler.go:433: > 1: goja.getProp(T) @@ -20394,7 +20430,7 @@ === RUN TestClassReferToBindingInStaticDecl compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C] [] false}) compiler.go:433: 1: *goja.enterBlock(&{map[] 1 0}) - compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400049a500 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x40004255e0 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadStashLex(0) compiler.go:433: > 1: goja.getProp(name) @@ -20416,7 +20452,7 @@ === RUN TestClassReferToBindingInStaticEval compiler.go:433: 0: *goja.bindGlobal(&{[] [] [] [CC] false}) compiler.go:433: 1: *goja.enterBlock(&{map[C:2684354560] 1 0}) - compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400049a730 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x40004258b0 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824] 1 0 0 4 false false}) compiler.go:433: > 1: goja.initStash(0) @@ -20442,7 +20478,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(throws) compiler.go:433: 2: goja.loadDynamic(ReferenceError) - compiler.go:433: 3: *goja.newArrowFunc(&{{0x400049ab40 () => { + compiler.go:433: 3: *goja.newArrowFunc(&{{0x4000425db0 () => { class C extends C { } } 0 false}}) @@ -20470,7 +20506,7 @@ compiler.go:433: 4: goja.jump(1) compiler.go:433: 5: *goja.newClass(&{ class {} [] [] 0 0 0 false}) compiler.go:433: 6: goja._endVariadic({}) - compiler.go:433: 7: *goja.newDerivedClass(&{{0x400049ae60 C class C extends class {} { + compiler.go:433: 7: *goja.newDerivedClass(&{{0x40004fc1e0 C class C extends class {} { constructor() { f = () => super(); f(); @@ -20480,7 +20516,7 @@ compiler.go:433: > 1: goja.loadStack(0) compiler.go:433: > 2: goja.initStashP(0) compiler.go:433: > 3: goja.resolveVar1Strict(f) - compiler.go:433: > 4: *goja.newArrowFunc(&{{0x400049aeb0 f () => super() 0 true}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40004fc230 f () => super() 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.resolveThisStash(0) compiler.go:433: >> 2: goja.superCall(0) @@ -20510,7 +20546,7 @@ compiler.go:433: 6: goja.initGlobalP(P) compiler.go:433: 7: goja.jump(1) compiler.go:433: 8: goja.loadDynamic(P) - compiler.go:433: 9: *goja.newDerivedClass(&{{0x400049b270 C class C extends P { + compiler.go:433: 9: *goja.newDerivedClass(&{{0x40004fc640 C class C extends P { constructor() { f = () => () => super(); f()(); @@ -20520,9 +20556,9 @@ compiler.go:433: > 1: goja.loadStack(0) compiler.go:433: > 2: goja.initStashP(0) compiler.go:433: > 3: goja.resolveVar1Strict(f) - compiler.go:433: > 4: *goja.newArrowFunc(&{{0x400049b2c0 f () => () => super() 0 true}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40004fc690 f () => () => super() 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: >> 1: *goja.newArrowFunc(&{{0x400049b310 () => super() 0 true}}) + compiler.go:433: >> 1: *goja.newArrowFunc(&{{0x40004fc6e0 () => super() 0 true}}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >>> 1: goja.resolveThisStash(0) compiler.go:433: >>> 2: goja.superCall(0) @@ -20558,7 +20594,7 @@ compiler.go:433: 8: goja.call(3) compiler.go:433: 9: goja._pop({}) compiler.go:433: 10: goja._newObject({}) - compiler.go:433: 11: *goja.newMethod(&{{0x400049b5e0 f f() { + compiler.go:433: 11: *goja.newMethod(&{{0x40004161e0 f f() { return eval("this"); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 3 true true}) @@ -20599,7 +20635,7 @@ compiler.go:433: 0: *goja.bindGlobal(&{[C] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(C) compiler.go:433: 2: *goja.enterBlock(&{map[] 0 0}) - compiler.go:433: 3: *goja.newStaticFieldInit(&{0x40003ee000 0 0}) + compiler.go:433: 3: *goja.newStaticFieldInit(&{0x4000416640 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824] 1 0 0 4 false false}) compiler.go:433: > 1: goja.initStash(0) @@ -20650,14 +20686,14 @@ compiler.go:433: 3: goja._loadUndef({}) compiler.go:433: 4: goja.initGlobalP(f2) compiler.go:433: 5: *goja.enterBlock(&{map[C:2684354560] 1 0}) - compiler.go:433: 6: *goja.newStaticFieldInit(&{0x40003ee640 1 0}) + compiler.go:433: 6: *goja.newStaticFieldInit(&{0x4000416be0 1 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: *goja.enterFunc(&{map[ this:1073741824] 1 0 0 4 false false}) compiler.go:433: > 1: goja.initStash(0) compiler.go:433: > 2: goja.loadVal({42}) compiler.go:433: > 3: *goja.definePrivateProp(&{0}) compiler.go:433: > 4: goja._dup({}) - compiler.go:433: > 5: *goja.newMethod(&{{0x40003ee690 { + compiler.go:433: > 5: *goja.newMethod(&{{0x4000416c30 { f2 = o => eval("o.#a"); assert.sameValue(C.#a, 42); assert.sameValue((() => C.#a)(), 42); @@ -20665,7 +20701,7 @@ compiler.go:433: >> 0: *goja.enterFunc(&{map[ this:1073741824] 1 0 0 4 true false}) compiler.go:433: >> 1: goja.initStash(0) compiler.go:433: >> 2: goja.resolveVar1Strict(f2) - compiler.go:433: >> 3: *goja.newArrowFunc(&{{0x40003ee6e0 f2 o => eval("o.#a") 1 true}}) + compiler.go:433: >> 3: *goja.newArrowFunc(&{{0x4000416c80 f2 o => eval("o.#a") 1 true}}) compiler.go:433: >>> 0: *goja.enterFunc(&{map[o:1073741824] 1 0 1 2 true false}) compiler.go:433: >>> 1: goja.loadDynamicCallee(eval) compiler.go:433: >>> 2: goja.loadVal({o.#a}) @@ -20682,7 +20718,7 @@ compiler.go:433: >> 12: goja.loadDynamic(assert) compiler.go:433: >> 13: goja.getPropCallee(sameValue) compiler.go:433: >> 14: goja._loadUndef({}) - compiler.go:433: >> 15: *goja.newArrowFunc(&{{0x40003ee780 () => C.# 0 true}}) + compiler.go:433: >> 15: *goja.newArrowFunc(&{{0x4000416d20 () => C.# 0 true}}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >>> 1: goja.loadStashLex(33554432) compiler.go:433: >>> 2: *goja.getPrivatePropRes(&{a 0 0 true false}) @@ -20697,7 +20733,7 @@ compiler.go:433: > 7: goja._pop({}) compiler.go:430: > ---- compiler.go:433: 7: goja.resolveVar1Strict(f1) - compiler.go:433: 8: *goja.newArrowFunc(&{{0x40003ee5a0 f1 o => eval("o.#a") 1 true}}) + compiler.go:433: 8: *goja.newArrowFunc(&{{0x4000416b40 f1 o => eval("o.#a") 1 true}}) compiler.go:433: > 0: *goja.enterFunc(&{map[o:1073741824] 1 0 1 2 true false}) compiler.go:433: > 1: goja.loadDynamicCallee(eval) compiler.go:433: > 2: goja.loadVal({o.#a}) @@ -20721,7 +20757,7 @@ compiler.go:433: 17: goja.loadDynamic(assert) compiler.go:433: 18: goja.getPropCallee(throws) compiler.go:433: 19: goja.loadDynamic(SyntaxError) - compiler.go:433: 20: *goja.newArrowFunc(&{{0x40003ee7d0 () => f1(C) 0 false}}) + compiler.go:433: 20: *goja.newArrowFunc(&{{0x4000416d70 () => f1(C) 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamicCallee(f1) compiler.go:433: > 2: goja.loadDynamic(C) @@ -20747,18 +20783,18 @@ compiler.go:433: 3: goja._loadUndef({}) compiler.go:433: 4: goja.initGlobalP(f2) compiler.go:433: 5: goja.jump(1) - compiler.go:433: 6: *goja.newStaticFieldInit(&{0x40003ef0e0 1 0}) + compiler.go:433: 6: *goja.newStaticFieldInit(&{0x40004174f0 1 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({42}) compiler.go:433: > 1: *goja.definePrivateProp(&{0}) compiler.go:433: > 2: goja._dup({}) - compiler.go:433: > 3: *goja.newMethod(&{{0x40003ef130 { + compiler.go:433: > 3: *goja.newMethod(&{{0x4000417540 { f2 = o => (0, eval)("o.#a"); assert.throws(SyntaxError, () => (0, eval)("C.#a")); } 0 true} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.resolveVar1Strict(f2) - compiler.go:433: >> 2: *goja.newArrowFunc(&{{0x40003ef180 f2 o => (0, eval)("o.#a") 1 true}}) + compiler.go:433: >> 2: *goja.newArrowFunc(&{{0x4000417590 f2 o => (0, eval)("o.#a") 1 true}}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: >>> 1: goja._loadUndef({}) compiler.go:433: >>> 2: goja.loadDynamic(eval) @@ -20769,7 +20805,7 @@ compiler.go:433: >> 4: goja.loadDynamic(assert) compiler.go:433: >> 5: goja.getPropCallee(throws) compiler.go:433: >> 6: goja.loadDynamic(SyntaxError) - compiler.go:433: >> 7: *goja.newArrowFunc(&{{0x40003ef1d0 () => (0, eval)("C.#a") 0 true}}) + compiler.go:433: >> 7: *goja.newArrowFunc(&{{0x40004175e0 () => (0, eval)("C.#a") 0 true}}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >>> 1: goja._loadUndef({}) compiler.go:433: >>> 2: goja.loadDynamic(eval) @@ -20784,7 +20820,7 @@ compiler.go:433: > 5: goja._pop({}) compiler.go:430: > ---- compiler.go:433: 7: goja.resolveVar1Strict(f1) - compiler.go:433: 8: *goja.newArrowFunc(&{{0x40003ef090 f1 o => (0, eval)("o.#a") 1 true}}) + compiler.go:433: 8: *goja.newArrowFunc(&{{0x40004174a0 f1 o => (0, eval)("o.#a") 1 true}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja.loadDynamic(eval) @@ -20806,7 +20842,7 @@ compiler.go:433: 15: goja.loadDynamic(assert) compiler.go:433: 16: goja.getPropCallee(throws) compiler.go:433: 17: goja.loadDynamic(SyntaxError) - compiler.go:433: 18: *goja.newArrowFunc(&{{0x40003ef220 () => f1(C) 0 false}}) + compiler.go:433: 18: *goja.newArrowFunc(&{{0x4000417630 () => f1(C) 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamicCallee(f1) compiler.go:433: > 2: goja.loadDynamic(C) @@ -20817,7 +20853,7 @@ compiler.go:433: 21: goja.loadDynamic(assert) compiler.go:433: 22: goja.getPropCallee(throws) compiler.go:433: 23: goja.loadDynamic(SyntaxError) - compiler.go:433: 24: *goja.newArrowFunc(&{{0x40003ef2c0 () => f2(C) 0 false}}) + compiler.go:433: 24: *goja.newArrowFunc(&{{0x40004176d0 () => f2(C) 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadDynamicCallee(f2) compiler.go:433: > 2: goja.loadDynamic(C) @@ -20832,7 +20868,7 @@ compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(throws) compiler.go:433: 2: goja.loadDynamic(SyntaxError) - compiler.go:433: 3: *goja.newArrowFunc(&{{0x40003ef7c0 () => { + compiler.go:433: 3: *goja.newArrowFunc(&{{0x4000417bd0 () => { class C { static #a = 42; static { @@ -20842,12 +20878,12 @@ } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: > 1: goja.jump(1) - compiler.go:433: > 2: *goja.newStaticFieldInit(&{0x40003ef810 1 0}) + compiler.go:433: > 2: *goja.newStaticFieldInit(&{0x4000417c20 1 0}) compiler.go:428: >> ---- init_fields: compiler.go:433: >> 0: goja.loadVal({42}) compiler.go:433: >> 1: *goja.definePrivateProp(&{0}) compiler.go:433: >> 2: goja._dup({}) - compiler.go:433: >> 3: *goja.newMethod(&{{0x40003ef860 { + compiler.go:433: >> 3: *goja.newMethod(&{{0x4000417c70 { Function("o", "return o.#a"); } 0 true} 1}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -20893,23 +20929,23 @@ static getter(inst) { return inst.#m(); } - } 0x4000224140 [] [] 1 2 0 true}) + } 0x4000508550 [] [] 1 2 0 true}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({42}) compiler.go:433: > 1: *goja.definePrivateProp(&{0}) compiler.go:430: > ---- compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x40003efea0 #b get #b() {} 0 true} 1}) + compiler.go:433: 4: *goja.newMethod(&{{0x4000508370 #b get #b() {} 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 5: *goja.definePrivateGetter(&{{0 3}}) - compiler.go:433: 6: *goja.newMethod(&{{0x40003efef0 #b set #b(_) {} 1 true} 1}) + compiler.go:433: 6: *goja.newMethod(&{{0x40005083c0 #b set #b(_) {} 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 7: *goja.definePrivateSetter(&{{0 3}}) - compiler.go:433: 8: *goja.newMethod(&{{0x4000224000 c get c() { + compiler.go:433: 8: *goja.newMethod(&{{0x4000508410 c get c() { return this.#a; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20917,7 +20953,7 @@ compiler.go:433: > 2: *goja.getPrivatePropRes(&{a 0 0 false false}) compiler.go:433: > 3: goja._ret({}) compiler.go:433: 9: *goja.defineGetterKeyed(&{c false}) - compiler.go:433: 10: *goja.newMethod(&{{0x4000224050 #m #m() { + compiler.go:433: 10: *goja.newMethod(&{{0x4000508460 #m #m() { return this.#a; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20926,7 +20962,7 @@ compiler.go:433: > 3: goja._ret({}) compiler.go:433: 11: *goja.definePrivateMethod(&{1 3}) compiler.go:433: 12: goja._pop({}) - compiler.go:433: 13: *goja.newMethod(&{{0x40002240a0 getter getter(inst) { + compiler.go:433: 13: *goja.newMethod(&{{0x40005084b0 getter getter(inst) { return inst.#m(); } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -20960,12 +20996,12 @@ static check(inst) { return #a in inst; } - } 0x4000224550 [] [] 1 0 0 true}) + } 0x4000508820 [] [] 1 0 0 true}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({42}) compiler.go:433: > 1: *goja.definePrivateProp(&{0}) compiler.go:430: > ---- - compiler.go:433: 3: *goja.newMethod(&{{0x4000224500 check check(inst) { + compiler.go:433: 3: *goja.newMethod(&{{0x40005087d0 check check(inst) { return #a in inst; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -21095,7 +21131,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestKeywordsAsLabels (0.00s) === RUN TestThisResolutionWithArg - compiler.go:433: 0: *goja.newFunc(&{0x4000224be0 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fc550 f function f(arg) { capture = () => this; // move 'this' to stash return [this, arg]; } 1 false}) @@ -21104,7 +21140,7 @@ compiler.go:433: > 2: goja.loadStack(0) compiler.go:433: > 3: goja.initStashP(0) compiler.go:433: > 4: goja.resolveVar1(capture) - compiler.go:433: > 5: *goja.newArrowFunc(&{{0x4000224c30 capture () => this 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x40004fc5a0 capture () => this 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -21146,7 +21182,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestThisResolutionWithArg (0.00s) === RUN TestThisResolutionArgInStash - compiler.go:433: 0: *goja.newFunc(&{0x4000224f00 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcb40 f function f(arg) { capture = () => this + arg; // move 'this' and arguments to stash return [this, arg]; } 1 false}) @@ -21154,7 +21190,7 @@ compiler.go:433: > 1: goja._boxThis({}) compiler.go:433: > 2: goja.initStash(1) compiler.go:433: > 3: goja.resolveVar1(capture) - compiler.go:433: > 4: *goja.newArrowFunc(&{{0x4000224f50 capture () => this + arg 0 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40004fcb90 capture () => this + arg 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(1) compiler.go:433: >> 2: goja.loadStashLex(0) @@ -21198,7 +21234,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestThisResolutionArgInStash (0.00s) === RUN TestThisResolutionWithStackVar - compiler.go:433: 0: *goja.newFunc(&{0x4000225270 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fceb0 f function f(arg) { const _ = 1; // a stack variable capture = () => this + arg; // move 'this' and arguments to stash return [this, arg]; @@ -21210,7 +21246,7 @@ compiler.go:433: > 4: goja.loadVal({1}) compiler.go:433: > 5: goja.initStack1P(1) compiler.go:433: > 6: goja.resolveVar1(capture) - compiler.go:433: > 7: *goja.newArrowFunc(&{{0x40002252c0 capture () => this + arg 0 false}}) + compiler.go:433: > 7: *goja.newArrowFunc(&{{0x40004fcf00 capture () => this + arg 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(1) compiler.go:433: >> 2: goja.loadStashLex(0) @@ -21256,7 +21292,7 @@ === RUN TestForInLoopContinue compiler.go:433: 0: *goja.bindGlobal(&{[globalSink] [] [] [] false}) compiler.go:433: 1: goja._loadUndef({}) - compiler.go:433: 2: *goja.newFunc(&{0x4000225810 function() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fd450 function() { const data = [{disabled: true}, {}]; function dummy() {} function f1() {} @@ -21273,17 +21309,17 @@ f(); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 3 1 0 1 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000225860 dummy function dummy() {} 0 false}) + compiler.go:433: > 1: *goja.newFunc(&{0x40004fd4a0 dummy function dummy() {} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 2: goja.initStashP(0) - compiler.go:433: > 3: *goja.newFunc(&{0x40002258b0 f1 function f1() {} 0 false}) + compiler.go:433: > 3: *goja.newFunc(&{0x40004fd4f0 f1 function f1() {} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 4: goja.initStashP(1) - compiler.go:433: > 5: *goja.newFunc(&{0x4000225900 f function f() { + compiler.go:433: > 5: *goja.newFunc(&{0x40004fd540 f function f() { dummy(); // move dummy to stash (so that f1 is at index 1) for (const d of data) { if (d.disabled) continue; @@ -21309,7 +21345,7 @@ compiler.go:433: >> 15: *goja.leaveBlock(&{0 true}) compiler.go:433: >> 16: goja.jump(-8) compiler.go:433: >> 17: goja.resolveVar1(globalSink) - compiler.go:433: >> 18: *goja.newArrowFunc(&{{0x4000225950 globalSink () => d 0 false}}) + compiler.go:433: >> 18: *goja.newArrowFunc(&{{0x40004fd590 globalSink () => d 0 false}}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >>> 1: goja.loadStashLex(0) compiler.go:433: >>> 2: goja._ret({}) @@ -21348,7 +21384,7 @@ === RUN TestForInLoopContinueOuter compiler.go:433: 0: *goja.bindGlobal(&{[globalSink] [] [] [] false}) compiler.go:433: 1: goja._loadUndef({}) - compiler.go:433: 2: *goja.newFunc(&{0x400049bae0 function() { + compiler.go:433: 2: *goja.newFunc(&{0x40004fdc70 function() { const data = [{disabled: true}, {}]; function dummy1() {} function f1() {} @@ -21372,17 +21408,17 @@ f(); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 3 1 0 1 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x400049bb30 dummy1 function dummy1() {} 0 false}) + compiler.go:433: > 1: *goja.newFunc(&{0x40004fdcc0 dummy1 function dummy1() {} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 2: goja.initStashP(0) - compiler.go:433: > 3: *goja.newFunc(&{0x400049bb80 f1 function f1() {} 0 false}) + compiler.go:433: > 3: *goja.newFunc(&{0x40004fdd10 f1 function f1() {} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 4: goja.initStashP(1) - compiler.go:433: > 5: *goja.newFunc(&{0x400049bbd0 f function f() { + compiler.go:433: > 5: *goja.newFunc(&{0x40004fdd60 f function f() { dummy1(); let counter = 0; OUTER: for (let i = 0; i < 1; i++) { @@ -21426,7 +21462,7 @@ compiler.go:433: >> 26: goja._enumPopClose({}) compiler.go:433: >> 27: goja.jump(13) compiler.go:433: >> 28: goja.resolveVar1(globalSink) - compiler.go:433: >> 29: *goja.newArrowFunc(&{{0x400049bc20 globalSink () => d 0 false}}) + compiler.go:433: >> 29: *goja.newArrowFunc(&{{0x40004fddb0 globalSink () => d 0 false}}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >>> 1: goja.loadStashLex(0) compiler.go:433: >>> 2: goja._ret({}) @@ -21510,7 +21546,7 @@ set; async; static; - } 0x40002700f0 [] [] 0 0 0 false}) + } 0x40001782d0 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja._loadUndef({}) compiler.go:433: > 1: goja.definePropKeyed(get) @@ -21536,22 +21572,22 @@ static() {} } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x4000270870 get get() {} 0 true} 1}) + compiler.go:433: 4: *goja.newMethod(&{{0x4000178730 get get() {} 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 5: *goja.defineMethodKeyed(&{get false}) - compiler.go:433: 6: *goja.newMethod(&{{0x40002708c0 set set() {} 0 true} 1}) + compiler.go:433: 6: *goja.newMethod(&{{0x4000178780 set set() {} 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 7: *goja.defineMethodKeyed(&{set false}) - compiler.go:433: 8: *goja.newMethod(&{{0x4000270910 async async() {} 0 true} 1}) + compiler.go:433: 8: *goja.newMethod(&{{0x40001787d0 async async() {} 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 9: *goja.defineMethodKeyed(&{async false}) - compiler.go:433: 10: *goja.newMethod(&{{0x4000270960 static static() {} 0 true} 1}) + compiler.go:433: 10: *goja.newMethod(&{{0x4000178820 static static() {} 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -21571,7 +21607,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x400001e820 0 0() { + compiler.go:433: 4: *goja.newMethod(&{{0x4000178aa0 0 0() { return true; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -21595,7 +21631,7 @@ === RUN TestObjectLiteralComputedMethodKeys --- PASS: TestObjectLiteralComputedMethodKeys (0.00s) === RUN TestGeneratorFunc - compiler.go:433: 0: *goja.newFunc(&{0x400001fae0 defParam function defParam() { + compiler.go:433: 0: *goja.newFunc(&{0x4000508c80 defParam function defParam() { trace += "1"; return "def"; } 0 false}) @@ -21607,7 +21643,7 @@ compiler.go:433: > 5: goja._putValueP({}) compiler.go:433: > 6: goja.loadVal({def}) compiler.go:433: > 7: goja._ret({}) - compiler.go:433: 1: *goja.newGeneratorFunc(&{{0x400001fb30 g function* g(param = defParam()) { + compiler.go:433: 1: *goja.newGeneratorFunc(&{{0x4000508cd0 g function* g(param = defParam()) { const THREE = 3; trace += "2"; assert.sameValue(Math.floor(yield 1), THREE); @@ -21710,7 +21746,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newGeneratorMethod(&{{{0x400001fdb0 g *g(param) { + compiler.go:433: 4: *goja.newGeneratorMethod(&{{{0x4000508f50 g *g(param) { yield 1; yield 2; } 1 true} 1}}) @@ -21869,7 +21905,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNestedDestructArray (0.00s) === RUN TestThisInStash - compiler.go:433: 0: *goja.newFunc(&{0x400036c500 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40005095e0 f function f() { globalThis.x = () => this; // move 'this' to stash { @@ -21887,7 +21923,7 @@ compiler.go:433: > 2: goja.loadStack(0) compiler.go:433: > 3: goja.initStashP(0) compiler.go:433: > 4: goja.loadDynamic(globalThis) - compiler.go:433: > 5: *goja.newArrowFunc(&{{0x400036c550 () => this 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x4000509630 () => this 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -21912,7 +21948,7 @@ compiler.go:433: > 24: goja.leaveTry({}) compiler.go:433: > 25: goja._loadUndef({}) compiler.go:433: > 26: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400036c5a0 f1 function f1() { + compiler.go:433: 1: *goja.newFunc(&{0x4000509680 f1 function f1() { globalThis.x = () => this; // move 'this' to stash var v; // introduce a stack variable @@ -21931,7 +21967,7 @@ compiler.go:433: > 2: goja.loadStack(0) compiler.go:433: > 3: goja.initStashP(0) compiler.go:433: > 4: goja.loadDynamic(globalThis) - compiler.go:433: > 5: *goja.newArrowFunc(&{{0x400036c5f0 () => this 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x40005096d0 () => this 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -21970,7 +22006,7 @@ compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C C1] [] false}) compiler.go:433: 1: goja.jump(1) compiler.go:433: 2: goja.loadDynamic(Object) - compiler.go:433: 3: *goja.newDerivedClass(&{{0x400036caa0 C class C extends Object { + compiler.go:433: 3: *goja.newDerivedClass(&{{0x4000509b80 C class C extends Object { constructor() { super(); globalThis.x = () => this; // move 'this' to stash @@ -21992,7 +22028,7 @@ compiler.go:433: > 4: goja.superCall(0) compiler.go:433: > 5: goja._pop({}) compiler.go:433: > 6: goja.loadDynamic(globalThis) - compiler.go:433: > 7: *goja.newArrowFunc(&{{0x400036caf0 () => this 0 true}}) + compiler.go:433: > 7: *goja.newArrowFunc(&{{0x4000509bd0 () => this 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadThisStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -22021,7 +22057,7 @@ compiler.go:433: 5: goja.initGlobalP(C) compiler.go:433: 6: goja.jump(1) compiler.go:433: 7: goja.loadDynamic(Object) - compiler.go:433: 8: *goja.newDerivedClass(&{{0x400036cb40 C1 class C1 extends Object { + compiler.go:433: 8: *goja.newDerivedClass(&{{0x4000509c20 C1 class C1 extends Object { constructor() { super(); globalThis.x = () => this; // move 'this' to stash @@ -22044,7 +22080,7 @@ compiler.go:433: > 4: goja.superCall(0) compiler.go:433: > 5: goja._pop({}) compiler.go:433: > 6: goja.loadDynamic(globalThis) - compiler.go:433: > 7: *goja.newArrowFunc(&{{0x400036cb90 () => this 0 true}}) + compiler.go:433: > 7: *goja.newArrowFunc(&{{0x4000509c70 () => this 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadThisStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -22081,11 +22117,11 @@ compiler.go:433: 18: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 2 ---- PASS: TestThisInStashCtor (0.01s) +--- PASS: TestThisInStashCtor (0.00s) === RUN TestWrongThisRest compiler.go:433: 0: *goja.bindGlobal(&{[] [] [mine] [a] false}) compiler.go:433: 1: goja.jump(1) - compiler.go:433: 2: *goja.newClass(&{0x40002712c0 mine class mine { + compiler.go:433: 2: *goja.newClass(&{0x400001e7d0 mine class mine { constructor (arg) { this.field = arg } @@ -22106,7 +22142,7 @@ compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x4000271310 f f(...argument) { + compiler.go:433: 4: *goja.newMethod(&{{0x400001e820 f f(...argument) { if (this.field != "something") { throw "wrong " + this.field + " Object.keys:" + Object.keys(this) } @@ -22138,7 +22174,7 @@ compiler.go:433: > 20: goja.call(1) compiler.go:433: > 21: goja._add({}) compiler.go:433: > 22: goja._throw({}) - compiler.go:433: > 23: *goja.newArrowFunc(&{{0x40002713b0 s () => { + compiler.go:433: > 23: *goja.newArrowFunc(&{{0x400001e870 s () => { for (const arg of argument) arg.call() return this.field } 0 true}}) @@ -22186,7 +22222,7 @@ === RUN TestWrongThisExtraArg compiler.go:433: 0: *goja.bindGlobal(&{[] [] [mine] [a] false}) compiler.go:433: 1: goja.jump(1) - compiler.go:433: 2: *goja.newClass(&{0x40002718b0 mine class mine { + compiler.go:433: 2: *goja.newClass(&{0x400001ecd0 mine class mine { constructor (arg) { this.field = arg } @@ -22204,7 +22240,7 @@ compiler.go:433: > 4: goja._loadUndef({}) compiler.go:433: > 5: goja._ret({}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x4000271900 f f() { + compiler.go:433: 4: *goja.newMethod(&{{0x400001ed20 f f() { if (this.field != "something") { throw "wrong " + this.field + " Object.keys:" + Object.keys(this) } @@ -22231,7 +22267,7 @@ compiler.go:433: > 18: goja._add({}) compiler.go:433: > 19: goja._throw({}) compiler.go:433: > 20: goja.loadDynamic(globalThis) - compiler.go:433: > 21: *goja.newArrowFunc(&{{0x4000271950 () => this.field 0 true}}) + compiler.go:433: > 21: *goja.newArrowFunc(&{{0x400001ed70 () => this.field 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja.getProp(field) @@ -22258,7 +22294,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestWrongThisExtraArg (0.00s) === RUN TestWrongThisForwardRef - compiler.go:433: 0: *goja.newFunc(&{0x4000271bd0 f function f(a = b + 1, b) { // forward ref argument to make sure args remain on stack + compiler.go:433: 0: *goja.newFunc(&{0x400001eff0 f function f(a = b + 1, b) { // forward ref argument to make sure args remain on stack if (this != expectedThis) { throw new Error("unexpected 'this'"); } @@ -22917,9 +22953,9 @@ compiler.go:433: 230: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestDateSetters (0.01s) +--- PASS: TestDateSetters (0.00s) === RUN TestDateParse - compiler.go:433: 0: *goja.newFunc(&{0x400036c1e0 testParse function testParse(str, expected) { + compiler.go:433: 0: *goja.newFunc(&{0x4000178cd0 testParse function testParse(str, expected) { assert.sameValue(Date.parse(str), expected, str); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -23304,7 +23340,7 @@ compiler.go:433: 2: goja.getProp(toJSON) compiler.go:433: 3: goja.getPropCallee(call) compiler.go:433: 4: goja._newObject({}) - compiler.go:433: 5: *goja.newFunc(&{0x400036c640 toISOString function () { return 1; } 0 false}) + compiler.go:433: 5: *goja.newFunc(&{0x4000179130 toISOString function () { return 1; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({1}) compiler.go:433: > 2: goja._ret({}) @@ -23317,7 +23353,7 @@ === RUN TestDateExportType --- PASS: TestDateExportType (0.00s) === RUN TestDateParseV8 - compiler.go:433: 0: *goja.newFunc(&{0x400036d090 testDateParse function testDateParse(string) { + compiler.go:433: 0: *goja.newFunc(&{0x4000179810 testDateParse function testDateParse(string) { var d = Date.parse(string); assertEquals(946713600000, d, "parse: " + string); } 1 false}) @@ -23337,7 +23373,7 @@ compiler.go:433: > 13: goja._pop({}) compiler.go:433: > 14: goja._loadUndef({}) compiler.go:433: > 15: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400036d0e0 testDateParseLocalTime function testDateParseLocalTime(string) { + compiler.go:433: 1: *goja.newFunc(&{0x4000179860 testDateParseLocalTime function testDateParseLocalTime(string) { var d = Date.parse("parse-local-time:" + string); assertTrue(!isNaN(d), "parse-local-time: " + string + " is NaN."); assertTrue(d > 0, "parse-local-time: " + string + " <= 0."); @@ -23375,7 +23411,7 @@ compiler.go:433: > 30: goja._pop({}) compiler.go:433: > 31: goja._loadUndef({}) compiler.go:433: > 32: goja._ret({}) - compiler.go:433: 2: *goja.newFunc(&{0x400036d130 testDateParseMisc function testDateParseMisc(array) { + compiler.go:433: 2: *goja.newFunc(&{0x40001798b0 testDateParseMisc function testDateParseMisc(array) { assertEquals(2, array.length, "array [" + array + "] length != 2."); var string = array[0]; var expected = array[1]; @@ -23995,7 +24031,7 @@ compiler.go:433: 578: goja._pop({}) compiler.go:433: 579: goja.loadDynamic(testCasesES5MiscNegative) compiler.go:433: 580: goja.getPropCallee(forEach) - compiler.go:433: 581: *goja.newFunc(&{0x400036d270 function (s) { + compiler.go:433: 581: *goja.newFunc(&{0x40001799f0 function (s) { assertTrue(isNaN(Date.parse(s)), s + " is not NaN."); } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -24073,7 +24109,7 @@ compiler.go:433: 639: goja._initValueP({}) compiler.go:433: 640: goja.loadDynamic(testCasesNegative) compiler.go:433: 641: goja.getPropCallee(forEach) - compiler.go:433: 642: *goja.newFunc(&{0x400036d360 function (s) { + compiler.go:433: 642: *goja.newFunc(&{0x4000179ae0 function (s) { assertTrue(isNaN(Date.parse(s)), s + " is not NaN."); } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -24095,13 +24131,13 @@ compiler.go:433: 644: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestDateParseV8 (0.07s) +--- PASS: TestDateParseV8 (0.06s) === RUN TestFuncProto - compiler.go:433: 0: *goja.newFunc(&{0x400036c280 A function A() {} 0 true}) + compiler.go:433: 0: *goja.newFunc(&{0x40001782d0 A function A() {} 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) - compiler.go:433: 1: *goja.newFunc(&{0x400036c2d0 B function B() {} 0 true}) + compiler.go:433: 1: *goja.newFunc(&{0x4000178320 B function B() {} 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -24146,13 +24182,13 @@ compiler.go:433: 3: goja.try({11 0}) compiler.go:433: 4: goja.loadDynamic(Object) compiler.go:433: 5: goja.getPropCallee(defineProperty) - compiler.go:433: 6: *goja.newFunc(&{0x400036c5a0 function() {} 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x40001785f0 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 7: goja.loadVal({prototype}) compiler.go:433: 8: goja._newObject({}) - compiler.go:433: 9: *goja.newFunc(&{0x400036c5f0 set function(_value) {} 1 false}) + compiler.go:433: 9: *goja.newFunc(&{0x4000178640 set function(_value) {} 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -24377,7 +24413,7 @@ compiler.go:433: 52: goja.loadDynamic(assert) compiler.go:433: 53: goja.getPropCallee(throws) compiler.go:433: 54: goja.loadDynamic(TypeError) - compiler.go:433: 55: *goja.newFunc(&{0x40003ee280 function() { + compiler.go:433: 55: *goja.newFunc(&{0x400001e8c0 function() { "use strict"; Object.defineProperty(o, "test1", {value: 0, writable: false, enumerable: false, configurable: true}); } 0 true}) @@ -24478,7 +24514,7 @@ compiler.go:433: 0: *goja.bindGlobal(&{[proto] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(proto) compiler.go:433: 2: goja._newObject({}) - compiler.go:433: 3: *goja.newFunc(&{0x40003ee4b0 valueOf function() { + compiler.go:433: 3: *goja.newFunc(&{0x400001eaf0 valueOf function() { return this.num; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -24892,7 +24928,7 @@ compiler.go:433: 360: goja.loadDynamic(assert) compiler.go:433: 361: goja.getPropCallee(throws) compiler.go:433: 362: goja.loadDynamic(TypeError) - compiler.go:433: 363: *goja.newFunc(&{0x40003ee910 function() { + compiler.go:433: 363: *goja.newFunc(&{0x400001eff0 function() { "use strict"; delete a.length; } 0 true}) @@ -24908,7 +24944,7 @@ compiler.go:433: 367: goja.loadDynamic(assert) compiler.go:433: 368: goja.getPropCallee(throws) compiler.go:433: 369: goja.loadDynamic(TypeError) - compiler.go:433: 370: *goja.newFunc(&{0x40003ee960 function() { + compiler.go:433: 370: *goja.newFunc(&{0x400001f040 function() { "use strict"; a.test = true; } 0 true}) @@ -24924,7 +24960,7 @@ compiler.go:433: 374: goja.loadDynamic(assert) compiler.go:433: 375: goja.getPropCallee(throws) compiler.go:433: 376: goja.loadDynamic(TypeError) - compiler.go:433: 377: *goja.newFunc(&{0x40003ee9b0 function() { + compiler.go:433: 377: *goja.newFunc(&{0x400001f0e0 function() { "use strict"; Object.defineProperty(a, 0, {value: 0, writable: false, enumerable: false, configurable: true}); } 0 true}) @@ -24964,9 +25000,9 @@ === RUN TestGoReflectArrayCopyOnChange/[]struct === RUN TestGoReflectArrayCopyOnChange/[]I === RUN TestGoReflectArrayCopyOnChange/[]interface{} ---- PASS: TestGoReflectArrayCopyOnChange (0.00s) +--- PASS: TestGoReflectArrayCopyOnChange (0.01s) --- PASS: TestGoReflectArrayCopyOnChange/[]struct (0.00s) - --- PASS: TestGoReflectArrayCopyOnChange/[]I (0.00s) + --- PASS: TestGoReflectArrayCopyOnChange/[]I (0.01s) --- PASS: TestGoReflectArrayCopyOnChange/[]interface{} (0.00s) === RUN TestCopyOnChangeReflectSlice === RUN TestCopyOnChangeReflectSlice/[]int @@ -24994,7 +25030,7 @@ --- PASS: TestGoMapReflectWithMethods (0.00s) === RUN TestGoMapReflectWithProto compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400049a730 function() { + compiler.go:433: 1: *goja.newFunc(&{0x40004fdb80 function() { 'use strict'; var proto = {}; var getterAllowed = false; @@ -25055,7 +25091,7 @@ compiler.go:433: > 11: goja.loadStack(1) compiler.go:433: > 12: goja.loadVal({t}) compiler.go:433: > 13: goja._newObject({}) - compiler.go:433: > 14: *goja.newFunc(&{0x400049a780 get function() { + compiler.go:433: > 14: *goja.newFunc(&{0x40004fdbd0 get function() { if (!getterAllowed) throw new Error("getter is called"); return tHolder; } 0 true}) @@ -25070,7 +25106,7 @@ compiler.go:433: >> 8: goja.loadStash(2) compiler.go:433: >> 9: goja._ret({}) compiler.go:433: > 15: goja.putProp(get) - compiler.go:433: > 16: *goja.newFunc(&{0x400049a7d0 set function(v) { + compiler.go:433: > 16: *goja.newFunc(&{0x40004fdc20 set function(v) { if (!setterAllowed) throw new Error("setter is called"); tHolder = v; } 1 true}) @@ -25094,14 +25130,14 @@ compiler.go:433: > 22: goja.loadStack(1) compiler.go:433: > 23: goja.loadVal({t1}) compiler.go:433: > 24: goja._newObject({}) - compiler.go:433: > 25: *goja.newFunc(&{0x400049a820 get function() { + compiler.go:433: > 25: *goja.newFunc(&{0x40004fdc70 get function() { return t1Holder; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(3) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 26: goja.putProp(get) - compiler.go:433: > 27: *goja.newFunc(&{0x400049a870 set function(v) { + compiler.go:433: > 27: *goja.newFunc(&{0x40004fdcc0 set function(v) { t1Holder = v; } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -25195,7 +25231,7 @@ compiler.go:433: > 111: goja.loadDynamic(assert) compiler.go:433: > 112: goja.getPropCallee(throws) compiler.go:433: > 113: goja.loadDynamic(TypeError) - compiler.go:433: > 114: *goja.newFunc(&{0x400049a910 function() { + compiler.go:433: > 114: *goja.newFunc(&{0x40004fdd60 function() { m.t2 = 1; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25225,7 +25261,7 @@ --- PASS: TestGoMapReflectWithProto (0.00s) === RUN TestGoMapReflectProtoProp compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001e910 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000178190 function() { "use strict"; var proto = {}; Object.defineProperty(proto, "ro", {value: 42}); @@ -25257,7 +25293,7 @@ compiler.go:433: > 18: goja.loadDynamic(assert) compiler.go:433: > 19: goja.getPropCallee(throws) compiler.go:433: > 20: goja.loadDynamic(TypeError) - compiler.go:433: > 21: *goja.newFunc(&{0x400001e9b0 function() { + compiler.go:433: > 21: *goja.newFunc(&{0x40001781e0 function() { m.ro = 43; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25335,7 +25371,7 @@ --- PASS: TestGoMapExtensibility (0.00s) === RUN TestGoMapWithProto compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002700a0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x40001794a0 function() { 'use strict'; var proto = {}; var getterAllowed = false; @@ -25396,7 +25432,7 @@ compiler.go:433: > 11: goja.loadStack(1) compiler.go:433: > 12: goja.loadVal({t}) compiler.go:433: > 13: goja._newObject({}) - compiler.go:433: > 14: *goja.newFunc(&{0x40002700f0 get function() { + compiler.go:433: > 14: *goja.newFunc(&{0x40001794f0 get function() { if (!getterAllowed) throw new Error("getter is called"); return tHolder; } 0 true}) @@ -25411,7 +25447,7 @@ compiler.go:433: >> 8: goja.loadStash(2) compiler.go:433: >> 9: goja._ret({}) compiler.go:433: > 15: goja.putProp(get) - compiler.go:433: > 16: *goja.newFunc(&{0x4000270140 set function(v) { + compiler.go:433: > 16: *goja.newFunc(&{0x4000179540 set function(v) { if (!setterAllowed) throw new Error("setter is called"); tHolder = v; } 1 true}) @@ -25435,14 +25471,14 @@ compiler.go:433: > 22: goja.loadStack(1) compiler.go:433: > 23: goja.loadVal({t1}) compiler.go:433: > 24: goja._newObject({}) - compiler.go:433: > 25: *goja.newFunc(&{0x4000270190 get function() { + compiler.go:433: > 25: *goja.newFunc(&{0x4000179590 get function() { return t1Holder; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(3) compiler.go:433: >> 2: goja._ret({}) compiler.go:433: > 26: goja.putProp(get) - compiler.go:433: > 27: *goja.newFunc(&{0x40002701e0 set function(v) { + compiler.go:433: > 27: *goja.newFunc(&{0x40001795e0 set function(v) { t1Holder = v; } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -25534,7 +25570,7 @@ compiler.go:433: > 109: goja.loadDynamic(assert) compiler.go:433: > 110: goja.getPropCallee(throws) compiler.go:433: > 111: goja.loadDynamic(TypeError) - compiler.go:433: > 112: *goja.newFunc(&{0x4000270280 function() { + compiler.go:433: > 112: *goja.newFunc(&{0x4000179680 function() { m.t2 = 1; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25564,7 +25600,7 @@ --- PASS: TestGoMapWithProto (0.00s) === RUN TestGoMapProtoProp compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002708c0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x40001799f0 function() { "use strict"; var proto = {}; Object.defineProperty(proto, "ro", {value: 42}); @@ -25596,7 +25632,7 @@ compiler.go:433: > 18: goja.loadDynamic(assert) compiler.go:433: > 19: goja.getPropCallee(throws) compiler.go:433: > 20: goja.loadDynamic(TypeError) - compiler.go:433: > 21: *goja.newFunc(&{0x4000270910 function() { + compiler.go:433: > 21: *goja.newFunc(&{0x4000179a40 function() { m.ro = 43; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25632,7 +25668,7 @@ --- PASS: TestGoMapProtoProp (0.00s) === RUN TestGoMapProtoPropChain compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000271090 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000179c70 function() { "use strict"; var p1 = Object.create(null); m.__proto__ = p1; @@ -25747,7 +25783,7 @@ compiler.go:433: 3: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestGoMapProtoPropChain (0.01s) +--- PASS: TestGoMapProtoPropChain (0.00s) === RUN TestGoMapUnicode --- PASS: TestGoMapUnicode (0.00s) === RUN TestGoReflectGet @@ -25866,7 +25902,7 @@ --- PASS: TestStringer (0.00s) === RUN TestGoReflectWithProto compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003ef220 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000255270 function() { 'use strict'; var proto = { Field: "protoField", @@ -25906,7 +25942,7 @@ compiler.go:433: > 9: goja.loadStack(1) compiler.go:433: > 10: goja.loadVal({test1}) compiler.go:433: > 11: goja._newObject({}) - compiler.go:433: > 12: *goja.newFunc(&{0x40003ef270 set function(v) { + compiler.go:433: > 12: *goja.newFunc(&{0x40002552c0 set function(v) { test1Holder = v; } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -25915,7 +25951,7 @@ compiler.go:433: >> 3: goja._loadUndef({}) compiler.go:433: >> 4: goja._ret({}) compiler.go:433: > 13: goja.putProp(set) - compiler.go:433: > 14: *goja.newFunc(&{0x40003ef310 get function() { + compiler.go:433: > 14: *goja.newFunc(&{0x4000255360 get function() { return test1Holder; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25960,7 +25996,7 @@ compiler.go:433: > 51: goja.loadDynamic(assert) compiler.go:433: > 52: goja.getPropCallee(throws) compiler.go:433: > 53: goja.loadDynamic(TypeError) - compiler.go:433: > 54: *goja.newFunc(&{0x40003ef360 function() { + compiler.go:433: > 54: *goja.newFunc(&{0x40002553b0 function() { Object.defineProperty(s, "test", {value: 43}); } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -26003,7 +26039,7 @@ compiler.go:433: 3: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 1 ---- PASS: TestGoReflectWithProto (0.00s) +--- PASS: TestGoReflectWithProto (0.01s) === RUN TestGoReflectSymbols --- PASS: TestGoReflectSymbols (0.00s) === RUN TestGoReflectSymbolEqualityQuirk @@ -26192,7 +26228,7 @@ compiler.go:433: 72: goja.loadDynamic(proto) compiler.go:433: 73: goja.loadVal({5}) compiler.go:433: 74: goja._newObject({}) - compiler.go:433: 75: *goja.newFunc(&{0x40002e8050 set function(v) { + compiler.go:433: 75: *goja.newFunc(&{0x40002facd0 set function(v) { v5 = v; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -26217,7 +26253,7 @@ compiler.go:433: 89: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestGoSliceReflectProto (0.01s) +--- PASS: TestGoSliceReflectProto (0.00s) === RUN TestGoSliceReflectProtoProto --- PASS: TestGoSliceReflectProtoProto (0.00s) === RUN TestGoSliceReflectDelete @@ -26360,7 +26396,7 @@ compiler.go:433: 72: goja.loadDynamic(proto) compiler.go:433: 73: goja.loadVal({5}) compiler.go:433: 74: goja._newObject({}) - compiler.go:433: 75: *goja.newFunc(&{0x400049b6d0 set function(v) { + compiler.go:433: 75: *goja.newFunc(&{0x400039e6e0 set function(v) { v5 = v; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -26567,7 +26603,7 @@ compiler.go:433: 124: goja.jump(-27) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestPropertyOrder (0.01s) +--- PASS: TestPropertyOrder (0.00s) === RUN TestDefinePropertiesSymbol compiler.go:433: 0: *goja.bindGlobal(&{[desc o] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(desc) @@ -26608,7 +26644,7 @@ compiler.go:433: 5: goja._newObject({}) compiler.go:433: 6: goja.loadDynamic(b) compiler.go:433: 7: goja.putProp(b) - compiler.go:433: 8: *goja.newMethod(&{{0x40002e8a00 get get() {return "c"} 0 false} 1}) + compiler.go:433: 8: *goja.newMethod(&{{0x400039f8b0 get get() {return "c"} 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({c}) compiler.go:433: > 2: goja._ret({}) @@ -26633,7 +26669,7 @@ compiler.go:433: 27: goja._pop({}) compiler.go:433: 28: goja.resolveVar1(obj) compiler.go:433: 29: goja._newObject({}) - compiler.go:433: 30: *goja.newMethod(&{{0x40002e8a50 with w\u0069th() { return 42; } 0 false} 1}) + compiler.go:433: 30: *goja.newMethod(&{{0x400039f900 with w\u0069th() { return 42; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({42}) compiler.go:433: > 2: goja._ret({}) @@ -26660,7 +26696,7 @@ compiler.go:433: 5: goja.loadVal({1}) compiler.go:433: 6: goja.putProp(b) compiler.go:433: 7: goja._newObject({}) - compiler.go:433: 8: *goja.newMethod(&{{0x40002e8d20 a get a() { + compiler.go:433: 8: *goja.newMethod(&{{0x400039fbd0 a get a() { Object.defineProperty(this, "b", { value: 3, enumerable: false @@ -26698,7 +26734,7 @@ compiler.go:433: 23: goja.loadVal({1}) compiler.go:433: 24: goja.putProp(b) compiler.go:433: 25: goja._newObject({}) - compiler.go:433: 26: *goja.newMethod(&{{0x40002e8d70 a get a() { + compiler.go:433: 26: *goja.newMethod(&{{0x400039fc20 a get a() { delete this.b; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -26800,7 +26836,7 @@ compiler.go:433: 23: goja.loadDynamic(Proxy) compiler.go:433: 24: goja.loadDynamic(target) compiler.go:433: 25: goja._newObject({}) - compiler.go:433: 26: *goja.newFunc(&{0x40002e9a40 getOwnPropertyDescriptor function(_target, key) { + compiler.go:433: 26: *goja.newFunc(&{0x40004fca50 getOwnPropertyDescriptor function(_target, key) { getOwnKeys.push(key); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -26924,7 +26960,7 @@ === RUN TestRegexpLiteral compiler.go:433: 0: *goja.bindGlobal(&{[r m] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(r) - compiler.go:433: 2: *goja.newRegexp(&{0x400032b8f0 (['\"])(.*?)\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x40003c7710 (['\"])(.*?)\1}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -26953,7 +26989,7 @@ === RUN TestRegexpRe2Unicode compiler.go:433: 0: *goja.bindGlobal(&{[r m] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(r) - compiler.go:433: 2: *goja.newRegexp(&{0x400034b260 [65279 40 1090 1077 1089 1090 41]}) + compiler.go:433: 2: *goja.newRegexp(&{0x40002eb080 [65279 40 1090 1077 1089 1090 41]}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -26982,7 +27018,7 @@ === RUN TestRegexpRe2UnicodeTarget compiler.go:433: 0: *goja.bindGlobal(&{[r m] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(r) - compiler.go:433: 2: *goja.newRegexp(&{0x4000356b40 (['\"])(.*?)['\"]}) + compiler.go:433: 2: *goja.newRegexp(&{0x400021aba0 (['\"])(.*?)['\"]}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -27011,7 +27047,7 @@ === RUN TestRegexpRegexp2Unicode compiler.go:433: 0: *goja.bindGlobal(&{[r m] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(r) - compiler.go:433: 2: *goja.newRegexp(&{0x4000364480 [65279 40 91 39 92 34 93 41 40 1090 1077 1089 1090 41 92 49]}) + compiler.go:433: 2: *goja.newRegexp(&{0x40004765d0 [65279 40 91 39 92 34 93 41 40 1090 1077 1089 1090 41 92 49]}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -27040,7 +27076,7 @@ === RUN TestRegexpRegexp2UnicodeTarget compiler.go:433: 0: *goja.bindGlobal(&{[r m] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(r) - compiler.go:433: 2: *goja.newRegexp(&{0x400020a090 (['\"])(.*?)\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x4000477f50 (['\"])(.*?)\1}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -27069,7 +27105,7 @@ === RUN TestRegexpRe2Whitespace compiler.go:433: 0: goja.loadVal({[65279 8192 8193 8194 8203]}) compiler.go:433: 1: goja.getPropCallee(replace) - compiler.go:433: 2: *goja.newRegexp(&{0x400020b800 \s+}) + compiler.go:433: 2: *goja.newRegexp(&{0x4000423a70 \s+}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja.loadVal({[65279 8203]}) @@ -27081,7 +27117,7 @@ === RUN TestRegexpRegexp2Whitespace compiler.go:433: 0: goja.loadVal({[65279 65 8192 8193 8194 65 8203]}) compiler.go:433: 1: goja.getPropCallee(replace) - compiler.go:433: 2: *goja.newRegexp(&{0x40002432f0 (A)\s+\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x400049b560 (A)\s+\1}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja.loadVal({[65279 8203]}) @@ -27091,7 +27127,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpRegexp2Whitespace (0.00s) === RUN TestEmptyCharClassRe2 - compiler.go:433: 0: *goja.newRegexp(&{0x4000252c00 []}) + compiler.go:433: 0: *goja.newRegexp(&{0x400051ce70 []}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27100,7 +27136,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyCharClassRe2 (0.00s) === RUN TestNegatedEmptyCharClassRe2 - compiler.go:433: 0: *goja.newRegexp(&{0x4000410000 [^]}) + compiler.go:433: 0: *goja.newRegexp(&{0x40002fe270 [^]}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27109,7 +27145,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNegatedEmptyCharClassRe2 (0.00s) === RUN TestEmptyCharClassRegexp2 - compiler.go:433: 0: *goja.newRegexp(&{0x40004113e0 ([])\1}) + compiler.go:433: 0: *goja.newRegexp(&{0x40002ff6b0 ([])\1}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27118,7 +27154,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyCharClassRegexp2 (0.00s) === RUN TestRegexp2Negate - compiler.go:433: 0: *goja.newRegexp(&{0x4000438870 ([\D1])\1}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000382c30 ([\D1])\1}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({aa}) compiler.go:433: 3: goja.call(1) @@ -27127,7 +27163,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexp2Negate (0.00s) === RUN TestAlternativeRe2 - compiler.go:433: 0: *goja.newRegexp(&{0x4000439cb0 ()|}) + compiler.go:433: 0: *goja.newRegexp(&{0x400052a0f0 ()|}) compiler.go:433: 1: goja.getPropCallee(exec) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27141,7 +27177,7 @@ compiler.go:433: 0: goja.loadVal({QBZPbage y_cynprubyqre}) compiler.go:433: 1: goja.getPropCallee(replace) - compiler.go:433: 2: *goja.newRegexp(&{0x40004671d0 ^\s*|\s*$}) + compiler.go:433: 2: *goja.newRegexp(&{0x400052b590 ^\s*|\s*$}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja._saveResult({}) @@ -27151,7 +27187,7 @@ === RUN TestRegexpNumCaptures compiler.go:433: 0: goja.loadVal({Fubpxjnir Synfu 9.0 e115}) compiler.go:433: 1: goja.getPropCallee(replace) - compiler.go:433: 2: *goja.newRegexp(&{0x4000474ab0 ([a-zA-Z]|\s)+}) + compiler.go:433: 2: *goja.newRegexp(&{0x40002bae70 ([a-zA-Z]|\s)+}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja._saveResult({}) @@ -27161,7 +27197,7 @@ === RUN TestRegexpNumCaptures1 compiler.go:433: 0: goja.loadVal({Fubpxjnir Sy fu 9.0 e115}) compiler.go:433: 1: goja.getPropCallee(replace) - compiler.go:433: 2: *goja.newRegexp(&{0x400047e390 ^.*\s+(\S+\s+\S+$)}) + compiler.go:433: 2: *goja.newRegexp(&{0x400039a8a0 ^.*\s+(\S+\s+\S+$)}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja._saveResult({}) @@ -27169,7 +27205,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpNumCaptures1 (0.00s) === RUN TestRegexpSInClass - compiler.go:433: 0: *goja.newRegexp(&{0x400047fbf0 [\S]}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000418240 [\S]}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({[65279 8232]}) compiler.go:433: 3: goja.call(1) @@ -27178,7 +27214,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpSInClass (0.00s) === RUN TestRegexpDotMatchCR - compiler.go:433: 0: *goja.newRegexp(&{0x4000490ff0 .}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000419740 .}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({ }) compiler.go:433: 3: goja.call(1) @@ -27187,7 +27223,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpDotMatchCR (0.00s) === RUN TestRegexpDotMatchCRInGroup - compiler.go:433: 0: *goja.newRegexp(&{0x40004983f0 (.)}) + compiler.go:433: 0: *goja.newRegexp(&{0x40002335f0 (.)}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({ }) compiler.go:433: 3: goja.call(1) @@ -27196,7 +27232,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpDotMatchCRInGroup (0.00s) === RUN TestRegexpDotMatchLF - compiler.go:433: 0: *goja.newRegexp(&{0x4000499770 .}) + compiler.go:433: 0: *goja.newRegexp(&{0x400042eae0 .}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({ }) @@ -27208,7 +27244,7 @@ === RUN TestRegexpSplitWithBackRef compiler.go:433: 0: goja.loadVal({a++b+-c}) compiler.go:433: 1: goja.getPropCallee(split) - compiler.go:433: 2: *goja.newRegexp(&{0x40004a4c90 ([+-])\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x40000a4ab0 ([+-])\1}) compiler.go:433: 3: goja.call(1) compiler.go:433: 4: goja.getPropCallee(join) compiler.go:433: 5: goja.loadVal({ $$ }) @@ -27218,7 +27254,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpSplitWithBackRef (0.00s) === RUN TestEscapeNonASCII - compiler.go:433: 0: *goja.newRegexp(&{0x40004b2750 [65279 92 10835]}) + compiler.go:433: 0: *goja.newRegexp(&{0x40001ff680 [65279 92 10835]}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({[65279 10835]}) compiler.go:433: 3: goja.call(1) @@ -27232,7 +27268,7 @@ compiler.go:433: 2: goja.loadVal({[65279 55296 56320]}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.loadDynamicCallee(assert) - compiler.go:433: 5: *goja.newRegexp(&{0x40004c3200 \uD800}) + compiler.go:433: 5: *goja.newRegexp(&{0x400033c330 \uD800}) compiler.go:433: 6: goja.getPropCallee(test) compiler.go:433: 7: goja.loadDynamic(str) compiler.go:433: 8: goja.call(1) @@ -27240,7 +27276,7 @@ compiler.go:433: 10: goja.call(2) compiler.go:433: 11: goja._pop({}) compiler.go:433: 12: goja.loadDynamicCallee(assert) - compiler.go:433: 13: *goja.newRegexp(&{0x40004c32c0 \uD800}) + compiler.go:433: 13: *goja.newRegexp(&{0x400033c3f0 \uD800}) compiler.go:433: 14: goja.getPropCallee(test) compiler.go:433: 15: goja.loadDynamic(str) compiler.go:433: 16: goja.call(1) @@ -27248,7 +27284,7 @@ compiler.go:433: 18: goja.call(2) compiler.go:433: 19: goja._pop({}) compiler.go:433: 20: goja.loadDynamicCallee(assert) - compiler.go:433: 21: *goja.newRegexp(&{0x40004c3380 [65279 55296 56320]}) + compiler.go:433: 21: *goja.newRegexp(&{0x400033c4b0 [65279 55296 56320]}) compiler.go:433: 22: goja.getPropCallee(test) compiler.go:433: 23: goja.loadDynamic(str) compiler.go:433: 24: goja.call(1) @@ -27256,7 +27292,7 @@ compiler.go:433: 26: goja.call(2) compiler.go:433: 27: goja._pop({}) compiler.go:433: 28: goja.resolveVar1(re) - compiler.go:433: 29: *goja.newRegexp(&{0x40004c3410 \uD800}) + compiler.go:433: 29: *goja.newRegexp(&{0x400033c540 \uD800}) compiler.go:433: 30: goja._initValueP({}) compiler.go:433: 31: goja.loadDynamicCallee(assert) compiler.go:433: 32: goja.loadDynamicCallee(compareArray) @@ -27293,7 +27329,7 @@ compiler.go:433: 63: goja.loadDynamicCallee(compareArray) compiler.go:433: 64: goja.loadVal({[65279 97 55296 56320 98]}) compiler.go:433: 65: goja.getPropCallee(split) - compiler.go:433: 66: *goja.newRegexp(&{0x40004c3530 \uD800}) + compiler.go:433: 66: *goja.newRegexp(&{0x400033c660 \uD800}) compiler.go:433: 67: goja.call(1) compiler.go:433: 68: goja.newArray(2) compiler.go:433: 69: goja.loadVal({a}) @@ -27308,7 +27344,7 @@ compiler.go:433: 78: goja.loadDynamicCallee(compareArray) compiler.go:433: 79: goja.loadVal({[65279 97 55296 56320 98]}) compiler.go:433: 80: goja.getPropCallee(split) - compiler.go:433: 81: *goja.newRegexp(&{0x40004c35f0 (?:)}) + compiler.go:433: 81: *goja.newRegexp(&{0x400033c720 (?:)}) compiler.go:433: 82: goja.call(1) compiler.go:433: 83: goja.newArray(4) compiler.go:433: 84: goja.loadVal({a}) @@ -27327,7 +27363,7 @@ compiler.go:433: 97: goja.loadDynamicCallee(compareArray) compiler.go:433: 98: goja.loadVal({[65279 48 128]}) compiler.go:433: 99: goja.getPropCallee(split) - compiler.go:433: 100: *goja.newRegexp(&{0x40004c36b0 (0){0}}) + compiler.go:433: 100: *goja.newRegexp(&{0x400033c7e0 (0){0}}) compiler.go:433: 101: goja.call(1) compiler.go:433: 102: goja.newArray(3) compiler.go:433: 103: goja.loadVal({0}) @@ -27341,7 +27377,7 @@ compiler.go:433: 111: goja.call(2) compiler.go:433: 112: goja._pop({}) compiler.go:433: 113: goja.resolveVar1(re) - compiler.go:433: 114: *goja.newRegexp(&{0x40004c3770 (?=)a}) + compiler.go:433: 114: *goja.newRegexp(&{0x400033c8a0 (?=)a}) compiler.go:433: 115: goja._putValueP({}) compiler.go:433: 116: goja.loadDynamic(assert) compiler.go:433: 117: goja.getPropCallee(sameValue) @@ -27356,7 +27392,7 @@ compiler.go:433: 126: goja._pop({}) compiler.go:433: 127: goja.loadDynamic(assert) compiler.go:433: 128: goja.getPropCallee(sameValue) - compiler.go:433: 129: *goja.newRegexp(&{0x40004c3980 .}) + compiler.go:433: 129: *goja.newRegexp(&{0x400033cab0 .}) compiler.go:433: 130: goja.getPropCallee(exec) compiler.go:433: 131: goja.loadVal({[65279 55357 56834]}) compiler.go:433: 132: goja.call(1) @@ -27420,11 +27456,11 @@ compiler.go:433: 190: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestRegexpUTF16 (0.00s) +--- PASS: TestRegexpUTF16 (0.01s) === RUN TestRegexpUnicode compiler.go:433: 0: *goja.bindGlobal(&{[re] [] [] [] false}) compiler.go:433: 1: goja.loadDynamicCallee(assert) - compiler.go:433: 2: *goja.newRegexp(&{0x40005579e0 \uD800}) + compiler.go:433: 2: *goja.newRegexp(&{0x40002b7290 \uD800}) compiler.go:433: 3: goja.getPropCallee(test) compiler.go:433: 4: goja.loadVal({[65279 55296 56320]}) compiler.go:433: 5: goja.call(1) @@ -27433,7 +27469,7 @@ compiler.go:433: 8: goja.call(2) compiler.go:433: 9: goja._pop({}) compiler.go:433: 10: goja.loadDynamicCallee(assert) - compiler.go:433: 11: *goja.newRegexp(&{0x4000557b00 \uFFFD}) + compiler.go:433: 11: *goja.newRegexp(&{0x40002b73b0 \uFFFD}) compiler.go:433: 12: goja.getPropCallee(test) compiler.go:433: 13: goja.loadVal({[65279 55296 56320]}) compiler.go:433: 14: goja.call(1) @@ -27442,7 +27478,7 @@ compiler.go:433: 17: goja.call(2) compiler.go:433: 18: goja._pop({}) compiler.go:433: 19: goja.loadDynamicCallee(assert) - compiler.go:433: 20: *goja.newRegexp(&{0x4000557bc0 \uD800\uDC00}) + compiler.go:433: 20: *goja.newRegexp(&{0x40002b7470 \uD800\uDC00}) compiler.go:433: 21: goja.getPropCallee(test) compiler.go:433: 22: goja.loadVal({[65279 55296 56320]}) compiler.go:433: 23: goja.call(1) @@ -27450,7 +27486,7 @@ compiler.go:433: 25: goja.call(2) compiler.go:433: 26: goja._pop({}) compiler.go:433: 27: goja.loadDynamicCallee(assert) - compiler.go:433: 28: *goja.newRegexp(&{0x4000557c80 \uD800}) + compiler.go:433: 28: *goja.newRegexp(&{0x40002b7530 \uD800}) compiler.go:433: 29: goja.getPropCallee(test) compiler.go:433: 30: goja.loadVal({[65279 55296]}) compiler.go:433: 31: goja.call(1) @@ -27461,7 +27497,7 @@ compiler.go:433: 36: goja.loadDynamicCallee(compareArray) compiler.go:433: 37: goja.loadVal({[65279 97 55296 56320 98]}) compiler.go:433: 38: goja.getPropCallee(split) - compiler.go:433: 39: *goja.newRegexp(&{0x4000557d40 \uD800}) + compiler.go:433: 39: *goja.newRegexp(&{0x40002b75f0 \uD800}) compiler.go:433: 40: goja.call(1) compiler.go:433: 41: goja.newArray(1) compiler.go:433: 42: goja.loadVal({[65279 97 55296 56320 98]}) @@ -27474,7 +27510,7 @@ compiler.go:433: 49: goja.loadDynamicCallee(compareArray) compiler.go:433: 50: goja.loadVal({[65279 97 55296 56320 98]}) compiler.go:433: 51: goja.getPropCallee(split) - compiler.go:433: 52: *goja.newRegexp(&{0x4000557e00 (?:)}) + compiler.go:433: 52: *goja.newRegexp(&{0x40002b7740 (?:)}) compiler.go:433: 53: goja.call(1) compiler.go:433: 54: goja.newArray(3) compiler.go:433: 55: goja.loadVal({a}) @@ -27491,7 +27527,7 @@ compiler.go:433: 66: goja.loadDynamicCallee(compareArray) compiler.go:433: 67: goja.loadVal({[65279 48 128]}) compiler.go:433: 68: goja.getPropCallee(split) - compiler.go:433: 69: *goja.newRegexp(&{0x4000557ec0 (0){0}}) + compiler.go:433: 69: *goja.newRegexp(&{0x40002b7800 (0){0}}) compiler.go:433: 70: goja.call(1) compiler.go:433: 71: goja.newArray(3) compiler.go:433: 72: goja.loadVal({0}) @@ -27507,7 +27543,7 @@ compiler.go:433: 82: goja.resolveVar1(re) compiler.go:433: 83: goja.loadDynamicCallee(eval) compiler.go:433: 84: goja.loadVal({/}) - compiler.go:433: 85: *goja.newRegexp(&{0x4000564000 \ud834\udf06}) + compiler.go:433: 85: *goja.newRegexp(&{0x40002b78c0 \ud834\udf06}) compiler.go:433: 86: goja.getProp(source) compiler.go:433: 87: goja._add({}) compiler.go:433: 88: goja.loadVal({/u}) @@ -27536,7 +27572,7 @@ compiler.go:433: 1: goja.resolveVar1(res) compiler.go:433: 2: goja.loadVal({aaa}) compiler.go:433: 3: goja.getPropCallee(match) - compiler.go:433: 4: *goja.newRegexp(&{0x40003645a0 ^a}) + compiler.go:433: 4: *goja.newRegexp(&{0x4000351f50 ^a}) compiler.go:433: 5: goja.call(1) compiler.go:433: 6: goja._initValueP({}) compiler.go:433: 7: goja.loadDynamic(res) @@ -27562,7 +27598,7 @@ compiler.go:433: 5: goja._initValueP({}) compiler.go:433: 6: goja.loadDynamic(RegExp) compiler.go:433: 7: goja.getProp(prototype) - compiler.go:433: 8: *goja.newFunc(&{0x400001eaa0 function(s) { + compiler.go:433: 8: *goja.newFunc(&{0x40002fa960 function(s) { return origExec.call(this, s); } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -27575,7 +27611,7 @@ compiler.go:433: > 7: goja._ret({}) compiler.go:433: 9: goja.setPropP(exec) compiler.go:433: 10: goja.resolveVar1(re) - compiler.go:433: 11: *goja.newRegexp(&{0x4000593290 (?:)}) + compiler.go:433: 11: *goja.newRegexp(&{0x40001b3ad0 (?:)}) compiler.go:433: 12: goja._initValueP({}) compiler.go:433: 13: goja.resolveVar1(str) compiler.go:433: 14: goja.loadVal({[65279 97 55296 56320 98]}) @@ -27796,7 +27832,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpToString (0.00s) === RUN TestRegexpEscapeSource - compiler.go:433: 0: *goja.newRegexp(&{0x400027fcb0 href="(.+?)(\/.*\/\S+?)\/"}) + compiler.go:433: 0: *goja.newRegexp(&{0x40002cc480 href="(.+?)(\/.*\/\S+?)\/"}) compiler.go:433: 1: goja.getProp(source) compiler.go:433: 2: goja._saveResult({}) compiler_test.go:190: stack size: 0 @@ -27805,7 +27841,7 @@ === RUN TestRegexpConsecutiveMatchCache --- PASS: TestRegexpConsecutiveMatchCache (0.00s) === RUN TestRegexpMatchAll ---- PASS: TestRegexpMatchAll (0.00s) +--- PASS: TestRegexpMatchAll (0.01s) === RUN TestRegexpOverrideSpecies compiler.go:433: 0: goja.loadDynamic(Object) compiler.go:433: 1: goja.getPropCallee(defineProperty) @@ -27815,7 +27851,7 @@ compiler.go:433: 5: goja._newObject({}) compiler.go:433: 6: goja.loadVal({true}) compiler.go:433: 7: goja.putProp(configurable) - compiler.go:433: 8: *goja.newFunc(&{0x4000271540 value function() { + compiler.go:433: 8: *goja.newFunc(&{0x400041e1e0 value function() { throw "passed"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -27830,7 +27866,7 @@ compiler.go:433: 13: goja._clearResult({}) compiler.go:433: 14: goja.loadVal({ab}) compiler.go:433: 15: goja.getPropCallee(split) - compiler.go:433: 16: *goja.newRegexp(&{0x40002125a0 a}) + compiler.go:433: 16: *goja.newRegexp(&{0x40003d2570 a}) compiler.go:433: 17: goja.call(1) compiler.go:433: 18: goja._pop({}) compiler.go:433: 19: goja.loadDynamic(Error) @@ -27865,7 +27901,7 @@ compiler.go:433: 8: goja.loadDynamic(Symbol) compiler.go:433: 9: goja.getProp(match) compiler.go:433: 10: goja._newObject({}) - compiler.go:433: 11: *goja.newFunc(&{0x4000271900 get function() { + compiler.go:433: 11: *goja.newFunc(&{0x400041e4b0 get function() { throw "passed"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -27914,7 +27950,7 @@ compiler.go:433: 2: goja.loadVal({0}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(regexp) - compiler.go:433: 5: *goja.newRegexp(&{0x400025e6f0 \d}) + compiler.go:433: 5: *goja.newRegexp(&{0x40004bc210 \d}) compiler.go:433: 6: goja._initValueP({}) compiler.go:433: 7: goja.resolveVar1(obj) compiler.go:433: 8: goja._newObject({}) @@ -27925,7 +27961,7 @@ compiler.go:433: 13: goja.loadDynamic(Symbol) compiler.go:433: 14: goja.getProp(species) compiler.go:433: 15: goja._newObject({}) - compiler.go:433: 16: *goja.newFunc(&{0x4000271c20 value function() { + compiler.go:433: 16: *goja.newFunc(&{0x400041e7d0 value function() { callCount++; callArgs = arguments; return /\w/g; @@ -27940,7 +27976,7 @@ compiler.go:433: > 7: goja.resolveVar1(callArgs) compiler.go:433: > 8: goja.loadStack1(1) compiler.go:433: > 9: goja._putValueP({}) - compiler.go:433: > 10: *goja.newRegexp(&{0x400025e900 \w}) + compiler.go:433: > 10: *goja.newRegexp(&{0x40004bc420 \w}) compiler.go:433: > 11: goja._ret({}) compiler.go:433: 17: goja.putProp(value) compiler.go:433: 18: goja.call(3) @@ -28033,7 +28069,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRegexpMatchAllConstructor (0.00s) === RUN TestRegexp2InvalidEscape - compiler.go:433: 0: *goja.newRegexp(&{0x4000205cb0 (?=)\x0}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004e9410 (?=)\x0}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({x0}) compiler.go:433: 3: goja.call(1) @@ -28042,7 +28078,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexp2InvalidEscape (0.00s) === RUN TestRegexpUnicodeEmptyMatch - compiler.go:433: 0: *goja.newRegexp(&{0x40002bf260 (0)0|}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000520900 (0)0|}) compiler.go:433: 1: goja.getPropCallee(exec) compiler.go:433: 2: goja.loadVal({[65279 48 239]}) compiler.go:433: 3: goja.call(1) @@ -28060,14 +28096,14 @@ compiler.go:433: 3: goja.loadVal({(?)}) compiler.go:433: 4: goja._pushArrayItem({}) compiler.go:433: 5: goja.getPropCallee(forEach) - compiler.go:433: 6: *goja.newFunc(&{0x40002e8280 function(s) { + compiler.go:433: 6: *goja.newFunc(&{0x400041eeb0 function(s) { assert.throws(SyntaxError, function() {new RegExp(s)}, s); } 1 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 1 1 true false}) compiler.go:433: > 1: goja.loadDynamic(assert) compiler.go:433: > 2: goja.getPropCallee(throws) compiler.go:433: > 3: goja.loadDynamic(SyntaxError) - compiler.go:433: > 4: *goja.newFunc(&{0x40002e82d0 function() {new RegExp(s)} 0 false}) + compiler.go:433: > 4: *goja.newFunc(&{0x400041ef00 function() {new RegExp(s)} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadDynamic(RegExp) compiler.go:433: >> 2: goja.loadStashLex(0) @@ -28088,7 +28124,7 @@ === RUN TestRegexpLookbehindAssertion compiler.go:433: 0: *goja.bindGlobal(&{[re] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(re) - compiler.go:433: 2: *goja.newRegexp(&{0x4000192660 (?<=Jack|Tom)Sprat}) + compiler.go:433: 2: *goja.newRegexp(&{0x40003dcf60 (?<=Jack|Tom)Sprat}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.loadDynamicCallee(assert) compiler.go:433: 5: goja.loadDynamic(re) @@ -28108,7 +28144,7 @@ compiler.go:433: 19: goja.call(2) compiler.go:433: 20: goja._pop({}) compiler.go:433: 21: goja.resolveVar1(re) - compiler.go:433: 22: *goja.newRegexp(&{0x4000192840 (? { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x40002fa9b0 () => { new RegExp("(?<=a)\\u{6_5}", "u"); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -28208,7 +28244,7 @@ compiler.go:433: 22: goja.loadDynamic(assert) compiler.go:433: 23: goja.getPropCallee(throws) compiler.go:433: 24: goja.loadDynamic(SyntaxError) - compiler.go:433: 25: *goja.newArrowFunc(&{{0x40002e8d70 () => { + compiler.go:433: 25: *goja.newArrowFunc(&{{0x40002faa00 () => { new RegExp("a\\u{6_5}", "u"); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -28229,7 +28265,7 @@ compiler.go:433: 1: goja.getPropCallee(sameValue) compiler.go:433: 2: goja.loadVal({u{0_2}}) compiler.go:433: 3: goja.getPropCallee(match) - compiler.go:433: 4: *goja.newRegexp(&{0x40002e3ad0 \u{0_2}}) + compiler.go:433: 4: *goja.newRegexp(&{0x40002ff020 \u{0_2}}) compiler.go:433: 5: goja.call(1) compiler.go:433: 6: goja.loadVal({0}) compiler.go:433: 7: goja._getElem({}) @@ -28240,7 +28276,7 @@ compiler.go:433: 12: goja.getPropCallee(sameValue) compiler.go:433: 13: goja.loadVal({uu}) compiler.go:433: 14: goja.getPropCallee(match) - compiler.go:433: 15: *goja.newRegexp(&{0x40002e3bf0 \u{2}}) + compiler.go:433: 15: *goja.newRegexp(&{0x40002ff140 \u{2}}) compiler.go:433: 16: goja.call(1) compiler.go:433: 17: goja.loadVal({0}) compiler.go:433: 18: goja._getElem({}) @@ -28251,7 +28287,7 @@ compiler.go:433: 23: goja.getPropCallee(sameValue) compiler.go:433: 24: goja.loadVal({uu}) compiler.go:433: 25: goja.getPropCallee(match) - compiler.go:433: 26: *goja.newRegexp(&{0x40002e3d10 \u{2}}) + compiler.go:433: 26: *goja.newRegexp(&{0x40002ff260 \u{2}}) compiler.go:433: 27: goja.call(1) compiler.go:433: 28: goja.loadVal({0}) compiler.go:433: 29: goja._getElem({}) @@ -28370,7 +28406,7 @@ compiler.go:433: 29: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestConstStringIter (0.01s) +--- PASS: TestConstStringIter (0.00s) === RUN TestUnicodeConcat compiler.go:433: 0: *goja.bindGlobal(&{[s s1 s2] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(s) @@ -28671,7 +28707,7 @@ === RUN TestSetFuncVariadicFuncArg --- PASS: TestSetFuncVariadicFuncArg (0.00s) === RUN TestArgsKeys - compiler.go:433: 0: *goja.newFunc(&{0x400049b770 testArgs2 function testArgs2(x, y, z) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fd9a0 testArgs2 function testArgs2(x, y, z) { // Properties of the arguments object are enumerable. return Object.keys(arguments); } 3 false}) @@ -28979,7 +29015,7 @@ compiler.go:433: 19: goja.jump(-12) compiler.go:433: 20: goja.loadDynamic(a) compiler.go:433: 21: goja.getPropCallee(sort) - compiler.go:433: 22: *goja.newFunc(&{0x400049be00 function(x, y) { return y - x } 2 false}) + compiler.go:433: 22: *goja.newFunc(&{0x400041e230 function(x, y) { return y - x } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) compiler.go:433: > 1: goja.loadStackLex(-2) compiler.go:433: > 2: goja.loadStackLex(-1) @@ -29044,7 +29080,7 @@ compiler.go:433: 13: goja._initValueP({}) compiler.go:433: 14: goja.loadDynamic(a) compiler.go:433: 15: goja.getPropCallee(sort) - compiler.go:433: 16: *goja.newFunc(&{0x4000224190 function(a, b) { return a - b; } 2 false}) + compiler.go:433: 16: *goja.newFunc(&{0x400041e500 function(a, b) { return a - b; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja.loadStackLex(-2) @@ -29100,7 +29136,7 @@ compiler.go:433: 7: goja._initValueP({}) compiler.go:433: 8: goja.loadDynamic(a) compiler.go:433: 9: goja.getPropCallee(sort) - compiler.go:433: 10: *goja.newFunc(&{0x40002244b0 function(a, b) { return a > b ? 0 : -0; } 2 false}) + compiler.go:433: 10: *goja.newFunc(&{0x400041e820 function(a, b) { return a > b ? 0 : -0; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) compiler.go:433: > 1: goja.loadStackLex(-1) compiler.go:433: > 2: goja.loadStackLex(-2) @@ -29151,7 +29187,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSortComparatorReturnValueNegZero (0.00s) === RUN TestNilApplyArg - compiler.go:433: 0: *goja.newFunc(&{0x40002246e0 x function x(a, b) { + compiler.go:433: 0: *goja.newFunc(&{0x400041ea50 x function x(a, b) { return a === undefined && b === 1; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 2}) @@ -29198,7 +29234,7 @@ === RUN TestCreateObject --- PASS: TestCreateObject (0.00s) === RUN TestInterruptInWrappedFunction ---- PASS: TestInterruptInWrappedFunction (0.02s) +--- PASS: TestInterruptInWrappedFunction (0.01s) === RUN TestInterruptInWrappedFunction2 --- PASS: TestInterruptInWrappedFunction2 (0.00s) === RUN TestInterruptInWrappedFunction2Recover @@ -29211,7 +29247,7 @@ runtime_test.go:1892: abort this at :3:23(3) --- PASS: TestInterruptWithPromises (0.00s) === RUN TestRunLoopPreempt ---- PASS: TestRunLoopPreempt (0.11s) +--- PASS: TestRunLoopPreempt (0.12s) === RUN TestNaN --- PASS: TestNaN (0.00s) === RUN TestInf @@ -29219,7 +29255,7 @@ === RUN TestRuntimeNew --- PASS: TestRuntimeNew (0.00s) === RUN TestAutoBoxing - compiler.go:433: 0: *goja.newFunc(&{0x400001e8c0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40002fa280 f function f() { 'use strict'; var a = 1; var thrown1 = false; @@ -29376,7 +29412,7 @@ compiler.go:433: 8: goja._initValueP({}) compiler.go:433: 9: goja.resolveVar1(wrapper) compiler.go:433: 10: goja._newObject({}) - compiler.go:433: 11: *goja.newFunc(&{0x400001f4a0 toString function() { + compiler.go:433: 11: *goja.newFunc(&{0x40002faaf0 toString function() { callCount += 1; return sym; } 0 false}) @@ -29389,7 +29425,7 @@ compiler.go:433: > 6: goja.loadDynamic(sym) compiler.go:433: > 7: goja._ret({}) compiler.go:433: 12: goja.putProp(toString) - compiler.go:433: 13: *goja.newFunc(&{0x400001f4f0 valueOf function() { + compiler.go:433: 13: *goja.newFunc(&{0x40002fab40 valueOf function() { $ERROR("valueOf() called"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -29406,7 +29442,7 @@ compiler.go:433: 18: goja._initValueP({}) compiler.go:433: 19: goja.loadDynamic(o) compiler.go:433: 20: goja.loadDynamic(wrapper) - compiler.go:433: 21: *goja.newFunc(&{0x400001f540 function() { return "test" } 0 false}) + compiler.go:433: 21: *goja.newFunc(&{0x40002fab90 function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja.loadVal({test}) compiler.go:433: > 2: goja._ret({}) @@ -29448,7 +29484,7 @@ compiler.go:433: 57: goja.loadDynamic(wrapper1) compiler.go:433: 58: goja.loadDynamic(Symbol) compiler.go:433: 59: goja.getProp(toPrimitive) - compiler.go:433: 60: *goja.newFunc(&{0x400001f590 function(hint) { + compiler.go:433: 60: *goja.newFunc(&{0x40002fabe0 function(hint) { if (hint === "string" || hint === "default") { return "1"; } @@ -29514,7 +29550,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestToPropertyKey (0.00s) === RUN TestPrimThisValue - compiler.go:433: 0: *goja.newFunc(&{0x400001f9f0 t function t() { + compiler.go:433: 0: *goja.newFunc(&{0x40002fb090 t function t() { 'use strict'; Boolean.prototype.toString = function() { @@ -29533,7 +29569,7 @@ compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: > 1: goja.loadDynamic(Boolean) compiler.go:433: > 2: goja.getProp(prototype) - compiler.go:433: > 3: *goja.newFunc(&{0x400001fa40 function() { + compiler.go:433: > 3: *goja.newFunc(&{0x40002fb0e0 function() { return typeof this; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -29553,7 +29589,7 @@ compiler.go:433: > 14: goja.getProp(prototype) compiler.go:433: > 15: goja.loadDynamic(Symbol) compiler.go:433: > 16: goja.getProp(iterator) - compiler.go:433: > 17: *goja.newFunc(&{0x400001fa90 function() { + compiler.go:433: > 17: *goja.newFunc(&{0x40002fb130 function() { return [typeof this][Symbol.iterator](); } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -29599,7 +29635,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPrimThisValue (0.00s) === RUN TestPrimThisValueGetter - compiler.go:433: 0: *goja.newFunc(&{0x400001fe00 t function t() { + compiler.go:433: 0: *goja.newFunc(&{0x40002fb4f0 t function t() { 'use strict'; Object.defineProperty(Boolean.prototype, "toString", { get: function() { @@ -29619,7 +29655,7 @@ compiler.go:433: > 4: goja.getProp(prototype) compiler.go:433: > 5: goja.loadVal({toString}) compiler.go:433: > 6: goja._newObject({}) - compiler.go:433: > 7: *goja.newFunc(&{0x400001fe50 get function() { + compiler.go:433: > 7: *goja.newFunc(&{0x40002fb540 get function() { var v = typeof this; return function() { return v; @@ -29629,7 +29665,7 @@ compiler.go:433: >> 1: goja.loadStack(0) compiler.go:433: >> 2: goja._typeof({}) compiler.go:433: >> 3: goja.initStashP(0) - compiler.go:433: >> 4: *goja.newFunc(&{0x400001fea0 function() { + compiler.go:433: >> 4: *goja.newFunc(&{0x40002fb590 function() { return v; } 0 true}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -29655,7 +29691,7 @@ compiler.go:433: 4: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 1 ---- PASS: TestPrimThisValueGetter (0.01s) +--- PASS: TestPrimThisValueGetter (0.00s) === RUN TestObjSetSym compiler.go:433: 0: *goja.bindGlobal(&{[sym p1 p2 o] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1Strict(sym) @@ -29766,7 +29802,7 @@ === RUN TestDateConversion --- PASS: TestDateConversion (0.00s) === RUN TestNativeCtorNewTarget - compiler.go:433: 0: *goja.newFunc(&{0x40002254a0 NewTarget function NewTarget() { + compiler.go:433: 0: *goja.newFunc(&{0x400041eb40 NewTarget function NewTarget() { } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -29984,7 +30020,7 @@ compiler.go:433: 6: goja._initValueP({}) compiler.go:433: 7: goja.resolveVar1(iterator) compiler.go:433: 8: goja._newObject({}) - compiler.go:433: 9: *goja.newFunc(&{0x40002708c0 next function() { + compiler.go:433: 9: *goja.newFunc(&{0x400041fa90 next function() { return { value: true }; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -29993,7 +30029,7 @@ compiler.go:433: > 3: goja.putProp(value) compiler.go:433: > 4: goja._ret({}) compiler.go:433: 10: goja.putProp(next) - compiler.go:433: 11: *goja.newFunc(&{0x4000270960 return function() { + compiler.go:433: 11: *goja.newFunc(&{0x400041fb30 return function() { returnCount += 1; throw new Error(); } 0 false}) @@ -30013,7 +30049,7 @@ compiler.go:433: 14: goja.loadDynamic(iterable) compiler.go:433: 15: goja.loadDynamic(Symbol) compiler.go:433: 16: goja.getProp(iterator) - compiler.go:433: 17: *goja.newFunc(&{0x40002709b0 function() { + compiler.go:433: 17: *goja.newFunc(&{0x400041fb80 function() { return iterator; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -30102,7 +30138,7 @@ === RUN TestStacktraceLocationThrowFromCatch --- PASS: TestStacktraceLocationThrowFromCatch (0.00s) === RUN TestErrorStackRethrow - compiler.go:433: 0: *goja.newFunc(&{0x4000271d60 f function f(e) { + compiler.go:433: 0: *goja.newFunc(&{0x40004fcaf0 f function f(e) { throw e; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -30139,7 +30175,7 @@ compiler.go:433: 27: goja.leaveTry({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestErrorStackRethrow (0.01s) +--- PASS: TestErrorStackRethrow (0.00s) === RUN TestStacktraceLocationThrowFromGo --- PASS: TestStacktraceLocationThrowFromGo (0.00s) === RUN TestStacktraceLocationThrowNativeInTheMiddle @@ -30208,54 +30244,54 @@ compiler.go:433: 10: goja.call(0) compiler.go:433: 11: goja.initGlobalP(anonSym) compiler.go:433: 12: goja._newObject({}) - compiler.go:433: 13: *goja.newMethod(&{{0x400049b540 id get id() {} 0 false} 1}) + compiler.go:433: 13: *goja.newMethod(&{{0x4000178320 id get id() {} 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 14: *goja.defineGetterKeyed(&{id true}) compiler.go:433: 15: goja.loadDynamic(anonSym) compiler.go:433: 16: goja._toPropertyKey({}) - compiler.go:433: 17: *goja.newMethod(&{{0x400049b590 get [anonSym]() {} 0 false} 2}) + compiler.go:433: 17: *goja.newMethod(&{{0x4000178370 get [anonSym]() {} 0 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 18: *goja.defineGetter(&{true}) compiler.go:433: 19: goja.loadDynamic(namedSym) compiler.go:433: 20: goja._toPropertyKey({}) - compiler.go:433: 21: *goja.newMethod(&{{0x400049b5e0 get [namedSym]() {} 0 false} 2}) + compiler.go:433: 21: *goja.newMethod(&{{0x40001783c0 get [namedSym]() {} 0 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 22: *goja.defineGetter(&{true}) compiler.go:433: 23: goja.loadDynamic(emptyStrSym) compiler.go:433: 24: goja._toPropertyKey({}) - compiler.go:433: 25: *goja.newMethod(&{{0x400049b630 get [emptyStrSym]() {} 0 false} 2}) + compiler.go:433: 25: *goja.newMethod(&{{0x4000178410 get [emptyStrSym]() {} 0 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 26: *goja.defineGetter(&{true}) - compiler.go:433: 27: *goja.newMethod(&{{0x400049b680 id set id(v) {} 1 false} 1}) + compiler.go:433: 27: *goja.newMethod(&{{0x4000178460 id set id(v) {} 1 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 28: *goja.defineSetterKeyed(&{id true}) compiler.go:433: 29: goja.loadDynamic(anonSym) compiler.go:433: 30: goja._toPropertyKey({}) - compiler.go:433: 31: *goja.newMethod(&{{0x400049b6d0 set [anonSym](v) {} 1 false} 2}) + compiler.go:433: 31: *goja.newMethod(&{{0x40001784b0 set [anonSym](v) {} 1 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 32: *goja.defineSetter(&{true}) compiler.go:433: 33: goja.loadDynamic(namedSym) compiler.go:433: 34: goja._toPropertyKey({}) - compiler.go:433: 35: *goja.newMethod(&{{0x400049b720 set [namedSym](v) {} 1 false} 2}) + compiler.go:433: 35: *goja.newMethod(&{{0x4000178500 set [namedSym](v) {} 1 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 36: *goja.defineSetter(&{true}) compiler.go:433: 37: goja.loadDynamic(emptyStrSym) compiler.go:433: 38: goja._toPropertyKey({}) - compiler.go:433: 39: *goja.newMethod(&{{0x400049b770 set [emptyStrSym](v) {} 1 false} 2}) + compiler.go:433: 39: *goja.newMethod(&{{0x4000178550 set [emptyStrSym](v) {} 1 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30371,17 +30407,17 @@ compiler.go:433: 9: goja._initValueP({}) compiler.go:433: 10: goja.resolveVar1(o) compiler.go:433: 11: goja._newObject({}) - compiler.go:433: 12: *goja.newFunc(&{0x400049bc70 function() {} 0 false}) + compiler.go:433: 12: *goja.newFunc(&{0x4000178a00 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 13: goja.putProp(xId) - compiler.go:433: 14: *goja.newFunc(&{0x400049bcc0 id function() {} 0 false}) + compiler.go:433: 14: *goja.newFunc(&{0x4000178a50 id function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 15: goja.putProp(id) - compiler.go:433: 16: *goja.newFunc(&{0x400049bd10 x function x() {} 0 false}) + compiler.go:433: 16: *goja.newFunc(&{0x4000178aa0 x function x() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: > 1: goja._loadCallee({}) compiler.go:433: > 2: goja.initStackP(1) @@ -30392,14 +30428,14 @@ compiler.go:433: 17: goja.putProp(id1) compiler.go:433: 18: goja.loadDynamic(anonSym) compiler.go:433: 19: goja._toPropertyKey({}) - compiler.go:433: 20: *goja.newFunc(&{0x400049bd60 function() {} 0 false}) + compiler.go:433: 20: *goja.newFunc(&{0x4000178af0 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 21: goja._setElem1Named({}) compiler.go:433: 22: goja.loadDynamic(namedSym) compiler.go:433: 23: goja._toPropertyKey({}) - compiler.go:433: 24: *goja.newFunc(&{0x400049bdb0 function() {} 0 false}) + compiler.go:433: 24: *goja.newFunc(&{0x4000178b40 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30452,12 +30488,12 @@ compiler.go:433: 71: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestCoverFuncName (0.00s) +--- PASS: TestCoverFuncName (0.01s) === RUN TestAnonFuncName compiler.go:433: 0: *goja.bindGlobal(&{[] [] [] [d] false}) compiler.go:433: 1: goja.loadDynamic(Object) compiler.go:433: 2: goja.getPropCallee(getOwnPropertyDescriptor) - compiler.go:433: 3: *goja.newFunc(&{0x40003ee0f0 function() {} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x4000178d20 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30482,7 +30518,7 @@ compiler.go:433: 0: *goja.bindGlobal(&{[p1 p2 p3 callCount currentThis nextThis afterNextThis] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(p1) compiler.go:433: 2: goja.loadDynamic(Promise) - compiler.go:433: 3: *goja.newFunc(&{0x40003ee5a0 function() {} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x40001791d0 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30490,7 +30526,7 @@ compiler.go:433: 5: goja._initValueP({}) compiler.go:433: 6: goja.resolveVar1(p2) compiler.go:433: 7: goja.loadDynamic(Promise) - compiler.go:433: 8: *goja.newFunc(&{0x40003ee5f0 function() {} 0 false}) + compiler.go:433: 8: *goja.newFunc(&{0x4000179220 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30498,7 +30534,7 @@ compiler.go:433: 10: goja._initValueP({}) compiler.go:433: 11: goja.resolveVar1(p3) compiler.go:433: 12: goja.loadDynamic(Promise) - compiler.go:433: 13: *goja.newFunc(&{0x40003ee640 function() {} 0 false}) + compiler.go:433: 13: *goja.newFunc(&{0x4000179270 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30519,7 +30555,7 @@ compiler.go:433: 28: goja.loadDynamic(p1) compiler.go:433: 29: goja.loadDynamic(p2) compiler.go:433: 30: goja.loadDynamic(p3) - compiler.go:433: 31: *goja.newFunc(&{0x40003ee690 function(a, b) { + compiler.go:433: 31: *goja.newFunc(&{0x40001792c0 function(a, b) { assert.sameValue(typeof a, 'function', 'type of first argument'); assert.sameValue( a.length, @@ -30631,7 +30667,7 @@ compiler.go:433: 52: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 3 ---- PASS: TestPromiseAll (0.01s) +--- PASS: TestPromiseAll (0.00s) === RUN TestPromiseExport --- PASS: TestPromiseExport (0.00s) === RUN TestErrorStack @@ -30893,7 +30929,7 @@ --- PASS: TestToNumber (0.00s) === RUN TestToValueNilBigInt compiler.go:433: 0: goja.loadDynamic(n) - compiler.go:433: 1: goja.loadVal({0x400051e240}) + compiler.go:433: 1: goja.loadVal({0x400022faa0}) compiler.go:433: 2: goja._op_strict_eq({}) compiler.go:433: 3: goja._saveResult({}) compiler_test.go:190: stack size: 0 @@ -30902,7 +30938,7 @@ === RUN TestClassReexport compiler.go:433: 0: *goja.bindGlobal(&{[] [] [C] [c] false}) compiler.go:433: 1: goja.jump(1) - compiler.go:433: 2: *goja.newClass(&{0x40002065f0 C class C { + compiler.go:433: 2: *goja.newClass(&{0x40002fa5a0 C class C { constructor() { this.test = true; } @@ -30951,7 +30987,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringOOBProperties (0.00s) === RUN TestImportedString ---- PASS: TestImportedString (0.05s) +--- PASS: TestImportedString (0.03s) === RUN TestStringFromUTF16 --- PASS: TestStringFromUTF16 (0.00s) === RUN TestStringBuilder @@ -31238,7 +31274,7 @@ compiler.go:433: 11: goja._initValueP({}) compiler.go:433: 12: goja.resolveVar1(obj) compiler.go:433: 13: goja._newObject({}) - compiler.go:433: 14: *goja.newFunc(&{0x4000206280 valueOf function() { + compiler.go:433: 14: *goja.newFunc(&{0x4000220410 valueOf function() { throw new Error("valueOf() was called"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31398,7 +31434,7 @@ compiler.go:433: 162: goja.loadDynamic(sample) compiler.go:433: 163: goja.loadVal({5}) compiler.go:433: 164: goja._newObject({}) - compiler.go:433: 165: *goja.newFunc(&{0x40002062d0 get function() {} 0 false}) + compiler.go:433: 165: *goja.newFunc(&{0x4000220460 get function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -31439,7 +31475,7 @@ compiler.go:433: 6: goja.loadDynamic(assert) compiler.go:433: 7: goja.getPropCallee(throws) compiler.go:433: 8: goja.loadDynamic(TypeError) - compiler.go:433: 9: *goja.newFunc(&{0x4000206780 function() { + compiler.go:433: 9: *goja.newFunc(&{0x4000220910 function() { Object.defineProperty(a, "1", {value: 1}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31473,7 +31509,7 @@ compiler.go:433: 26: goja.loadDynamic(assert) compiler.go:433: 27: goja.getPropCallee(throws) compiler.go:433: 28: goja.loadDynamic(TypeError) - compiler.go:433: 29: *goja.newFunc(&{0x40002067d0 function() { + compiler.go:433: 29: *goja.newFunc(&{0x4000220960 function() { Object.defineProperty(a, "Infinity", {value: 8}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31524,7 +31560,7 @@ compiler.go:433: 63: goja.loadDynamic(assert) compiler.go:433: 64: goja.getPropCallee(throws) compiler.go:433: 65: goja.loadDynamic(TypeError) - compiler.go:433: 66: *goja.newFunc(&{0x4000206870 function() { + compiler.go:433: 66: *goja.newFunc(&{0x40002209b0 function() { Object.defineProperty(a, "0", {value: 1, writable: false}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31547,7 +31583,7 @@ compiler.go:433: 70: goja.loadDynamic(assert) compiler.go:433: 71: goja.getPropCallee(throws) compiler.go:433: 72: goja.loadDynamic(TypeError) - compiler.go:433: 73: *goja.newFunc(&{0x40002068c0 function() { + compiler.go:433: 73: *goja.newFunc(&{0x4000220a00 function() { Object.defineProperty(a, "0", {get() { return 1; }}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31556,7 +31592,7 @@ compiler.go:433: > 3: goja.loadDynamic(a) compiler.go:433: > 4: goja.loadVal({0}) compiler.go:433: > 5: goja._newObject({}) - compiler.go:433: > 6: *goja.newMethod(&{{0x4000206910 get get() { return 1; } 0 false} 1}) + compiler.go:433: > 6: *goja.newMethod(&{{0x4000220a50 get get() { return 1; } 0 false} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadVal({1}) compiler.go:433: >> 2: goja._ret({}) @@ -31642,7 +31678,7 @@ compiler.go:433: 148: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestTypedArrayDefineProperty (0.00s) +--- PASS: TestTypedArrayDefineProperty (0.01s) === RUN TestTypedArrayGetInvalidIndex compiler.go:433: 0: *goja.bindGlobal(&{[TypedArray proto a] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(TypedArray) @@ -31660,7 +31696,7 @@ compiler.go:433: 13: goja.loadDynamic(proto) compiler.go:433: 14: goja.loadVal({1}) compiler.go:433: 15: goja._newObject({}) - compiler.go:433: 16: *goja.newFunc(&{0x4000206b40 get function() { + compiler.go:433: 16: *goja.newFunc(&{0x4000220c80 get function() { throw new Error("OrdinaryGet was called!"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31727,7 +31763,7 @@ === RUN TestVM1 --- PASS: TestVM1 (0.00s) === RUN TestEvalVar - compiler.go:433: 0: *goja.newFunc(&{0x4000207e00 test function test() { + compiler.go:433: 0: *goja.newFunc(&{0x400052a3c0 test function test() { var a; return eval("var a = 'yes'; var z = 'no'; a;") === "yes" && a === "yes"; } 0 false}) @@ -31754,7 +31790,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestEvalVar (0.00s) === RUN TestResolveMixedStack1 - compiler.go:433: 0: *goja.newFunc(&{0x40003ee320 test function test(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x400052a780 test function test(arg) { var a = 1; var scope = {}; (function() {return arg})(); // move arguments to stash @@ -31769,7 +31805,7 @@ compiler.go:433: > 3: goja._newObject({}) compiler.go:433: > 4: goja.initStack1P(2) compiler.go:433: > 5: goja._loadUndef({}) - compiler.go:433: > 6: *goja.newFunc(&{0x40003ee370 function() {return arg} 0 false}) + compiler.go:433: > 6: *goja.newFunc(&{0x400052a7d0 function() {return arg} 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(0) compiler.go:433: >> 2: goja._ret({}) @@ -31875,7 +31911,7 @@ === RUN ExampleRuntime_ForOf --- PASS: ExampleRuntime_ForOf (0.00s) PASS -ok github.com/dop251/goja 1.436s +ok github.com/dop251/goja 1.304s ? github.com/dop251/goja/ast [no test files] === RUN TestPosition --- PASS: TestPosition (0.00s) @@ -31884,7 +31920,7 @@ === RUN TestGetSourceFilename --- PASS: TestGetSourceFilename (0.00s) PASS -ok github.com/dop251/goja/file 0.022s +ok github.com/dop251/goja/file 0.013s === RUN TestFToBaseStr --- PASS: TestFToBaseStr (0.00s) === RUN TestDtostr @@ -31958,10 +31994,10 @@ --- PASS: TestDtostr/#02 (0.00s) --- PASS: TestDtostr/#01 (0.00s) PASS -ok github.com/dop251/goja/ftoa 0.020s +ok github.com/dop251/goja/ftoa 0.016s ? github.com/dop251/goja/ftoa/internal/fast [no test files] === RUN TestLexer ---- PASS: TestLexer (0.01s) +--- PASS: TestLexer (0.00s) === RUN TestParserAST --- PASS: TestParserAST (0.00s) === RUN TestParseFile @@ -31995,12 +32031,12 @@ === RUN TestTransformRegExp --- PASS: TestTransformRegExp (0.00s) PASS -ok github.com/dop251/goja/parser 0.028s +ok github.com/dop251/goja/parser 0.020s ? github.com/dop251/goja/token [no test files] === RUN TestString_AsUtf16 --- PASS: TestString_AsUtf16 (0.00s) PASS -ok github.com/dop251/goja/unistring 0.016s +ok github.com/dop251/goja/unistring 0.011s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -32029,12 +32065,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/602494/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1666968 and its subdirectories -I: Current time: Wed Aug 20 16:34:59 -12 2025 -I: pbuilder-time-stamp: 1755750899 +I: removing directory /srv/workspace/pbuilder/602494 and its subdirectories +I: Current time: Thu Sep 24 00:59:35 +14 2026 +I: pbuilder-time-stamp: 1790161175