Diff of the two buildlogs: -- --- b1/build.log 2025-08-19 14:48:15.522798476 +0000 +++ b2/build.log 2025-08-19 14:49:21.806875445 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Aug 19 02:46:57 -12 2025 -I: pbuilder-time-stamp: 1755614817 +I: Current time: Tue Sep 22 11:11:17 +14 2026 +I: pbuilder-time-stamp: 1790025077 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-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/2736024/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3411633/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 21 21:11 /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/3411633/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3411633/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='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='74d6b523ef4144b8a2d316d114b8ee49' - 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='2736024' - PS1='# ' - PS2='> ' + INVOCATION_ID=8eae909e005540bba6da1a317ae28a38 + 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=3411633 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.EZTL2Cby/pbuilderrc_0dBL --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EZTL2Cby/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.EZTL2Cby/pbuilderrc_KYgh --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EZTL2Cby/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/2736024/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3411633/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -168,7 +200,7 @@ Get: 44 http://deb.debian.org/debian unstable/main arm64 golang-github-masterminds-semver-dev all 3.2.0-1 [22.2 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 golang-golang-x-text-dev all 0.22.0-1 [3995 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 golang-gopkg-yaml.v2-dev all 2.4.0-5 [60.5 kB] -Fetched 64.2 MB in 1s (82.7 MB/s) +Fetched 64.2 MB in 0s (223 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 ... 19969 files and directories currently installed.) @@ -329,8 +361,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Aug 19 14:47:19 UTC 2025. -Universal Time is now: Tue Aug 19 14:47:19 UTC 2025. +Local time is now: Mon Sep 21 21:11:35 UTC 2026. +Universal Time is now: Mon Sep 21 21:11:35 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20240727.1) ... @@ -378,7 +410,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/3411633/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/3411633/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 @@ -397,39 +433,39 @@ 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/profilerecord +internal/coverage/rtcov internal/unsafeheader -internal/goos -internal/godebugs -internal/asan internal/byteorder -internal/runtime/syscall +internal/asan +internal/godebugs +internal/profilerecord +internal/msan internal/goexperiment internal/goarch -internal/coverage/rtcov -internal/msan +internal/goos +internal/runtime/syscall internal/cpu sync/atomic math/bits -internal/abi -cmp -unicode unicode/utf8 -internal/runtime/math +cmp encoding +unicode +internal/abi internal/chacha8rand +internal/runtime/math internal/itoa unicode/utf16 math -internal/runtime/atomic -internal/bytealg internal/runtime/sys +internal/bytealg +internal/runtime/atomic internal/runtime/exithook internal/stringslite internal/race hash/maphash -internal/sync internal/runtime/maps +internal/sync runtime internal/reflectlite iter @@ -441,63 +477,63 @@ internal/bisect internal/testlog io -strconv internal/oserror path +strconv syscall internal/godebug -golang.org/x/text/unicode/rangetable -golang.org/x/text/internal/tag -strings github.com/go-sourcemap/sourcemap/internal/base64vlq hash +strings 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 -time internal/syscall/execenv +time internal/syscall/unix regexp io/fs internal/poll internal/filepathlite os -internal/fmtsort -github.com/dop251/goja/unistring encoding/binary +github.com/dop251/goja/unistring +internal/fmtsort encoding/base64 -path/filepath -fmt io/ioutil -encoding/json -github.com/dlclark/regexp2/syntax +fmt +path/filepath net/url github.com/dop251/goja/ftoa/internal/fast -compress/flate go/token +github.com/dlclark/regexp2/syntax +encoding/json +compress/flate +golang.org/x/text/unicode/norm math/big golang.org/x/text/internal/language -golang.org/x/text/unicode/norm go/scanner -compress/gzip go/ast +compress/gzip github.com/google/pprof/profile golang.org/x/text/internal/language/compact golang.org/x/text/language github.com/dlclark/regexp2 -github.com/go-sourcemap/sourcemap golang.org/x/text/internal golang.org/x/text/internal/colltab -github.com/dop251/goja/file golang.org/x/text/cases -github.com/dop251/goja/ast +github.com/go-sourcemap/sourcemap github.com/dop251/goja/ftoa +github.com/dop251/goja/file golang.org/x/text/collate +github.com/dop251/goja/ast github.com/dop251/goja/parser github.com/dop251/goja dh_auto_test -O--buildsystem=golang @@ -565,7 +601,7 @@ compiler.go:433: 59: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSparseArraySetLengthWithPropItems (0.01s) +--- PASS: TestSparseArraySetLengthWithPropItems (0.00s) === RUN TestSparseArraySwitch --- PASS: TestSparseArraySwitch (0.13s) === RUN TestSparseArrayOwnKeys @@ -678,7 +714,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArraySparseMaxLength (0.00s) === RUN TestArraySparseExportProps ---- PASS: TestArraySparseExportProps (0.00s) +--- PASS: TestArraySparseExportProps (0.01s) === RUN TestSparseArrayExportToSlice --- PASS: TestSparseArrayExportToSlice (0.00s) === RUN TestArray1 @@ -865,12 +901,12 @@ compiler.go:433: 6: goja.loadDynamic(a) compiler.go:433: 7: goja.loadVal({0}) compiler.go:433: 8: goja._newObject({}) - compiler.go:433: 9: *goja.newFunc(&{0x400001ee60 get function() {return 42} 0 false}) + compiler.go:433: 9: *goja.newFunc(&{0x400001f810 get 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({}) compiler.go:433: 10: goja.putProp(get) - compiler.go:433: 11: *goja.newFunc(&{0x400001eeb0 set function(v) {Object.defineProperty(a, "0", {value: v + 1, writable: true, configurable: true})} 1 false}) + compiler.go:433: 11: *goja.newFunc(&{0x400001f860 set function(v) {Object.defineProperty(a, "0", {value: v + 1, writable: true, configurable: true})} 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) compiler.go:433: > 1: goja.loadDynamic(Object) compiler.go:433: > 2: goja.getPropCallee(defineProperty) @@ -1021,7 +1057,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArraySetLengthWithPropItems (0.00s) === RUN TestArrayFrom - compiler.go:433: 0: *goja.newFunc(&{0x4000423090 checkDestHoles function checkDestHoles(dest, prefix) { + compiler.go:433: 0: *goja.newFunc(&{0x4000368be0 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]"); @@ -1094,7 +1130,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(&{0x40004230e0 checkDest function checkDest(dest, prefix) { + compiler.go:433: 1: *goja.newFunc(&{0x4000368c30 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]"); @@ -1156,7 +1192,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(&{0x4000423130 Iter function Iter() { + compiler.go:433: 2: *goja.newFunc(&{0x4000368c80 Iter function Iter() { this.idx = 0; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1166,11 +1202,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(&{0x4000423180 A function A() {} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x4000368cd0 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(&{0x40004231d0 T2 function T2() { + compiler.go:433: 4: *goja.newFunc(&{0x4000368d20 T2 function T2() { Object.defineProperty(this, 0, { configurable: false, writable: true, @@ -1231,7 +1267,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(&{0x4000423220 function() { + compiler.go:433: 42: *goja.newFunc(&{0x4000368d70 function() { if (this.idx < source.length) { return {value: source[this.idx++]}; } else { @@ -1273,7 +1309,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(&{0x4000423270 function() { + compiler.go:433: 50: *goja.newFunc(&{0x4000368dc0 function() { return new Iter(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1337,7 +1373,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(&{0x40004232c0 function() { + compiler.go:433: 108: *goja.newFunc(&{0x4000368e10 function() { Array.from.call(T2, source); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1356,7 +1392,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArrayFrom (0.01s) === RUN TestArrayOf - compiler.go:433: 0: *goja.newFunc(&{0x400001ea00 T1 function T1() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369220 T1 function T1() { Object.preventExtensions(this); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1368,7 +1404,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(&{0x400001ea50 T2 function T2() { + compiler.go:433: 1: *goja.newFunc(&{0x4000369270 T2 function T2() { Object.defineProperty(this, 0, { configurable: false, writable: true, @@ -1396,7 +1432,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(&{0x400001eaa0 function() { + compiler.go:433: 6: *goja.newFunc(&{0x40003692c0 function() { Array.of.call(T1, 'Bob'); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1414,7 +1450,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(&{0x400001eaf0 function() { + compiler.go:433: 12: *goja.newFunc(&{0x4000369310 function() { Array.of.call(T2, 'Bob'); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1500,7 +1536,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(&{0x400001eff0 function() { + compiler.go:433: 3: *goja.newFunc(&{0x4000369770 function() { [1,2].sort(null); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1521,7 +1557,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(&{0x400001f040 function() { + compiler.go:433: 10: *goja.newFunc(&{0x40003697c0 function() { [1,2].sort({}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1567,7 +1603,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(&{{0x400001f770 get get() { + compiler.go:433: 24: *goja.newMethod(&{{0x4000369a90 get get() { array.pop(); array.pop(); return this.foo; @@ -1586,7 +1622,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(&{{0x400001f860 set set(v) { + compiler.go:433: 26: *goja.newMethod(&{{0x4000369ae0 set set(v) { this.foo = v; } 1 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -1963,7 +1999,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(&{0x4000422140 function () { + compiler.go:433: 278: *goja.newFunc(&{0x4000458000 function () { return { foo: 1 }; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -1984,7 +2020,7 @@ compiler.go:433: 289: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestArrayConcat (0.00s) +--- PASS: TestArrayConcat (0.01s) === RUN TestArrayFlat compiler.go:433: 0: *goja.bindGlobal(&{[array] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(array) @@ -2188,7 +2224,7 @@ === RUN TestArrayFlatMap compiler.go:433: 0: *goja.bindGlobal(&{[double array] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(double) - compiler.go:433: 2: *goja.newFunc(&{0x40002f23c0 double function(x) { + compiler.go:433: 2: *goja.newFunc(&{0x40004585a0 double function(x) { if (isNaN(x)) { return x } @@ -2610,9 +2646,9 @@ compiler.go:433: 250: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestArrayToSpliced (0.01s) +--- PASS: TestArrayToSpliced (0.00s) === RUN TestBigInt - compiler.go:433: 0: goja.loadVal({0x40003f6660}) + compiler.go:433: 0: goja.loadVal({0x40001b46e0}) compiler.go:433: 1: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 @@ -2626,7 +2662,7 @@ === RUN TestBigIntFormat compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(sameValue) - compiler.go:433: 2: goja.loadVal({0x40003f6b60}) + compiler.go:433: 2: goja.loadVal({0x40001b4be0}) compiler.go:433: 3: goja.getPropCallee(toString) compiler.go:433: 4: goja.loadDynamic(undefined) compiler.go:433: 5: goja.call(1) @@ -2637,9 +2673,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(&{{0x40002f2fa0 () => { (1n).toString(-1); } 0 false}}) + compiler.go:433: 13: *goja.newArrowFunc(&{{0x4000459180 () => { (1n).toString(-1); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x40003f6bc0}) + compiler.go:433: > 1: goja.loadVal({0x40001b4c40}) compiler.go:433: > 2: goja.getPropCallee(toString) compiler.go:433: > 3: goja.loadVal({1}) compiler.go:433: > 4: goja._neg({}) @@ -2653,9 +2689,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(&{{0x40002f2ff0 () => { (1n).toString(37); } 0 false}}) + compiler.go:433: 20: *goja.newArrowFunc(&{{0x40004591d0 () => { (1n).toString(37); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x40003f6c40}) + compiler.go:433: > 1: goja.loadVal({0x40001b4cc0}) compiler.go:433: > 2: goja.getPropCallee(toString) compiler.go:433: > 3: goja.loadVal({37}) compiler.go:433: > 4: goja.call(1) @@ -2667,7 +2703,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({0x40003f6ca0}) + compiler.go:433: 26: goja.loadVal({0x40001b4d20}) compiler.go:433: 27: goja.getPropCallee(toString) compiler.go:433: 28: goja.loadVal({2}) compiler.go:433: 29: goja.call(1) @@ -2677,7 +2713,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({0x40003f6d00}) + compiler.go:433: 36: goja.loadVal({0x40001b4d80}) compiler.go:433: 37: goja.getPropCallee(toString) compiler.go:433: 38: goja.loadVal({3}) compiler.go:433: 39: goja.call(1) @@ -2693,7 +2729,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(&{{0x40004281e0 () => { 1 - 1n; } 0 false}}) + compiler.go:433: 4: *goja.newArrowFunc(&{{0x400001ea00 () => { 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}) @@ -2707,7 +2743,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(&{{0x4000428280 () => { 1n - 1; } 0 false}}) + compiler.go:433: 11: *goja.newArrowFunc(&{{0x400001eaa0 () => { 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}) @@ -2721,7 +2757,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(&{{0x4000428320 () => { 1n + 1; } 0 false}}) + compiler.go:433: 18: *goja.newArrowFunc(&{{0x400001eb90 () => { 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}) @@ -2735,7 +2771,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(&{{0x40004283c0 () => { 1 + 1n; } 0 false}}) + compiler.go:433: 25: *goja.newArrowFunc(&{{0x400001ec80 () => { 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}) @@ -2749,7 +2785,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(&{{0x4000428460 () => { 1 * 1n; } 0 false}}) + compiler.go:433: 32: *goja.newArrowFunc(&{{0x400001ed20 () => { 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}) @@ -2763,7 +2799,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(&{{0x4000428500 () => { 1n * 1; } 0 false}}) + compiler.go:433: 39: *goja.newArrowFunc(&{{0x400001edc0 () => { 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}) @@ -2777,7 +2813,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(&{{0x40004285a0 () => { 1 / 1n; } 0 false}}) + compiler.go:433: 46: *goja.newArrowFunc(&{{0x400001ee60 () => { 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}) @@ -2791,7 +2827,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(&{{0x4000428640 () => { 1n / 1; } 0 false}}) + compiler.go:433: 53: *goja.newArrowFunc(&{{0x400001ef00 () => { 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}) @@ -2805,7 +2841,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(&{{0x40004286e0 () => { 1 % 1n; } 0 false}}) + compiler.go:433: 60: *goja.newArrowFunc(&{{0x400001efa0 () => { 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}) @@ -2819,7 +2855,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(&{{0x4000428780 () => { 1n % 1; } 0 false}}) + compiler.go:433: 67: *goja.newArrowFunc(&{{0x400001f040 () => { 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}) @@ -2833,7 +2869,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(&{{0x4000428820 () => { 1n ** 1; } 0 false}}) + compiler.go:433: 74: *goja.newArrowFunc(&{{0x400001f1d0 () => { 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}) @@ -2847,7 +2883,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(&{{0x40004288c0 () => { 1 ** 1n; } 0 false}}) + compiler.go:433: 81: *goja.newArrowFunc(&{{0x400001f310 () => { 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}) @@ -2861,7 +2897,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(&{{0x4000428960 () => { 1 & 1n; } 0 false}}) + compiler.go:433: 88: *goja.newArrowFunc(&{{0x400001f4a0 () => { 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}) @@ -2875,7 +2911,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(&{{0x4000428a00 () => { 1n & 1; } 0 false}}) + compiler.go:433: 95: *goja.newArrowFunc(&{{0x400001f540 () => { 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}) @@ -2889,7 +2925,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(&{{0x4000428aa0 () => { 1 | 1n; } 0 false}}) + compiler.go:433: 102: *goja.newArrowFunc(&{{0x400001f5e0 () => { 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}) @@ -2903,7 +2939,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(&{{0x4000428b40 () => { 1n | 1; } 0 false}}) + compiler.go:433: 109: *goja.newArrowFunc(&{{0x400001f680 () => { 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}) @@ -2917,7 +2953,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(&{{0x4000428be0 () => { 1 ^ 1n; } 0 false}}) + compiler.go:433: 116: *goja.newArrowFunc(&{{0x400001f720 () => { 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}) @@ -2931,7 +2967,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(&{{0x4000428c80 () => { 1n ^ 1; } 0 false}}) + compiler.go:433: 123: *goja.newArrowFunc(&{{0x400001f810 () => { 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}) @@ -2945,7 +2981,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(&{{0x4000428d20 () => { 1 << 1n; } 0 false}}) + compiler.go:433: 130: *goja.newArrowFunc(&{{0x400001f8b0 () => { 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}) @@ -2959,7 +2995,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(&{{0x4000428dc0 () => { 1n << 1; } 0 false}}) + compiler.go:433: 137: *goja.newArrowFunc(&{{0x400001f950 () => { 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}) @@ -2973,7 +3009,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(&{{0x4000428e60 () => { 1 >> 1n; } 0 false}}) + compiler.go:433: 144: *goja.newArrowFunc(&{{0x400001f9f0 () => { 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}) @@ -2987,7 +3023,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(&{{0x4000428f00 () => { 1n >> 1; } 0 false}}) + compiler.go:433: 151: *goja.newArrowFunc(&{{0x400001fa90 () => { 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}) @@ -3001,7 +3037,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(&{{0x4000428fa0 () => { 1 >>> 1n; } 0 false}}) + compiler.go:433: 158: *goja.newArrowFunc(&{{0x400001fb30 () => { 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}) @@ -3015,7 +3051,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(&{{0x4000429040 () => { 1n >>> 1; } 0 false}}) + compiler.go:433: 165: *goja.newArrowFunc(&{{0x400001fbd0 () => { 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}) @@ -3028,122 +3064,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({0x40004264e0}) - compiler.go:433: 172: goja.loadVal({0x4000426520}) + compiler.go:433: 171: goja.loadVal({0x400023e560}) + compiler.go:433: 172: goja.loadVal({0x400023e5a0}) compiler.go:433: 173: goja._add({}) - compiler.go:433: 174: goja.loadVal({0x4000426560}) + compiler.go:433: 174: goja.loadVal({0x400023e5e0}) 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({0x40004265c0}) - compiler.go:433: 181: goja.loadVal({0x4000426600}) + compiler.go:433: 180: goja.loadVal({0x400023e640}) + compiler.go:433: 181: goja.loadVal({0x400023e680}) compiler.go:433: 182: goja._sub({}) - compiler.go:433: 183: goja.loadVal({0x4000426640}) + compiler.go:433: 183: goja.loadVal({0x400023e6c0}) 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({0x40004266a0}) - compiler.go:433: 190: goja.loadVal({0x40004266e0}) + compiler.go:433: 189: goja.loadVal({0x400023e720}) + compiler.go:433: 190: goja.loadVal({0x400023e760}) compiler.go:433: 191: goja._mul({}) - compiler.go:433: 192: goja.loadVal({0x4000426720}) + compiler.go:433: 192: goja.loadVal({0x400023e7a0}) 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({0x4000426780}) - compiler.go:433: 199: goja.loadVal({0x40004267c0}) + compiler.go:433: 198: goja.loadVal({0x400023e800}) + compiler.go:433: 199: goja.loadVal({0x400023e840}) compiler.go:433: 200: goja._div({}) - compiler.go:433: 201: goja.loadVal({0x4000426800}) + compiler.go:433: 201: goja.loadVal({0x400023e880}) 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({0x4000426860}) - compiler.go:433: 208: goja.loadVal({0x40004268a0}) + compiler.go:433: 207: goja.loadVal({0x400023e8e0}) + compiler.go:433: 208: goja.loadVal({0x400023e920}) compiler.go:433: 209: goja._mod({}) - compiler.go:433: 210: goja.loadVal({0x40004268e0}) + compiler.go:433: 210: goja.loadVal({0x400023e960}) 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({0x4000426940}) - compiler.go:433: 217: goja.loadVal({0x4000426980}) + compiler.go:433: 216: goja.loadVal({0x400023e9c0}) + compiler.go:433: 217: goja.loadVal({0x400023ea00}) compiler.go:433: 218: goja._exp({}) - compiler.go:433: 219: goja.loadVal({0x40004269c0}) + compiler.go:433: 219: goja.loadVal({0x400023ea40}) 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({0x4000426a20}) - compiler.go:433: 226: goja.loadVal({0x4000426a60}) + compiler.go:433: 225: goja.loadVal({0x400023eaa0}) + compiler.go:433: 226: goja.loadVal({0x400023eae0}) compiler.go:433: 227: goja._and({}) - compiler.go:433: 228: goja.loadVal({0x4000426aa0}) + compiler.go:433: 228: goja.loadVal({0x400023eb20}) 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({0x4000426b00}) - compiler.go:433: 235: goja.loadVal({0x4000426b40}) + compiler.go:433: 234: goja.loadVal({0x400023eb80}) + compiler.go:433: 235: goja.loadVal({0x400023ebc0}) compiler.go:433: 236: goja._or({}) - compiler.go:433: 237: goja.loadVal({0x4000426b80}) + compiler.go:433: 237: goja.loadVal({0x400023ec00}) 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({0x4000426be0}) - compiler.go:433: 244: goja.loadVal({0x4000426c20}) + compiler.go:433: 243: goja.loadVal({0x400023ec60}) + compiler.go:433: 244: goja.loadVal({0x400023eca0}) compiler.go:433: 245: goja._xor({}) - compiler.go:433: 246: goja.loadVal({0x4000426c60}) + compiler.go:433: 246: goja.loadVal({0x400023ece0}) 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({0x4000426cc0}) - compiler.go:433: 253: goja.loadVal({0x4000426d00}) + compiler.go:433: 252: goja.loadVal({0x400023ed40}) + compiler.go:433: 253: goja.loadVal({0x400023ed80}) compiler.go:433: 254: goja._sal({}) - compiler.go:433: 255: goja.loadVal({0x4000426d40}) + compiler.go:433: 255: goja.loadVal({0x400023edc0}) 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({0x4000426da0}) - compiler.go:433: 262: goja.loadVal({0x400044bb40}) + compiler.go:433: 261: goja.loadVal({0x400023ee20}) + compiler.go:433: 262: goja.loadVal({0x400024bbc0}) compiler.go:433: 263: goja._sal({}) - compiler.go:433: 264: goja.loadVal({0x4000426e20}) + compiler.go:433: 264: goja.loadVal({0x400023eea0}) 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({0x4000426e80}) - compiler.go:433: 271: goja.loadVal({0x4000426ec0}) + compiler.go:433: 270: goja.loadVal({0x400023ef00}) + compiler.go:433: 271: goja.loadVal({0x400023ef40}) compiler.go:433: 272: goja._sar({}) - compiler.go:433: 273: goja.loadVal({0x4000426f00}) + compiler.go:433: 273: goja.loadVal({0x400023ef80}) 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({0x4000426f60}) - compiler.go:433: 280: goja.loadVal({0x400044bcc0}) + compiler.go:433: 279: goja.loadVal({0x400023efe0}) + compiler.go:433: 280: goja.loadVal({0x400024bd40}) compiler.go:433: 281: goja._sar({}) - compiler.go:433: 282: goja.loadVal({0x4000426fe0}) + compiler.go:433: 282: goja.loadVal({0x400023f060}) 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({0x4000427060}) + compiler.go:433: 286: goja.loadVal({0x400023f0e0}) compiler.go:433: 287: goja.initGlobalP(a) compiler.go:433: 288: goja.loadDynamic(assert) compiler.go:433: 289: goja.getPropCallee(sameValue) @@ -3155,7 +3191,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({0x40004270a0}) + compiler.go:433: 298: goja.loadVal({0x400023f120}) compiler.go:433: 299: goja.loadVal({inc}) compiler.go:433: 300: goja.call(3) compiler.go:433: 301: goja._pop({}) @@ -3169,18 +3205,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({0x4000427100}) + compiler.go:433: 312: goja.loadVal({0x400023f180}) 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({0x4000427160}) + compiler.go:433: 319: goja.loadVal({0x400023f1e0}) compiler.go:433: 320: goja.call(1) - compiler.go:433: 321: goja.loadVal({0x40004271a0}) + compiler.go:433: 321: goja.loadVal({0x400023f220}) compiler.go:433: 322: goja._sub({}) - compiler.go:433: 323: goja.loadVal({0x40004271e0}) + compiler.go:433: 323: goja.loadVal({0x400023f260}) compiler.go:433: 324: goja.loadVal({primitive sub}) compiler.go:433: 325: goja.call(3) compiler.go:433: 326: goja._pop({}) @@ -3188,12 +3224,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({0x4000427240}) + compiler.go:433: 331: goja.loadVal({0x400023f2c0}) compiler.go:433: 332: goja.call(1) compiler.go:433: 333: goja.call(1) - compiler.go:433: 334: goja.loadVal({0x4000427280}) + compiler.go:433: 334: goja.loadVal({0x400023f300}) compiler.go:433: 335: goja._sub({}) - compiler.go:433: 336: goja.loadVal({0x40004272c0}) + compiler.go:433: 336: goja.loadVal({0x400023f340}) compiler.go:433: 337: goja.loadVal({primitive sub}) compiler.go:433: 338: goja.call(3) compiler.go:433: 339: goja._pop({}) @@ -3203,34 +3239,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(&{{0x4000429180 () => 1n 0 false}}) + compiler.go:433: 346: *goja.newArrowFunc(&{{0x400001fd10 () => 1n 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x4000427320}) + compiler.go:433: > 1: goja.loadVal({0x400023f3a0}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 347: goja._setElem1Named({}) - compiler.go:433: 348: goja.loadVal({0x4000427360}) + compiler.go:433: 348: goja.loadVal({0x400023f3e0}) compiler.go:433: 349: goja._sub({}) - compiler.go:433: 350: goja.loadVal({0x40004273a0}) + compiler.go:433: 350: goja.loadVal({0x400023f420}) 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(&{{0x40004291d0 valueOf () => 1n 0 false}}) + compiler.go:433: 357: *goja.newArrowFunc(&{{0x400001fd60 valueOf () => 1n 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: goja.loadVal({0x4000427400}) + compiler.go:433: > 1: goja.loadVal({0x400023f480}) compiler.go:433: > 2: goja._ret({}) compiler.go:433: 358: goja.putProp(valueOf) - compiler.go:433: 359: goja.loadVal({0x4000427440}) + compiler.go:433: 359: goja.loadVal({0x400023f4c0}) compiler.go:433: 360: goja._sub({}) - compiler.go:433: 361: goja.loadVal({0x4000427480}) + compiler.go:433: 361: goja.loadVal({0x400023f500}) 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({0x40004274e0}) + compiler.go:433: 367: goja.loadVal({0x400023f560}) compiler.go:433: 368: goja.loadVal({0}) compiler.go:433: 369: goja._op_gt({}) compiler.go:433: 370: goja.loadVal({true}) @@ -3240,7 +3276,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({0x4000427560}) + compiler.go:433: 377: goja.loadVal({0x400023f5e0}) compiler.go:433: 378: goja._op_gt({}) compiler.go:433: 379: goja.loadVal({false}) compiler.go:433: 380: goja.loadVal({gt}) @@ -3249,7 +3285,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({0x40004275e0}) + compiler.go:433: 386: goja.loadVal({0x400023f660}) compiler.go:433: 387: goja.call(1) compiler.go:433: 388: goja.loadVal({0}) compiler.go:433: 389: goja._op_gt({}) @@ -3261,7 +3297,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({0x4000427660}) + compiler.go:433: 398: goja.loadVal({0x400023f6e0}) compiler.go:433: 399: goja.call(1) compiler.go:433: 400: goja._op_gt({}) compiler.go:433: 401: goja.loadVal({false}) @@ -3270,7 +3306,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({0x40004276e0}) + compiler.go:433: 407: goja.loadVal({0x400023f760}) compiler.go:433: 408: goja.loadVal({0}) compiler.go:433: 409: goja._op_lt({}) compiler.go:433: 410: goja.loadVal({false}) @@ -3280,7 +3316,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({0x4000427760}) + compiler.go:433: 417: goja.loadVal({0x400023f7e0}) compiler.go:433: 418: goja._op_lt({}) compiler.go:433: 419: goja.loadVal({true}) compiler.go:433: 420: goja.loadVal({lt}) @@ -3289,7 +3325,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({0x40004277e0}) + compiler.go:433: 426: goja.loadVal({0x400023f860}) compiler.go:433: 427: goja.call(1) compiler.go:433: 428: goja.loadVal({0}) compiler.go:433: 429: goja._op_lt({}) @@ -3301,7 +3337,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({0x4000427860}) + compiler.go:433: 438: goja.loadVal({0x400023f8e0}) compiler.go:433: 439: goja.call(1) compiler.go:433: 440: goja._op_lt({}) compiler.go:433: 441: goja.loadVal({true}) @@ -3310,7 +3346,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({0x40004278e0}) + compiler.go:433: 447: goja.loadVal({0x400023f960}) compiler.go:433: 448: goja.loadVal({0}) compiler.go:433: 449: goja._op_gte({}) compiler.go:433: 450: goja.loadVal({true}) @@ -3320,7 +3356,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({0x4000427960}) + compiler.go:433: 457: goja.loadVal({0x400023f9e0}) compiler.go:433: 458: goja._op_gte({}) compiler.go:433: 459: goja.loadVal({false}) compiler.go:433: 460: goja.loadVal({ge}) @@ -3328,7 +3364,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({0x40004279e0}) + compiler.go:433: 465: goja.loadVal({0x400023fa60}) compiler.go:433: 466: goja.loadVal({0}) compiler.go:433: 467: goja._op_lte({}) compiler.go:433: 468: goja.loadVal({false}) @@ -3338,7 +3374,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({0x4000427a60}) + compiler.go:433: 475: goja.loadVal({0x400023fae0}) compiler.go:433: 476: goja._op_lte({}) compiler.go:433: 477: goja.loadVal({true}) compiler.go:433: 478: goja.loadVal({le}) @@ -3346,12 +3382,12 @@ compiler.go:433: 480: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestBigIntOperator (0.00s) +--- PASS: TestBigIntOperator (0.01s) === RUN TestHashbangInFunctionConstructor 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(&{0x4000428410 function() { + compiler.go:433: 3: *goja.newFunc(&{0x4000368050 function() { new Function("#!") } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3370,7 +3406,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(&{0x4000428a50 function() {return arguments.length} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x4000368690 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) @@ -3414,7 +3450,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(&{0x4000422460 function(key, value) { + compiler.go:433: 3: *goja.newFunc(&{0x4000369c20 function(key, value) { return typeof value === 'number' ? value * 2 // return value * 2 for numbers : value // return everything else unchanged @@ -3451,7 +3487,7 @@ === RUN TestMarshalJSONError --- PASS: TestMarshalJSONError (0.00s) === RUN TestMapEvilIterator - compiler.go:433: 0: *goja.newFunc(&{0x4000423270 Iter function Iter(value) { + compiler.go:433: 0: *goja.newFunc(&{0x400035a870 Iter function Iter(value) { this.value = value; this.idx = 0; } 1 true}) @@ -3464,7 +3500,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(&{0x40004232c0 t function t(prefix) { + compiler.go:433: 1: *goja.newFunc(&{0x400035a8c0 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)"); @@ -3517,7 +3553,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(&{0x4000423360 function() { + compiler.go:433: 8: *goja.newFunc(&{0x400035a960 function() { var idx = this.idx; if (idx === 0) { this.idx++; @@ -3549,7 +3585,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(&{0x40004233b0 function() { + compiler.go:433: 13: *goja.newFunc(&{0x400035a9b0 function() { return new Iter({}); } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3561,7 +3597,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(&{0x4000423450 function() { + compiler.go:433: 18: *goja.newFunc(&{0x400035aa50 function() { new Map(o); } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3576,7 +3612,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(&{0x40004234a0 function() { + compiler.go:433: 24: *goja.newFunc(&{0x400035aaa0 function() { return new Iter({value: []}); } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -3601,7 +3637,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(&{0x40004234f0 function() { + compiler.go:433: 40: *goja.newFunc(&{0x400035aaf0 function() { count++; origSet.apply(this, arguments); } 0 true}) @@ -3636,7 +3672,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 @@ -3654,7 +3690,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x4000423a90 set get set() { + compiler.go:433: 7: *goja.newMethod(&{{0x400035b090 set get set() { getterCalled++; return null; } 0 true} 1}) @@ -3676,7 +3712,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(&{{0x4000423ae0 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x400035b0e0 () => { getIteratorCalled++ return { next: 1 @@ -3776,7 +3812,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(&{0x4000423ef0 getPrototypeOf function(target) { + compiler.go:433: 17: *goja.newFunc(&{0x400035b4f0 getPrototypeOf function(target) { return proto2; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -3873,7 +3909,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(&{0x400001eaf0 setPrototypeOf function(target, prototype) { + compiler.go:433: 20: *goja.newFunc(&{0x400035a410 setPrototypeOf function(target, prototype) { return Object.setPrototypeOf(target, proto2); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -3945,7 +3981,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(&{0x400001eeb0 isExtensible function(target) { + compiler.go:433: 13: *goja.newFunc(&{0x400035a730 isExtensible function(target) { return false; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -3999,7 +4035,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(&{0x400001f6d0 preventExtensions function(target) { + compiler.go:433: 10: *goja.newFunc(&{0x400035acd0 preventExtensions function(target) { target.canEvolve = false; Object.preventExtensions(obj); return true; @@ -4111,7 +4147,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(&{0x40002f2370 getOwnPropertyDescriptor function(target, property) { + compiler.go:433: 37: *goja.newFunc(&{0x400035b450 getOwnPropertyDescriptor function(target, property) { return proxy_desc; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4123,7 +4159,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(&{0x40002f23c0 function() { + compiler.go:433: 44: *goja.newFunc(&{0x400035b4a0 function() { Object.getOwnPropertyDescriptor(proxy, "foo"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -4391,7 +4427,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(&{0x40002f2ff0 defineProperty function(target, prop, descriptor) { + compiler.go:433: 8: *goja.newFunc(&{0x4000458230 defineProperty function(target, prop, descriptor) { target.foo = "321tset"; return true; } 3 false}) @@ -4418,7 +4454,7 @@ compiler.go:433: 23: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestProxy_proxy_defineProperty (0.01s) +--- PASS: TestProxy_proxy_defineProperty (0.00s) === RUN TestProxy_native_proxy_defineProperty compiler.go:433: 0: goja.loadDynamic(Object) compiler.go:433: 1: goja.getPropCallee(defineProperty) @@ -4506,7 +4542,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(&{0x40002f2410 has function(target, key) { + compiler.go:433: 10: *goja.newFunc(&{0x40004586e0 has function(target, key) { return key !== "secret"; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4556,7 +4592,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(&{0x40002f2820 has function(target, key) { + compiler.go:433: 10: *goja.newFunc(&{0x4000458af0 has function(target, key) { return key !== "secret"; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4630,7 +4666,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(&{0x40002f2d70 get function(target, prop, receiver) { + compiler.go:433: 8: *goja.newFunc(&{0x4000459040 get function(target, prop, receiver) { return "321tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -4668,7 +4704,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(&{0x40002f3270 ownKeys function() { + compiler.go:433: 11: *goja.newFunc(&{0x4000459400 ownKeys function() { return ["foo"]; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -4677,7 +4713,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(&{0x40002f3310 getOwnPropertyDescriptor function(target, prop) { + compiler.go:433: 13: *goja.newFunc(&{0x40004594a0 getOwnPropertyDescriptor function(target, prop) { if (prop === "foo") { return { value: propValue, @@ -4702,7 +4738,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(&{0x40002f3360 get function(target, prop, receiver) { + compiler.go:433: 15: *goja.newFunc(&{0x40004594f0 get function(target, prop, receiver) { if (prop === "foo") { _prop = prop; _receiver = receiver; @@ -4790,7 +4826,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(&{0x40002f39f0 set function(target, prop, receiver) { + compiler.go:433: 8: *goja.newFunc(&{0x4000459b80 set function(target, prop, receiver) { target.foo = "321tset"; return true; } 3 false}) @@ -4841,7 +4877,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(&{0x40002f3d60 set function(target, property, value, receiver) { + compiler.go:433: 8: *goja.newFunc(&{0x4000459ef0 set function(target, property, value, receiver) { target["foo"] = "321tset"; return true; } 4 false}) @@ -4896,7 +4932,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(&{0x400001e7d0 deleteProperty function(target, prop) { + compiler.go:433: 10: *goja.newFunc(&{0x400001e960 deleteProperty function(target, prop) { return true; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -4961,7 +4997,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(&{0x400001ed20 ownKeys function(target) { + compiler.go:433: 10: *goja.newFunc(&{0x400001eeb0 ownKeys function(target) { return ["foo", "bar"]; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -5015,7 +5051,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(&{0x400001ef50 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x400001f1d0 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5037,7 +5073,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(&{0x400001f4a0 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x400001f630 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5048,7 +5084,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(&{0x400001f4f0 apply function(target, thisArg, args) { + compiler.go:433: 8: *goja.newFunc(&{0x400001f680 apply function(target, thisArg, args) { return "tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -5066,7 +5102,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(&{0x400001f720 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x400001f900 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5089,7 +5125,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(&{0x400001fa40 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x400001fbd0 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5100,7 +5136,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(&{0x400001fa90 apply function(target, thisArg, args) { + compiler.go:433: 8: *goja.newFunc(&{0x400001fc20 apply function(target, thisArg, args) { return "tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -5119,7 +5155,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(&{0x400001fcc0 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x400001fe50 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5142,7 +5178,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(&{0x4000428190 obj function() { + compiler.go:433: 2: *goja.newFunc(&{0x40003681e0 obj function() { return "test" } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5153,7 +5189,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(&{0x40004281e0 apply function(target, thisArg, args) { + compiler.go:433: 8: *goja.newFunc(&{0x4000368230 apply function(target, thisArg, args) { return "tset" } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -5172,7 +5208,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(&{0x40004284b0 obj function(word) { + compiler.go:433: 2: *goja.newFunc(&{0x4000368820 obj function(word) { this.foo = function() { return word; } @@ -5180,7 +5216,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(&{0x4000428500 function() { + compiler.go:433: > 3: *goja.newFunc(&{0x4000368870 function() { return word; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -5211,7 +5247,7 @@ === 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(&{0x40004289b0 obj function(word) { + compiler.go:433: 2: *goja.newFunc(&{0x40003692c0 obj function(word) { this.foo = function() { return word; } @@ -5219,7 +5255,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(&{0x4000428a00 function() { + compiler.go:433: > 3: *goja.newFunc(&{0x4000369310 function() { return word; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -5233,7 +5269,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(&{0x4000428a50 construct function(target, args, newTarget) { + compiler.go:433: 8: *goja.newFunc(&{0x4000369360 construct function(target, args, newTarget) { var word = args[0]; return { foo: function() { @@ -5247,7 +5283,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(&{0x4000428aa0 foo function() { + compiler.go:433: > 6: *goja.newFunc(&{0x4000369400 foo function() { return "caught-" + word } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -5306,7 +5342,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(&{0x4000428ff0 ownKeys function() { + compiler.go:433: 31: *goja.newFunc(&{0x4000369a90 ownKeys function() { return ["a", "b"]; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5317,7 +5353,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(&{0x4000429040 getOwnPropertyDescriptor function(target, p) { + compiler.go:433: 33: *goja.newFunc(&{0x4000369ae0 getOwnPropertyDescriptor function(target, p) { switch (p) { case "a": case "b": @@ -5413,7 +5449,7 @@ compiler.go:433: 90: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestProxy_proxy_forIn (0.01s) +--- PASS: TestProxy_proxy_forIn (0.00s) === RUN TestProxyExport --- PASS: TestProxyExport (0.00s) === RUN TestProxy_proxy_createTargetNotCallable @@ -5427,7 +5463,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(&{0x40004299a0 function() { + compiler.go:433: 10: *goja.newFunc(&{0x4000330050 function() { p(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5460,7 +5496,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(&{0x4000429d60 getOwnPropertyDescriptor function(_target, key) { + compiler.go:433: 18: *goja.newFunc(&{0x4000330320 getOwnPropertyDescriptor function(_target, key) { getOwnKeys.push(key); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -5472,7 +5508,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(&{0x4000429db0 ownKeys function() { + compiler.go:433: 20: *goja.newFunc(&{0x4000330370 ownKeys function() { return ownKeysResult; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -5503,7 +5539,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(&{0x40004221e0 function() { + compiler.go:433: 7: *goja.newFunc(&{0x40003305f0 function() { return { next: function() { if (!this.flag) { @@ -5516,7 +5552,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x4000422230 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x4000330640 next function() { if (!this.flag) { this.flag = true; return {}; @@ -5571,7 +5607,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x4000422e60 add get add() { + compiler.go:433: 7: *goja.newMethod(&{{0x4000330eb0 add get add() { getterCalled++; return null; } 0 true} 1}) @@ -5593,7 +5629,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(&{{0x4000422eb0 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x4000330f00 () => { getIteratorCalled++ return { next: 1 @@ -6286,7 +6322,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSubstr (0.01s) === RUN TestStringMatchSym - compiler.go:433: 0: *goja.newFunc(&{0x4000423310 Prefix function Prefix(p) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330280 Prefix function Prefix(p) { this.p = p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6301,7 +6337,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(&{0x4000423360 function(s) { + compiler.go:433: 6: *goja.newFunc(&{0x40003302d0 function(s) { return s.substring(0, this.p.length) === this.p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6360,7 +6396,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringMatchSym (0.00s) === RUN TestStringMatchAllSym - compiler.go:433: 0: *goja.newFunc(&{0x4000423630 Prefix function Prefix(p) { + compiler.go:433: 0: *goja.newFunc(&{0x40003305a0 Prefix function Prefix(p) { this.p = p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6375,7 +6411,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(&{0x4000423680 function(s) { + compiler.go:433: 6: *goja.newFunc(&{0x40003305f0 function(s) { return s.substring(0, this.p.length) === this.p; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6432,9 +6468,9 @@ compiler.go:433: 45: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestStringMatchAllSym (0.02s) +--- PASS: TestStringMatchAllSym (0.00s) === RUN TestGenericSplitter - compiler.go:433: 0: *goja.newFunc(&{0x40004224b0 MyRegexp function MyRegexp(pattern, flags) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330aa0 MyRegexp function MyRegexp(pattern, flags) { if (pattern instanceof MyRegexp) { pattern = pattern.wrapped; } @@ -6460,7 +6496,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(&{0x4000422500 function() { + compiler.go:433: 4: *goja.newFunc(&{0x4000330af0 function() { return this.wrapped.exec.apply(this.wrapped, arguments); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -6483,7 +6519,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(&{0x4000422550 get function() { + compiler.go:433: 12: *goja.newFunc(&{0x4000330b40 get function() { return this.wrapped.lastIndex; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -6493,7 +6529,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(&{0x40004225a0 set function(v) { + compiler.go:433: 14: *goja.newFunc(&{0x4000330b90 set function(v) { this.wrapped.lastIndex = v; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -6513,7 +6549,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(&{0x40004225f0 get function() { + compiler.go:433: 24: *goja.newFunc(&{0x4000330be0 get function() { return this.wrapped.flags; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -6542,7 +6578,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(&{0x4000453da0 }) + compiler.go:433: 45: *goja.newRegexp(&{0x4000233bf0 }) compiler.go:433: 46: goja._new(1) compiler.go:433: 47: goja._initValueP({}) compiler.go:433: 48: goja.resolveVar1(res) @@ -6671,18 +6707,18 @@ === PAUSE TestValueStringBuilder/concat_ASCII_importedUnicode === CONT TestValueStringBuilder/substringASCII === CONT TestValueStringBuilder/substringASCIIUnicode +=== CONT TestValueStringBuilder/substringUnicodeASCII === CONT TestValueStringBuilder/substringUnicode === CONT TestValueStringBuilder/substringASCIIPure -=== CONT TestValueStringBuilder/substringUnicodeASCII === CONT TestValueStringBuilder/concat_ASCII_importedASCII === CONT TestValueStringBuilder/concat_ASCII_importedUnicode === CONT TestValueStringBuilder/concatSubstringUnicodeASCII --- PASS: TestValueStringBuilder (0.00s) --- PASS: TestValueStringBuilder/substringASCII (0.00s) --- PASS: TestValueStringBuilder/substringASCIIUnicode (0.00s) + --- PASS: TestValueStringBuilder/substringUnicodeASCII (0.00s) --- PASS: TestValueStringBuilder/substringUnicode (0.00s) --- PASS: TestValueStringBuilder/substringASCIIPure (0.00s) - --- PASS: TestValueStringBuilder/substringUnicodeASCII (0.00s) --- PASS: TestValueStringBuilder/concat_ASCII_importedASCII (0.00s) --- PASS: TestValueStringBuilder/concat_ASCII_importedUnicode (0.00s) --- PASS: TestValueStringBuilder/concatSubstringUnicodeASCII (0.00s) @@ -6801,7 +6837,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNewUint16Array (0.00s) === RUN TestTypedArraysSpeciesConstructor - compiler.go:433: 0: *goja.newFunc(&{0x40002f26e0 MyArray function MyArray() { + compiler.go:433: 0: *goja.newFunc(&{0x400035a780 MyArray function MyArray() { var NewTarget = this.__proto__.constructor; return Reflect.construct(Uint16Array, arguments, NewTarget); } 0 true}) @@ -6860,7 +6896,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(&{0x40002f2730 function() { + compiler.go:433: 42: *goja.newFunc(&{0x400035a7d0 function() { return true; } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -7414,7 +7450,7 @@ compiler.go:433: 68: goja._clearResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestTypedArraySetNoOverlapDifSizeBackward (0.01s) +--- PASS: TestTypedArraySetNoOverlapDifSizeBackward (0.00s) === RUN TestTypedArraySetNoOverlapDifSizeDifBuffers compiler.go:433: 0: *goja.bindGlobal(&{[dstBuf dst src] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(dstBuf) @@ -7623,7 +7659,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(&{0x40002f3810 function(a, b) { return a - b; } 2 false}) + compiler.go:433: 13: *goja.newFunc(&{0x400035b770 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) @@ -7681,7 +7717,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(&{0x40002f3ae0 function(a, b) { return a > b ? 0 : -0; } 2 false}) + compiler.go:433: 12: *goja.newFunc(&{0x400035ba40 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) @@ -7747,7 +7783,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(&{0x40002f3ea0 function() { + compiler.go:433: 3: *goja.newFunc(&{0x400035be00 function() { 'use strict'; delete Uint8Array.prototype.BYTES_PER_ELEMENT; } 0 true}) @@ -7801,7 +7837,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x400001ea00 set get set() { + compiler.go:433: 7: *goja.newMethod(&{{0x40004583c0 set get set() { getterCalled++; return null; } 0 true} 1}) @@ -7823,7 +7859,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(&{{0x400001ea50 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x4000458410 () => { getIteratorCalled++ return { next: 1 @@ -7916,7 +7952,7 @@ compiler.go:433: 39: goja._clearResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestWeakSetBasic (0.01s) +--- PASS: TestWeakSetBasic (0.00s) === RUN TestWeakSetArraySimple compiler.go:433: 0: *goja.bindGlobal(&{[o1 o2 o3 s] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(o1) @@ -8092,7 +8128,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 6: goja.dupN(1) - compiler.go:433: 7: *goja.newMethod(&{{0x400001f360 add get add() { + compiler.go:433: 7: *goja.newMethod(&{{0x4000458690 add get add() { getterCalled++; return null; } 0 true} 1}) @@ -8114,7 +8150,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(&{{0x400001f4a0 () => { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x40004586e0 () => { getIteratorCalled++ return { next: 1 @@ -8211,7 +8247,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(&{0x400001fe50 function() { return eval("8; {let y = 9}")} 0 false}) + compiler.go:433: 4: *goja.newFunc(&{0x40004590e0 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) @@ -8240,7 +8276,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestErrorProto (0.00s) === RUN TestThis1 - compiler.go:433: 0: *goja.newFunc(&{0x4000428460 independent function independent() { + compiler.go:433: 0: *goja.newFunc(&{0x4000459590 independent function independent() { return this.prop; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -8273,7 +8309,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(&{0x40004286e0 f function() { + compiler.go:433: 5: *goja.newFunc(&{0x4000459810 f function() { return this.prop; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -8297,7 +8333,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(&{0x4000428960 get function () { return this; } 0 true}) + compiler.go:433: 6: *goja.newFunc(&{0x4000459a90 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({}) @@ -8319,7 +8355,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(&{0x4000428b90 get function () { return this; } 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x4000459cc0 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) @@ -8337,7 +8373,7 @@ --- PASS: TestThisNoStrict (0.00s) === RUN TestNestedFuncVarResolution compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000428e60 outer function outer() { + compiler.go:433: 1: *goja.newFunc(&{0x40003300a0 outer function outer() { var v = 42; function inner() { return v; @@ -8349,7 +8385,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(&{0x4000428eb0 inner function inner() { + compiler.go:433: > 5: *goja.newFunc(&{0x40003300f0 inner function inner() { return v; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -8368,7 +8404,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestNestedFuncVarResolution (0.00s) === RUN TestNestedFuncVarResolution1 - compiler.go:433: 0: *goja.newFunc(&{0x40004291d0 outer function outer(argOuter) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330410 outer function outer(argOuter) { var called = 0; var inner = function(argInner) { if (arguments.length !== 1) { @@ -8387,7 +8423,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(&{0x4000429220 inner function(argInner) { + compiler.go:433: > 3: *goja.newFunc(&{0x4000330460 inner function(argInner) { if (arguments.length !== 1) { throw new Error(); } @@ -8448,7 +8484,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestNestedFuncVarResolution1 (0.00s) === RUN TestCallFewerArgs - compiler.go:433: 0: *goja.newFunc(&{0x4000429a90 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330730 A function A(a, b, c) { return String(a) + " " + String(b) + " " + String(c); } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -8478,7 +8514,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCallFewerArgs (0.00s) === RUN TestCallFewerArgsClosureNoArgs - compiler.go:433: 0: *goja.newFunc(&{0x40004234a0 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330a00 A function A(a, b, c) { var y = a; x = function() { return " " + y }; return String(a) + " " + String(b) + " " + String(c); @@ -8487,7 +8523,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(&{0x40004234f0 x function() { return " " + y } 0 false}) + compiler.go:433: > 4: *goja.newFunc(&{0x4000330a50 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) @@ -8523,7 +8559,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallFewerArgsClosureNoArgs (0.00s) === RUN TestCallFewerArgsClosureArgs - compiler.go:433: 0: *goja.newFunc(&{0x40004239f0 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330e10 A function A(a, b, c) { var y = b; x = function() { return " " + a + " " + y }; return String(a) + " " + String(b) + " " + String(c); @@ -8532,7 +8568,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(&{0x4000423a40 x function() { return " " + a + " " + y } 0 false}) + compiler.go:433: > 4: *goja.newFunc(&{0x4000330e60 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) @@ -8572,7 +8608,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallFewerArgsClosureArgs (0.00s) === RUN TestCallMoreArgs - compiler.go:433: 0: *goja.newFunc(&{0x4000423d10 A function A(a, b) { + compiler.go:433: 0: *goja.newFunc(&{0x4000331130 A function A(a, b) { var c = 4; return a - b + c; } 2 false}) @@ -8596,7 +8632,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCallMoreArgs (0.00s) === RUN TestCallMoreArgsDynamic - compiler.go:433: 0: *goja.newFunc(&{0x400043e000 A function A(a, b) { + compiler.go:433: 0: *goja.newFunc(&{0x4000331360 A function A(a, b) { var c = 4; if (false) { eval(""); @@ -8627,7 +8663,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallMoreArgsDynamic (0.00s) === RUN TestCallLessArgsDynamic - compiler.go:433: 0: *goja.newFunc(&{0x400043e3c0 A function A(a, b, c) { + compiler.go:433: 0: *goja.newFunc(&{0x4000331720 A function A(a, b, c) { // Make it stashful function B() { return a; @@ -8635,7 +8671,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(&{0x400043e410 B function B() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000331770 B function B() { return a; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -8668,7 +8704,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCallLessArgsDynamic (0.00s) === RUN TestCallLessArgsDynamicLocalVar - compiler.go:433: 0: *goja.newFunc(&{0x400043e690 f function f(param) { + compiler.go:433: 0: *goja.newFunc(&{0x40003319f0 f function f(param) { var a = 42; if (false) { eval(""); @@ -8714,7 +8750,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNativeCall (0.00s) === RUN TestJSCall - compiler.go:433: 0: *goja.newFunc(&{0x400043eaa0 getter function getter() { + compiler.go:433: 0: *goja.newFunc(&{0x4000331e00 getter function getter() { return this.x; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -8747,7 +8783,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestJSCall (0.00s) === RUN TestLoop1 - compiler.go:433: 0: *goja.newFunc(&{0x400043ed70 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035a1e0 A function A() { var x = 1; for (var i = 0; i < 1; i++) { var x = 2; @@ -8779,7 +8815,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLoop1 (0.00s) === RUN TestLoopBreak - compiler.go:433: 0: *goja.newFunc(&{0x400043eff0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035a500 A function A() { var x = 1; for (var i = 0; i < 1; i++) { break; @@ -8813,7 +8849,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLoopBreak (0.00s) === RUN TestForLoopOptionalExpr - compiler.go:433: 0: *goja.newFunc(&{0x400043f270 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035a780 A function A() { var x = 1; for (;;) { break; @@ -8858,7 +8894,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestBlockBreak (0.00s) === RUN TestTry - compiler.go:433: 0: *goja.newFunc(&{0x400043f5e0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035aaf0 A function A() { var x = 1; try { x = 2; @@ -8892,7 +8928,7 @@ compiler.go:433: 4: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestTry (0.01s) +--- PASS: TestTry (0.00s) === RUN TestTryOptionalCatchBinding compiler.go:433: 0: goja.try({5 0}) compiler.go:433: 1: goja._clearResult({}) @@ -8905,7 +8941,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTryOptionalCatchBinding (0.00s) === RUN TestTryCatch - compiler.go:433: 0: *goja.newFunc(&{0x4000428320 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035ae60 A function A() { var x; try { throw 4; @@ -8934,7 +8970,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTryCatch (0.00s) === RUN TestTryCatchDirectEval - compiler.go:433: 0: *goja.newFunc(&{0x4000428550 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035b090 A function A() { var x; try { throw 4; @@ -8969,7 +9005,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestTryCatchDirectEval (0.00s) === RUN TestTryExceptionInCatch - compiler.go:433: 0: *goja.newFunc(&{0x40004288c0 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035b400 A function A() { var x; try { throw 4; @@ -9322,7 +9358,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTryNoResult (0.00s) === RUN TestCatchLexicalEnv - compiler.go:433: 0: *goja.newFunc(&{0x400043fd10 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400001f310 F function F() { try { throw 1; } catch (e) { @@ -9350,7 +9386,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCatchLexicalEnv (0.00s) === RUN TestThrowType - compiler.go:433: 0: *goja.newFunc(&{0x40002f20a0 Exception function Exception(message) { + compiler.go:433: 0: *goja.newFunc(&{0x400001f6d0 Exception function Exception(message) { this.message = message; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -9360,7 +9396,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(&{0x40002f20f0 A function A() { + compiler.go:433: 1: *goja.newFunc(&{0x400001f720 A function A() { try { throw new Exception("boo!"); } catch(e) { @@ -9407,7 +9443,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestThrowType (0.00s) === RUN TestThrowConstructorName - compiler.go:433: 0: *goja.newFunc(&{0x40002f2410 Exception function Exception(message) { + compiler.go:433: 0: *goja.newFunc(&{0x400001fa40 Exception function Exception(message) { this.message = message; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -9417,7 +9453,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(&{0x40002f2460 A function A() { + compiler.go:433: 1: *goja.newFunc(&{0x400001fa90 A function A() { try { throw new Exception("boo!"); } catch(e) { @@ -9451,7 +9487,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestThrowConstructorName (0.00s) === RUN TestThrowNativeConstructorName - compiler.go:433: 0: *goja.newFunc(&{0x40002f2690 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400001fcc0 A function A() { try { throw new TypeError(); } catch(e) { @@ -9500,7 +9536,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyTryNoCatch (0.00s) === RUN TestTryReturnFromCatch - compiler.go:433: 0: *goja.newFunc(&{0x40002f2aa0 f function f(o) { + compiler.go:433: 0: *goja.newFunc(&{0x4000368190 f function f(o) { var x = 42; function innerf(o) { @@ -9514,7 +9550,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(&{0x40002f2af0 innerf function innerf(o) { + compiler.go:433: > 1: *goja.newFunc(&{0x40003681e0 innerf function innerf(o) { try { throw o; } catch (e) { @@ -9646,7 +9682,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestIfMultipleLabels (0.00s) === RUN TestBreakOutOfTry - compiler.go:433: 0: *goja.newFunc(&{0x40002f3860 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369860 A function A() { var x = 1; B: { try { @@ -9687,7 +9723,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestBreakOutOfTry (0.00s) === RUN TestReturnOutOfTryNested - compiler.go:433: 0: *goja.newFunc(&{0x40002f3b30 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369b30 A function A() { function nested() { try { return 1; @@ -9698,7 +9734,7 @@ return nested(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40002f3b80 nested function nested() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000369b80 nested function nested() { try { return 1; } catch(e) { @@ -9736,7 +9772,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestReturnOutOfTryNested (0.00s) === RUN TestReturnOutOfTryWithFinally - compiler.go:433: 0: *goja.newFunc(&{0x400001e7d0 test function test() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369db0 test function test() { try { return 'Hello, world!'; } finally { @@ -9766,7 +9802,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestReturnOutOfTryWithFinally (0.00s) === RUN TestContinueLoop - compiler.go:433: 0: *goja.newFunc(&{0x400001ea50 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035e190 A function A() { var r = 0; for (var i = 0; i < 5; i++) { if (i > 1) { @@ -9807,7 +9843,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestContinueLoop (0.00s) === RUN TestContinueOutOfTry - compiler.go:433: 0: *goja.newFunc(&{0x400001ed70 A function A() { + compiler.go:433: 0: *goja.newFunc(&{0x400035e410 A function A() { var r = 0; for (var i = 0; i < 5; i++) { try { @@ -9863,7 +9899,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestContinueOutOfTry (0.00s) === RUN TestThisInCatch - compiler.go:433: 0: *goja.newFunc(&{0x400001f040 O function O() { + compiler.go:433: 0: *goja.newFunc(&{0x400035e6e0 O function O() { try { f(); } catch (e) { @@ -9887,7 +9923,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(&{0x400001f0e0 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x400035e730 f function f() { throw "ex"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -9931,7 +9967,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNestedTry (0.00s) === RUN TestNestedTryInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x400001f6d0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400035eaf0 f function f() { var ex1, ex2; try { throw "ex1"; @@ -9988,7 +10024,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalLexicalDecl (0.00s) === RUN TestEvalInCatchInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x400001fb30 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400035ef00 f function f() { var ex; try { throw "ex1"; @@ -10023,7 +10059,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalInCatchInStashlessFunc (0.00s) === RUN TestCatchClosureInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x40004221e0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400035f310 f function f() { var ex; try { throw "ex1"; @@ -10039,7 +10075,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(&{0x4000422230 function() { + compiler.go:433: > 6: *goja.newFunc(&{0x400035f360 function() { return er1; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -10063,7 +10099,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestCatchClosureInStashlessFunc (0.00s) === RUN TestCatchVarNotUsedInStashlessFunc - compiler.go:433: 0: *goja.newFunc(&{0x40004224b0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400035f5e0 f function f() { var ex; try { throw "ex1"; @@ -10092,7 +10128,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCatchVarNotUsedInStashlessFunc (0.00s) === RUN TestNew - compiler.go:433: 0: *goja.newFunc(&{0x40004226e0 O function O() { + compiler.go:433: 0: *goja.newFunc(&{0x400035f810 O function O() { this.x = 42; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10111,7 +10147,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNew (0.00s) === RUN TestStringConstructor - compiler.go:433: 0: *goja.newFunc(&{0x4000422cd0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400035fa40 F function F() { return String(33) + " " + String("cows"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10133,7 +10169,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringConstructor (0.00s) === RUN TestError - compiler.go:433: 0: *goja.newFunc(&{0x4000422f00 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400035fc70 F function F() { return new Error("test"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10160,7 +10196,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestError (0.00s) === RUN TestTypeError - compiler.go:433: 0: *goja.newFunc(&{0x4000423400 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400035fef0 F function F() { return new TypeError("test"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10194,7 +10230,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(&{0x400029e0f0 function() { + compiler.go:433: 7: *goja.newFunc(&{0x40003ec230 function() { return String(this.x); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10222,7 +10258,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestToString (0.00s) === RUN TestEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x400029e500 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ec640 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10234,7 +10270,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(&{0x400029e550 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x40003ec690 F2 function F2() { trace += "Second!"; return "f"; } 0 false}) @@ -10246,7 +10282,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(&{0x400029e5a0 F3 function F3() { + compiler.go:433: 2: *goja.newFunc(&{0x40003ec6e0 F3 function F3() { trace += "Third!"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -10260,7 +10296,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(&{0x400029e5f0 f function() {return 42} 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x40003ec730 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({}) @@ -10292,7 +10328,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalOrder (0.00s) === RUN TestPostfixIncBracket - compiler.go:433: 0: *goja.newFunc(&{0x400029e8c0 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003eca00 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10304,7 +10340,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(&{0x400029e910 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x40003eca50 F2 function F2() { trace += "Second!"; return "x"; } 0 false}) @@ -10350,7 +10386,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPostfixIncBracket (0.00s) === RUN TestPostfixIncDot - compiler.go:433: 0: *goja.newFunc(&{0x400029eb90 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003eccd0 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10393,7 +10429,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPostfixIncDot (0.00s) === RUN TestPrefixIncBracket - compiler.go:433: 0: *goja.newFunc(&{0x400029ee60 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ecfa0 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10405,7 +10441,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(&{0x400029eeb0 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x40003ecff0 F2 function F2() { trace += "Second!"; return "x"; } 0 false}) @@ -10448,7 +10484,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPrefixIncBracket (0.00s) === RUN TestPrefixIncDot - compiler.go:433: 0: *goja.newFunc(&{0x400029f130 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ed270 F1 function F1() { trace += "First!"; return o; } 0 false}) @@ -10492,7 +10528,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(&{0x400029f360 valueOf function() {return 1} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x40003ed4a0 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({}) @@ -10532,14 +10568,14 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPropAcc1 (0.00s) === RUN TestEvalDirect - compiler.go:433: 0: *goja.newFunc(&{0x400029f770 foo function foo(){ rv = true; } 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x40003ec3c0 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(&{0x400029f7c0 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x40003ec410 f function f() { try { eval("o.bar( foo() );"); } catch (e) { @@ -10603,7 +10639,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalFunctionExpr (0.00s) === RUN TestEvalDirectScope - compiler.go:433: 0: *goja.newFunc(&{0x4000340370 testcase function testcase() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ecf00 testcase function testcase() { var __10_4_2_1_3 = "str1"; try { throw "error"; @@ -10648,7 +10684,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalDirectScope (0.00s) === RUN TestEvalDirectScope1 - compiler.go:433: 0: *goja.newFunc(&{0x40003406e0 testcase function testcase() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ed270 testcase function testcase() { var __10_4_2_1_5 = "str1"; var r = eval("\ var __10_4_2_1_5 = \'str2\'; \ @@ -10679,7 +10715,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalDirectScope1 (0.00s) === RUN TestEvalDirectCreateBinding - compiler.go:433: 0: *goja.newFunc(&{0x40003fa190 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ed7c0 f function f() { eval("var x = true"); return x; } 0 false}) @@ -10727,7 +10763,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestEvalDirectCreateBinding (0.00s) === RUN TestEvalDirectCreateBinding1 - compiler.go:433: 0: *goja.newFunc(&{0x40003fa5a0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003edbd0 f function f() { eval("let x = 1; var y = 2; function f1() {return x};"); assert.throws(ReferenceError, function() { x }); return ""+y+f1(); @@ -10744,7 +10780,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(&{0x40003fa5f0 function() { x } 0 false}) + compiler.go:433: > 12: *goja.newFunc(&{0x40003edc20 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({}) @@ -10767,7 +10803,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalDirectCreateBinding1 (0.00s) === RUN TestEvalDirectCreateBinding3 - compiler.go:433: 0: *goja.newFunc(&{0x40003faaf0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000458280 f function f() { let x; try { eval("var y=1, x=2"); @@ -10840,7 +10876,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEvalFuncDecl (0.00s) === RUN TestGetAfterSet - compiler.go:433: 0: *goja.newFunc(&{0x4000340410 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000458eb0 f function f() { var x = 1; return x; } 0 false}) @@ -11103,7 +11139,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestInstanceof (0.00s) === RUN TestStrictAssign - compiler.go:433: 0: *goja.newFunc(&{0x40003416d0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000330050 F function F() { called = true; return 1; } 0 true}) @@ -11141,7 +11177,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStrictAssign (0.00s) === RUN TestStrictScope - compiler.go:433: 0: *goja.newFunc(&{0x4000341900 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000330280 F function F() { 'use strict'; x = 1; } 0 true}) @@ -11244,7 +11280,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestCallGlobalObject (0.00s) === RUN TestFuncLength - compiler.go:433: 0: *goja.newFunc(&{0x4000341ef0 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330870 F function F(x, y) { } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -11272,7 +11308,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNativeFuncLength (0.00s) === RUN TestArguments - compiler.go:433: 0: *goja.newFunc(&{0x40002f2370 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x4000330be0 F function F() { return arguments.length + " " + arguments[1]; } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -11298,7 +11334,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArguments (0.00s) === RUN TestArgumentsPut - compiler.go:433: 0: *goja.newFunc(&{0x40002f25f0 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330e60 F function F(x, y) { arguments[0] -= arguments[1]; return x; } 2 false}) @@ -11327,7 +11363,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsPut (0.00s) === RUN TestArgumentsPutStrict - compiler.go:433: 0: *goja.newFunc(&{0x40002f2870 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x40003310e0 F function F(x, y) { 'use strict'; arguments[0] -= arguments[1]; return x; @@ -11357,7 +11393,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsPutStrict (0.00s) === RUN TestArgumentsExtra - compiler.go:433: 0: *goja.newFunc(&{0x40002f2b40 F function F(x, y) { + compiler.go:433: 0: *goja.newFunc(&{0x40003313b0 F function F(x, y) { return arguments[2]; } 2 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 2 1 2 1 true false}) @@ -11378,7 +11414,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsExtra (0.00s) === RUN TestArgumentsExist - compiler.go:433: 0: *goja.newFunc(&{0x40002f2f00 F function F(x, arguments) { + compiler.go:433: 0: *goja.newFunc(&{0x4000331630 F function F(x, arguments) { return arguments; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -11394,7 +11430,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArgumentsExist (0.00s) === RUN TestArgumentsDelete - compiler.go:433: 0: *goja.newFunc(&{0x40002f3130 f function f(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000331860 f function f(x) { delete arguments[0]; arguments[0] = 42; return x; @@ -11421,7 +11457,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsDelete (0.00s) === RUN TestArgumentsInEval - compiler.go:433: 0: *goja.newFunc(&{0x40002f3400 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000331b30 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}) @@ -11444,7 +11480,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsInEval (0.00s) === RUN TestArgumentsRedeclareInEval - compiler.go:433: 0: *goja.newFunc(&{0x40002f3770 f function f(p = eval("var arguments = 'param'"), arguments) {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000331ea0 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) @@ -11495,7 +11531,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(&{{0x40002f3ae0 f (p = eval("var arguments = 'param'"), q = () => arguments) => { + compiler.go:433: 6: *goja.newArrowFunc(&{{0x400035a370 f (p = eval("var arguments = 'param'"), q = () => arguments) => { var arguments = "local"; assert.sameValue(arguments, "local", "arguments"); assert.sameValue(q(), "param", "q"); @@ -11510,7 +11546,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(&{{0x40002f3b30 () => arguments 0 false}}) + compiler.go:433: > 9: *goja.newArrowFunc(&{{0x400035a410 () => arguments 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadDynamic(arguments) compiler.go:433: >> 2: goja._ret({}) @@ -11562,7 +11598,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgumentsRedeclareArrow (0.00s) === RUN TestEvalParamWithDef - compiler.go:433: 0: *goja.newFunc(&{0x40002f3e00 f function f(param = 0) { + compiler.go:433: 0: *goja.newFunc(&{0x400035a6e0 f function f(param = 0) { eval("var param = 1"); return param; } 0 false}) @@ -11590,7 +11626,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestEvalParamWithDef (0.00s) === RUN TestArgumentsRedefinedAsLetDyn - compiler.go:433: 0: *goja.newFunc(&{0x40003fb400 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400035aa50 f function f() { let arguments; eval(""); // force dynamic scope return arguments; @@ -11640,7 +11676,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestWith (0.00s) === RUN TestWithInFunc - compiler.go:433: 0: *goja.newFunc(&{0x40003fb900 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400035af50 F function F() { var b = 1; var c = 0; var o = {a: 40, c: 1}; @@ -11681,7 +11717,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestWithInFunc (0.00s) === RUN TestAssignNonExtendable - compiler.go:433: 0: *goja.newFunc(&{0x40003fbb80 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400035b1d0 F function F() { this.x = 1; } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -11710,7 +11746,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestAssignNonExtendable (0.00s) === RUN TestAssignNonExtendable1 - compiler.go:433: 0: *goja.newFunc(&{0x40003fbdb0 F function F() { + compiler.go:433: 0: *goja.newFunc(&{0x400035b400 F function F() { } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -11828,7 +11864,7 @@ === RUN TestFunction1 compiler.go:433: 0: *goja.bindGlobal(&{[f] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(f) - compiler.go:433: 2: *goja.newFunc(&{0x4000428b40 f1 function f1(count) { + compiler.go:433: 2: *goja.newFunc(&{0x400001e7d0 f1 function f1(count) { if (count == 0) { return true; } @@ -11861,7 +11897,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFunction1 (0.00s) === RUN TestFunction2 - compiler.go:433: 0: *goja.newFunc(&{0x4000428e10 f function f(count) { + compiler.go:433: 0: *goja.newFunc(&{0x400001eaa0 f function f(count) { trace += "f("+count+")"; if (count == 0) { return; @@ -11890,7 +11926,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(&{0x400001e640 f1 function f1() { + compiler.go:433: 1: *goja.newFunc(&{0x400001eaf0 f1 function f1() { trace += "f1"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -11942,7 +11978,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(&{{0x400001ec80 x get x() {getterCalled = true} 0 false} 1}) + compiler.go:433: 9: *goja.newMethod(&{{0x400001f2c0 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}) @@ -11950,7 +11986,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(&{{0x400001ecd0 x set x(_) {setterCalled = true} 1 false} 1}) + compiler.go:433: 11: *goja.newMethod(&{{0x400001f310 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}) @@ -12056,7 +12092,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestConstWhileThrow (0.00s) === RUN TestDupParams - compiler.go:433: 0: *goja.newFunc(&{0x400001f770 F function F(x, y, x) { + compiler.go:433: 0: *goja.newFunc(&{0x400001fc70 F function F(x, y, x) { return x; } 3 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 3}) @@ -12072,7 +12108,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDupParams (0.00s) === RUN TestUseUnsuppliedParam - compiler.go:433: 0: *goja.newFunc(&{0x400001f9f0 getMessage function getMessage(message) { + compiler.go:433: 0: *goja.newFunc(&{0x400001fea0 getMessage function getMessage(message) { if (message === undefined) { message = ''; } @@ -12102,7 +12138,7 @@ === RUN TestForInLetWithInitializer --- PASS: TestForInLetWithInitializer (0.00s) === RUN TestForInLoop - compiler.go:433: 0: *goja.newFunc(&{0x400001fcc0 Proto function Proto() {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000368230 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({}) @@ -12199,7 +12235,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyDoWhile (0.00s) === RUN TestSwitch - compiler.go:433: 0: *goja.newFunc(&{0x40004225f0 F function F(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000369130 F function F(x) { var i = 0; switch (x) { case 0: @@ -12285,7 +12321,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSwitch (0.00s) === RUN TestSwitchDefFirst - compiler.go:433: 0: *goja.newFunc(&{0x4000422b90 F function F(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000369400 F function F(x) { var i = 0; switch (x) { default: @@ -12466,7 +12502,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSwitchResult2 (0.00s) === RUN TestSwitchResultJumpIntoEmptyEval - compiler.go:433: 0: *goja.newFunc(&{0x4000428ff0 t function t(x) { + compiler.go:433: 0: *goja.newFunc(&{0x4000369bd0 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}) @@ -12767,9 +12803,9 @@ compiler.go:433: 61: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestGetOwnPropertyNames (0.01s) +--- PASS: TestGetOwnPropertyNames (0.00s) === RUN TestArrayLiteral - compiler.go:433: 0: *goja.newFunc(&{0x40004223c0 F1 function F1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003de320 F1 function F1() { f1Called = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -12778,7 +12814,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(&{0x4000422410 F2 function F2() { + compiler.go:433: 1: *goja.newFunc(&{0x40003de370 F2 function F2() { f2Called = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -12787,7 +12823,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(&{0x4000422460 F3 function F3() { + compiler.go:433: 2: *goja.newFunc(&{0x40003de3c0 F3 function F3() { f3Called = true; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -12855,7 +12891,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArrayLiteral (0.00s) === RUN TestJumpOutOfReturn - compiler.go:433: 0: *goja.newFunc(&{0x4000422690 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003de5f0 f function f() { var a; if (a == 0) { return true; @@ -12878,7 +12914,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestJumpOutOfReturn (0.00s) === RUN TestSwitchJumpOutOfReturn - compiler.go:433: 0: *goja.newFunc(&{0x4000422c30 f function f(x) { + compiler.go:433: 0: *goja.newFunc(&{0x40003de820 f function f(x) { switch(x) { case 0: break; @@ -13066,7 +13102,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(&{0x40004234f0 f function() { + compiler.go:433: 12: *goja.newFunc(&{0x40003deff0 f function() { x *= (delete scope.x, 2); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -13117,7 +13153,7 @@ === RUN TestDeleteArguments --- PASS: TestDeleteArguments (0.00s) === RUN TestReturnUndefined - compiler.go:433: 0: *goja.newFunc(&{0x4000423a90 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003df590 f function f() { return x; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -13251,7 +13287,7 @@ compiler.go:433: 12: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestObjectLiteral__Proto__ (0.01s) +--- PASS: TestObjectLiteral__Proto__ (0.00s) === RUN TestEmptyCodeError --- PASS: TestEmptyCodeError (0.00s) === RUN TestForOfArray @@ -13326,7 +13362,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(&{{0x400026b3b0 attr set attr(_) { + compiler.go:433: 12: *goja.newMethod(&{{0x40004585f0 attr set attr(_) { throw new Test262Error(); } 1 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -13340,7 +13376,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(&{0x400026b400 function() { + compiler.go:433: 18: *goja.newFunc(&{0x4000458730 function() { return { next: function() { return { done: false, value: 0 }; @@ -13352,7 +13388,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x400026b450 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x4000458780 next function() { return { done: false, value: 0 }; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13363,7 +13399,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(&{0x400026b4a0 return function() { + compiler.go:433: > 4: *goja.newFunc(&{0x40004587d0 return function() { callCount += 1; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13380,7 +13416,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(&{0x400026b4f0 function() { + compiler.go:433: 23: *goja.newFunc(&{0x4000458820 function() { for (x.attr of iterable) { iterationCount += 1; } @@ -13433,7 +13469,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(&{0x400026b950 function() { + compiler.go:433: 10: *goja.newFunc(&{0x4000458c80 function() { return { next: function() { return { done: false, value: null }; @@ -13445,7 +13481,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x400026b9a0 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x4000458cd0 next function() { return { done: false, value: null }; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13456,7 +13492,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(&{{0x400026b9f0 return get return() { + compiler.go:433: > 4: *goja.newMethod(&{{0x4000458d20 return get return() { throw new Test262Error(); } 0 false} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13471,7 +13507,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(&{0x400026ba40 function() { + compiler.go:433: 15: *goja.newFunc(&{0x4000458eb0 function() { for (var x of iterable) { iterationCount += 1; break; @@ -13508,7 +13544,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestForOfReturn1 (0.00s) === RUN TestForOfLet - compiler.go:433: 0: *goja.newFunc(&{0x400026bc20 f function f() {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000459090 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({}) @@ -13593,7 +13629,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(&{0x40002f2550 function() { + compiler.go:433: 10: *goja.newFunc(&{0x40004598b0 function() { return { next: function() { return { done: ++iterationCount > 2, value: null }; @@ -13605,7 +13641,7 @@ } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x40002f25a0 next function() { + compiler.go:433: > 2: *goja.newFunc(&{0x4000459900 next function() { return { done: ++iterationCount > 2, value: null }; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13625,7 +13661,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(&{{0x40002f25f0 return get return() { + compiler.go:433: > 4: *goja.newMethod(&{{0x4000459950 return get return() { throw new Test262Error(); } 0 false} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13653,7 +13689,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestIteratorReturnNormal (0.00s) === RUN TestIteratorReturnErrorNested - compiler.go:433: 0: *goja.newFunc(&{0x40002f29b0 iter function iter(id) { + compiler.go:433: 0: *goja.newFunc(&{0x4000459d10 iter function iter(id) { return function() { var count = 0; return { @@ -13671,7 +13707,7 @@ } } 1 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 1 0 1 1 true false}) - compiler.go:433: > 1: *goja.newFunc(&{0x40002f2a00 function() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000459d60 function() { var count = 0; return { next: function () { @@ -13690,7 +13726,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(&{0x40002f2a50 next function () { + compiler.go:433: >> 4: *goja.newFunc(&{0x4000459db0 next function () { return { value: null, done: ++count > 2 @@ -13712,7 +13748,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(&{0x40002f2aa0 return function () { + compiler.go:433: >> 6: *goja.newFunc(&{0x4000459e00 return function () { returnCalled[id] = true; throw new Error(id); } 0 false}) @@ -13812,10 +13848,10 @@ compiler.go:433: 80: goja._clearResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 4 ---- PASS: TestIteratorReturnErrorNested (0.01s) +--- PASS: TestIteratorReturnErrorNested (0.00s) === RUN TestReturnFromForInLoop compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002f2f50 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x4000330280 f function f() { for (var i in {a: 1}) { return true; } @@ -13848,7 +13884,7 @@ --- PASS: TestReturnFromForInLoop (0.00s) === RUN TestReturnFromForOfLoop compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002f31d0 f function f() { + compiler.go:433: 1: *goja.newFunc(&{0x4000330500 f function f() { for (var i of [1]) { return true; } @@ -13897,7 +13933,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestIfStackLeaks (0.00s) === RUN TestWithCallee - compiler.go:433: 0: *goja.newFunc(&{0x40002f3630 O function O() { + compiler.go:433: 0: *goja.newFunc(&{0x4000330960 O function O() { var that = this; this.m = function() { return this === that; @@ -13908,7 +13944,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(&{0x40002f3680 function() { + compiler.go:433: > 5: *goja.newFunc(&{0x40003309b0 function() { return this === that; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -13932,7 +13968,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestWithCallee (0.00s) === RUN TestWithScope - compiler.go:433: 0: *goja.newFunc(&{0x40002f39f0 f function f(o) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330d20 f function f(o) { var x = 42; function innerf(o) { @@ -13944,7 +13980,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(&{0x40002f3a40 innerf function innerf(o) { + compiler.go:433: > 1: *goja.newFunc(&{0x4000330d70 innerf function innerf(o) { with (o) { return x; } @@ -13975,7 +14011,7 @@ --- PASS: TestWithScope (0.00s) === RUN TestEvalCallee compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002f3e00 function () { + compiler.go:433: 1: *goja.newFunc(&{0x4000331130 function () { 'use strict'; var v = function() { return this === undefined; @@ -13986,7 +14022,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(&{0x40002f3e50 v function() { + compiler.go:433: > 4: *goja.newFunc(&{0x4000331180 v function() { return this === undefined; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -14006,7 +14042,7 @@ --- PASS: TestEvalCallee (0.00s) === RUN TestEvalBindingDeleteVar compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fa280 function () { + compiler.go:433: 1: *goja.newFunc(&{0x40003314f0 function () { eval("var x = 1"); return x === 1 && delete x; } 0 false}) @@ -14032,7 +14068,7 @@ --- PASS: TestEvalBindingDeleteVar (0.00s) === RUN TestEvalBindingDeleteFunc compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fa5a0 function () { + compiler.go:433: 1: *goja.newFunc(&{0x4000331810 function () { eval("function x(){}"); return typeof x === "function" && delete x; } 0 false}) @@ -14129,7 +14165,7 @@ --- PASS: TestTryResultEmptyContinueLoop (0.00s) === RUN TestTryEmptyCatchStackLeak compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fb2c0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x400035a5f0 function() { var f; // Make sure the outer function is not stashless. (function() { @@ -14141,7 +14177,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(&{0x40003fb310 function() { + compiler.go:433: > 2: *goja.newFunc(&{0x400035a640 function() { f++; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -14206,7 +14242,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(&{{0x40003fbe00 1000 get 1e3() {return true;} 0 false} 1}) + compiler.go:433: 14: *goja.newMethod(&{{0x400035b130 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({}) @@ -14230,7 +14266,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(&{{0x40003fbe50 0 0(){return true} 0 false} 1}) + compiler.go:433: 35: *goja.newMethod(&{{0x400035b180 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({}) @@ -14291,7 +14327,7 @@ --- PASS: TestEscapedLet (0.00s) === RUN TestObjectLiteralFuncProps compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001edc0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x400035b950 function() { 'use strict'; var o = { eval: function() {return 1;}, @@ -14306,17 +14342,17 @@ } 0 true}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: > 1: goja._newObject({}) - compiler.go:433: > 2: *goja.newFunc(&{0x400001ee10 eval function() {return 1;} 0 true}) + compiler.go:433: > 2: *goja.newFunc(&{0x400035b9a0 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(&{{0x400001ee60 arguments arguments() {return 2;} 0 true} 1}) + compiler.go:433: > 4: *goja.newMethod(&{{0x400035b9f0 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(&{0x400001eeb0 test1 function test1() {} 0 true}) + compiler.go:433: > 6: *goja.newFunc(&{0x400035ba40 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) @@ -14380,14 +14416,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(&{0x400001f2c0 method function() { + compiler.go:433: 6: *goja.newFunc(&{0x400035bcc0 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(&{0x400001f310 method function method() { + compiler.go:433: 8: *goja.newFunc(&{0x400035bd10 method function method() { return method; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) @@ -14418,18 +14454,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(&{0x400001f770 f function() {} 0 false}) + compiler.go:433: 2: *goja.newFunc(&{0x400001e780 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(&{0x400001f810 f1 function() {} 0 false}) + compiler.go:433: 5: *goja.newFunc(&{0x400001e7d0 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(&{0x400001f860 f2 function() {} 0 false}) + compiler.go:433: 7: *goja.newFunc(&{0x400001e820 f2 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -14488,7 +14524,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLexicalDeclGlobal (0.00s) === RUN TestLexicalDeclFunction - compiler.go:433: 0: *goja.newFunc(&{0x400001e780 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001ec30 f function f() { if (true) { let it = "be"; if (it !== "be") { @@ -14543,7 +14579,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLexicalDeclFunction (0.00s) === RUN TestLexicalDynamicScope - compiler.go:433: 0: *goja.newFunc(&{0x400001ee10 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001f4a0 f function f() { const func = global + 1; function inner() { function assertThrows(fn) { @@ -14585,7 +14621,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(&{0x400001ee60 inner function inner() { + compiler.go:433: > 5: *goja.newFunc(&{0x400001f4f0 inner function inner() { function assertThrows(fn) { let thrown = false; try { @@ -14623,7 +14659,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(&{0x400001eeb0 assertThrows function assertThrows(fn) { + compiler.go:433: >> 5: *goja.newFunc(&{0x400001f540 assertThrows function assertThrows(fn) { let thrown = false; try { fn(); @@ -14671,7 +14707,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(&{0x400001ef00 function() { + compiler.go:433: >> 9: *goja.newFunc(&{0x400001f590 function() { func++; } 0 false}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -14684,7 +14720,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(&{0x400001ef50 function() { + compiler.go:433: >> 14: *goja.newFunc(&{0x400001f5e0 function() { global++; } 0 false}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -14698,7 +14734,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(&{0x400001efa0 function() { + compiler.go:433: >> 19: *goja.newFunc(&{0x400001f630 function() { eval("func++"); } 0 false}) compiler.go:433: >>> 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) @@ -14716,7 +14752,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(&{0x400001eff0 function() { + compiler.go:433: >> 24: *goja.newFunc(&{0x400001f680 function() { eval("global++"); } 0 false}) compiler.go:433: >>> 0: *goja.enterFunc(&{map[ this:1073741824 arguments:1073741825] 2 0 0 1 true true}) @@ -14756,7 +14792,7 @@ --- PASS: TestLexicalDynamicScope (0.00s) === RUN TestLexicalDynamicScope1 compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001f8b0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x400001fcc0 function() { const x = 1 * 4; return (function() { eval(""); @@ -14771,7 +14807,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(&{0x400001f950 function() { + compiler.go:433: > 8: *goja.newFunc(&{0x400001fd60 function() { eval(""); return x; } 0 false}) @@ -14795,7 +14831,7 @@ --- PASS: TestLexicalDynamicScope1 (0.00s) === RUN TestLexicalDynamicScope2 compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x400001fd10 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000368190 function() { const x = 1 + 3; var y = 2 * 2; eval(""); @@ -14844,7 +14880,7 @@ === RUN TestLetArrayWithNewline --- PASS: TestLetArrayWithNewline (0.00s) === RUN TestDynamicUninitedVarAccess - compiler.go:433: 0: *goja.newFunc(&{0x4000422ff0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369860 f function f() { var x; return eval("x"); } 0 false}) @@ -14907,7 +14943,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(&{0x4000423540 function() { + compiler.go:433: 14: *goja.newFunc(&{0x4000369d60 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -14965,7 +15001,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(&{0x40004239a0 function () { return i; } 0 false}) + compiler.go:433: 14: *goja.newFunc(&{0x40003ce320 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({}) @@ -15024,7 +15060,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(&{0x4000423e50 function() { + compiler.go:433: 16: *goja.newFunc(&{0x40003ce7d0 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15086,7 +15122,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(&{0x40002f2140 function() { + compiler.go:433: 19: *goja.newFunc(&{0x40003cea00 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15159,7 +15195,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(&{0x40002f2550 function() { + compiler.go:433: 30: *goja.newFunc(&{0x40003cedc0 function() { return i; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15182,7 +15218,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(&{0x40002f25a0 function(item) {res += item()} 1 false}) + compiler.go:433: 48: *goja.newFunc(&{0x40003cee10 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({}) @@ -15213,7 +15249,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(&{0x40002f2aa0 function() { + compiler.go:433: 3: *goja.newFunc(&{0x40003ce370 function() { let x; { if (true) { @@ -15240,7 +15276,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestVarBlockConflictEval (0.00s) === RUN TestVarBlockNoConflict - compiler.go:433: 0: *goja.newFunc(&{0x40002f2f50 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ce6e0 f function f() { let x; function ff() { { @@ -15250,7 +15286,7 @@ ff(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{2 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40002f2fa0 ff function ff() { + compiler.go:433: > 1: *goja.newFunc(&{0x40003ce730 ff function ff() { { var x = 3; } @@ -15277,7 +15313,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestVarBlockNoConflict (0.00s) === RUN TestVarBlockNoConflictEval - compiler.go:433: 0: *goja.newFunc(&{0x40003fa230 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003ceaa0 f function f() { let x; function ff() { { @@ -15291,7 +15327,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(&{0x40003fa280 ff function ff() { + compiler.go:433: > 5: *goja.newFunc(&{0x40003ceaf0 ff function ff() { { eval("var x = 3"); } @@ -15324,7 +15360,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestVarBlockNoConflictEval (0.00s) === RUN TestVarDeclCorrectScope - compiler.go:433: 0: *goja.newFunc(&{0x40003fa640 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003cf130 f function f() { { let z; eval("var x = 3"); @@ -15360,7 +15396,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(&{0x40003fa9b0 f function f() {} 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x40003cf4a0 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({}) @@ -15375,7 +15411,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestLexicalCatch (0.00s) === RUN TestArgumentsLexicalDecl - compiler.go:433: 0: *goja.newFunc(&{0x40003fabe0 f1 function f1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003cf6d0 f1 function f1() { let arguments; return arguments; } 0 false}) @@ -15393,7 +15429,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArgumentsLexicalDecl (0.00s) === RUN TestArgumentsLexicalDeclAssign - compiler.go:433: 0: *goja.newFunc(&{0x40003fb040 f1 function f1() { + compiler.go:433: 0: *goja.newFunc(&{0x40003cfa40 f1 function f1() { let arguments = arguments; return a; } 0 false}) @@ -15406,7 +15442,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(&{0x40003fb0e0 function() { + compiler.go:433: 5: *goja.newFunc(&{0x40003cfae0 function() { f1(42); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15422,7 +15458,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestArgumentsLexicalDeclAssign (0.00s) === RUN TestLexicalConstModifyFromEval - compiler.go:433: 0: *goja.newFunc(&{0x40003fb3b0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x40003cfdb0 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}) @@ -15442,7 +15478,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(&{0x40003fb400 function() { + compiler.go:433: 7: *goja.newFunc(&{0x40003cfe00 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -15459,7 +15495,7 @@ === RUN TestLexicalStrictNames --- PASS: TestLexicalStrictNames (0.00s) === RUN TestAssignAfterStackExpand - compiler.go:433: 0: *goja.newFunc(&{0x40003fb8b0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000458410 f function f() { let sum = 0; for (let i = 0; i < arguments.length; i++) { sum += arguments[i]; @@ -15494,7 +15530,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(&{0x40003fb900 testAssignment function testAssignment() { + compiler.go:433: 1: *goja.newFunc(&{0x4000458460 testAssignment function testAssignment() { var x = 0; var scope = {}; @@ -15564,7 +15600,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestAssignAfterStackExpand (0.00s) === RUN TestArgAccessFromDynamicStash - compiler.go:433: 0: *goja.newFunc(&{0x40003fbc70 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x40004588c0 f function f(arg) { function test() { eval(""); return a; @@ -15576,7 +15612,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(&{0x40003fbcc0 test function test() { + compiler.go:433: > 5: *goja.newFunc(&{0x4000458910 test function test() { eval(""); return a; } 0 false}) @@ -15603,7 +15639,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArgAccessFromDynamicStash (0.00s) === RUN TestLoadMixedLex - compiler.go:433: 0: *goja.newFunc(&{0x40004280a0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000458c30 f function f() { let a = 1; { function inner() { @@ -15621,7 +15657,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(&{0x40004280f0 inner function inner() { + compiler.go:433: > 8: *goja.newFunc(&{0x4000458c80 inner function inner() { eval("var a = true"); return a; } 0 false}) @@ -15804,7 +15840,7 @@ --- PASS: TestObjectAssignmentPattern (0.00s) === RUN TestObjectAssignmentPatternNoDyn compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40004288c0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000459590 function() { let a, b, c; ({a, b, c=3} = {a: 1, b: 2}); assert.sameValue(a, 1, "a"); @@ -15937,7 +15973,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestObjectAssignmentPatternNested (0.00s) === RUN TestObjectAssignmentPatternEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x4000428fa0 src function src() { + compiler.go:433: 0: *goja.newFunc(&{0x4000459c70 src function src() { trace += "src(),"; return { get a() { @@ -15953,7 +15989,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(&{{0x4000428ff0 a get a() { + compiler.go:433: > 7: *goja.newMethod(&{{0x4000459cc0 a get a() { trace += "get a,"; return "a"; } 0 false} 1}) @@ -15967,7 +16003,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(&{0x4000429040 prop1 function prop1() { + compiler.go:433: 1: *goja.newFunc(&{0x4000459d10 prop1 function prop1() { trace += "prop1()," return { toString: function() { @@ -15983,7 +16019,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(&{0x4000429090 toString function() { + compiler.go:433: > 7: *goja.newFunc(&{0x4000459d60 toString function() { trace += "prop1-to-string(),"; return "a"; } 0 false}) @@ -15997,7 +16033,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(&{0x40004290e0 prop2 function prop2() { + compiler.go:433: 2: *goja.newFunc(&{0x4000459db0 prop2 function prop2() { trace += "prop2(),"; return { toString: function() { @@ -16013,7 +16049,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(&{0x4000429130 toString function() { + compiler.go:433: > 7: *goja.newFunc(&{0x4000459e00 toString function() { trace += "prop2-to-string(),"; return "b"; } 0 false}) @@ -16027,7 +16063,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(&{0x4000429180 target function target() { + compiler.go:433: 3: *goja.newFunc(&{0x4000459e50 target function target() { trace += "target()," return target_obj; } 0 false}) @@ -16086,7 +16122,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestObjectAssignmentPatternEvalOrder (0.00s) === RUN TestArrayAssignmentPatternEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x4000416000 src function src() { + compiler.go:433: 0: *goja.newFunc(&{0x4000330690 src function src() { trace += "src(),"; return src_arr; } 0 false}) @@ -16098,7 +16134,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(&{0x4000416050 target function target() { + compiler.go:433: 1: *goja.newFunc(&{0x40003306e0 target function target() { trace += "target(),"; return tgt; } 0 false}) @@ -16110,7 +16146,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(&{0x40004160a0 default_a function default_a() { + compiler.go:433: 2: *goja.newFunc(&{0x4000330730 default_a function default_a() { trace += "default a,"; return "def_a"; } 0 false}) @@ -16122,7 +16158,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(&{0x40004160f0 default_b function default_b() { + compiler.go:433: 3: *goja.newFunc(&{0x4000330780 default_b function default_b() { trace += "default b,"; return "def_b"; } 0 false}) @@ -16141,7 +16177,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(&{0x4000416140 function() { + compiler.go:433: 11: *goja.newFunc(&{0x40003307d0 function() { let done = false; return { next: function() { @@ -16161,7 +16197,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(&{0x4000416190 next function() { + compiler.go:433: > 4: *goja.newFunc(&{0x4000330820 next function() { trace += "next,"; if (!done) { done = true; @@ -16189,7 +16225,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(&{0x40004161e0 return function() { + compiler.go:433: > 6: *goja.newFunc(&{0x4000330870 return function() { trace += "return,"; } 0 false}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -16205,7 +16241,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(&{{0x4000416230 a get a() { + compiler.go:433: 15: *goja.newMethod(&{{0x40003308c0 a get a() { trace += "get a,"; return "a"; } 0 false} 1}) @@ -16218,7 +16254,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(&{{0x4000416280 b get b() { + compiler.go:433: 17: *goja.newMethod(&{{0x4000330910 b get b() { trace += "get b,"; return "b"; } 0 false} 1}) @@ -16401,7 +16437,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(&{0x4000416690 function() { + compiler.go:433: 73: *goja.newFunc(&{0x4000330d20 function() { x; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -16424,7 +16460,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(&{{0x4000416a50 get [Symbol.toString]() { + compiler.go:433: 5: *goja.newMethod(&{{0x40003310e0 get [Symbol.toString]() { } 0 false} 2}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -16435,7 +16471,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestObjLiteralComputedKeys (0.00s) === RUN TestObjLiteralComputedKeysEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x4000416dc0 key function key() { + compiler.go:433: 0: *goja.newFunc(&{0x4000331450 key function key() { trace.push("key"); return { toString: function() { @@ -16451,7 +16487,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(&{0x40002f30e0 toString function() { + compiler.go:433: > 7: *goja.newFunc(&{0x40003314a0 toString function() { trace.push("key-toString"); return "key"; } 0 false}) @@ -16465,7 +16501,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(&{0x40002f3130 val function val() { + compiler.go:433: 1: *goja.newFunc(&{0x40003314f0 val function val() { trace.push("val"); return "val"; } 0 false}) @@ -16854,7 +16890,7 @@ === RUN TestAssignPatternRestTrailingComma --- PASS: TestAssignPatternRestTrailingComma (0.00s) === RUN TestFuncParamInitializerSimple - compiler.go:433: 0: *goja.newFunc(&{0x400054efa0 f function f(a = 1) { + compiler.go:433: 0: *goja.newFunc(&{0x400035a690 f function f(a = 1) { return a; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -16879,7 +16915,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamInitializerSimple (0.00s) === RUN TestFuncParamObjectPatternSimple - compiler.go:433: 0: *goja.newFunc(&{0x400054f1d0 f function f({a, b} = {a: 1, b: 2}) { + compiler.go:433: 0: *goja.newFunc(&{0x400035a8c0 f function f({a, b} = {a: 1, b: 2}) { return "" + a + b; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{2 1}) @@ -16925,7 +16961,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamObjectPatternSimple (0.00s) === RUN TestFuncParamRestStackSimple - compiler.go:433: 0: *goja.newFunc(&{0x40002f21e0 f function f(arg1, ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400035aaf0 f function f(arg1, ...rest) { return rest; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 1}) @@ -16950,7 +16986,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamRestStackSimple (0.00s) === RUN TestFuncParamRestStashSimple - compiler.go:433: 0: *goja.newFunc(&{0x40002f2460 f function f(arg1, ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400035ad20 f function f(arg1, ...rest) { eval("true"); return rest; } 1 false}) @@ -16984,7 +17020,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestFuncParamRestStashSimple (0.00s) === RUN TestRestArgsNotInStash - compiler.go:433: 0: *goja.newFunc(&{0x40002f2820 f function f(...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400035b0e0 f function f(...rest) { () => rest; return rest.length; } 0 false}) @@ -16992,7 +17028,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(&{{0x40002f2870 () => rest 0 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x400035b130 () => rest 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(0) compiler.go:433: >> 2: goja._ret({}) @@ -17010,7 +17046,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRestArgsNotInStash (0.00s) === RUN TestRestArgsInStash - compiler.go:433: 0: *goja.newFunc(&{0x40002f2cd0 f function f(first, ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400035b450 f function f(first, ...rest) { () => first; () => rest; return rest.length; @@ -17019,12 +17055,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(&{{0x40002f2d20 () => first 0 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x400035b4a0 () => 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(&{{0x40002f2d70 () => rest 0 false}}) + compiler.go:433: > 6: *goja.newArrowFunc(&{{0x400035b4f0 () => rest 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(1) compiler.go:433: >> 2: goja._ret({}) @@ -17042,7 +17078,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRestArgsInStash (0.00s) === RUN TestRestArgsInStashFwdRef - compiler.go:433: 0: *goja.newFunc(&{0x40002f3180 f function f(first = eval(), ...rest) { + compiler.go:433: 0: *goja.newFunc(&{0x400035b860 f function f(first = eval(), ...rest) { () => first; () => rest; return rest.length === 1 && rest[0] === 2; @@ -17061,12 +17097,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(&{{0x40002f31d0 () => first 0 false}}) + compiler.go:433: > 14: *goja.newArrowFunc(&{{0x400035b8b0 () => 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(&{{0x40002f3220 () => rest 0 false}}) + compiler.go:433: > 16: *goja.newArrowFunc(&{{0x400035b900 () => rest 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStashLex(2) compiler.go:433: >> 2: goja._ret({}) @@ -17092,7 +17128,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRestArgsInStashFwdRef (0.00s) === RUN TestFuncParamRestPattern - compiler.go:433: 0: *goja.newFunc(&{0x40002f34f0 f function f(arg1, ...{0: rest1, 1: rest2}) { + compiler.go:433: 0: *goja.newFunc(&{0x400035bbd0 f function f(arg1, ...{0: rest1, 1: rest2}) { return ""+arg1+" "+rest1+" "+rest2; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{2 1}) @@ -17133,7 +17169,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamRestPattern (0.00s) === RUN TestFuncParamForwardRef - compiler.go:433: 0: *goja.newFunc(&{0x40002f3720 f function f(a = b + 1, b) { + compiler.go:433: 0: *goja.newFunc(&{0x400035be00 f function f(a = b + 1, b) { return ""+a+" "+b; } 0 false}) compiler.go:433: > 0: *goja.enterFunc1(&{map[] 2 2 1 1 false}) @@ -17164,7 +17200,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamForwardRef (0.00s) === RUN TestFuncParamForwardRefMissing - compiler.go:433: 0: *goja.newFunc(&{0x40002f3a90 f function f(a = b + 1, b) { + compiler.go:433: 0: *goja.newFunc(&{0x400001e870 f function f(a = b + 1, b) { return ""+a+" "+b; } 0 false}) compiler.go:433: > 0: *goja.enterFunc1(&{map[] 2 2 1 1 false}) @@ -17189,7 +17225,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(&{0x40002f3ae0 function() { + compiler.go:433: 5: *goja.newFunc(&{0x400001e8c0 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17204,7 +17240,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamForwardRefMissing (0.00s) === RUN TestFuncParamInnerRef - compiler.go:433: 0: *goja.newFunc(&{0x40002f3e00 f function f(a = inner) { + compiler.go:433: 0: *goja.newFunc(&{0x400001ec80 f function f(a = inner) { var inner = 42; return a; } 0 false}) @@ -17222,7 +17258,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(&{0x40002f3e50 function() { + compiler.go:433: 5: *goja.newFunc(&{0x400001ecd0 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17237,7 +17273,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamInnerRef (0.00s) === RUN TestFuncParamInnerRefEval - compiler.go:433: 0: *goja.newFunc(&{0x40004161e0 f function f(a = eval("inner")) { + compiler.go:433: 0: *goja.newFunc(&{0x400001efa0 f function f(a = eval("inner")) { var inner = 42; return a; } 0 false}) @@ -17262,7 +17298,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(&{0x4000416230 function() { + compiler.go:433: 5: *goja.newFunc(&{0x400001eff0 function() { f(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17277,7 +17313,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamInnerRefEval (0.00s) === RUN TestFuncParamCalleeName - compiler.go:433: 0: *goja.newFunc(&{0x4000416500 f function f(a = f) { + compiler.go:433: 0: *goja.newFunc(&{0x400001f540 f function f(a = f) { var f; return f; } 0 false}) @@ -17298,7 +17334,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamCalleeName (0.00s) === RUN TestFuncParamVarCopy - compiler.go:433: 0: *goja.newFunc(&{0x4000416730 f function f(a = f) { + compiler.go:433: 0: *goja.newFunc(&{0x400001f770 f function f(a = f) { var a; return a; } 0 false}) @@ -17321,7 +17357,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestFuncParamVarCopy (0.00s) === RUN TestFuncParamScope - compiler.go:433: 0: *goja.newFunc(&{0x4000416aa0 f function f( + compiler.go:433: 0: *goja.newFunc(&{0x400001fb30 f function f( _ = probe1 = function() { return x; }, __ = (eval('var x = "inside";'), probe2 = function() { return x; }) ) { @@ -17335,7 +17371,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(&{0x4000416b40 probe1 function() { return x; } 0 false}) + compiler.go:433: > 9: *goja.newFunc(&{0x400001fb80 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({}) @@ -17348,7 +17384,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(&{0x4000416be0 probe2 function() { return x; } 0 false}) + compiler.go:433: > 19: *goja.newFunc(&{0x400001fbd0 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({}) @@ -17376,11 +17412,11 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestFuncParamScope (0.00s) === RUN TestDefParamsStackPtr - compiler.go:433: 0: *goja.newFunc(&{0x40004171d0 A function A() {} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000368140 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(&{0x4000417220 D function D(message = '') { + compiler.go:433: 1: *goja.newFunc(&{0x4000368190 D function D(message = '') { var C = A.B; C([1,2,3]); } 0 false}) @@ -17408,7 +17444,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(&{0x4000417270 function () {} 0 false}) + compiler.go:433: 4: *goja.newFunc(&{0x40003681e0 function () {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -17420,7 +17456,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDefParamsStackPtr (0.00s) === RUN TestNestedVariadicCalls - compiler.go:433: 0: *goja.newFunc(&{0x400054f3b0 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000368730 f function f() { return Array.prototype.join.call(arguments, ","); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 0 1 0 1 true false}) @@ -17457,7 +17493,7 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestNestedVariadicCalls (0.00s) === RUN TestVariadicNew - compiler.go:433: 0: *goja.newFunc(&{0x400054f680 C function C() { + compiler.go:433: 0: *goja.newFunc(&{0x4000368a00 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}) @@ -17503,11 +17539,11 @@ compiler_test.go:191: stashAllocs: 2 --- PASS: TestVariadicNew (0.00s) === RUN TestVariadicUseStackVars - compiler.go:433: 0: *goja.newFunc(&{0x400054f9f0 A function A(message) { return message; } 1 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000369310 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(&{0x400054fa40 B function B(...args){ + compiler.go:433: 1: *goja.newFunc(&{0x4000369360 B function B(...args){ return A(...args); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) @@ -17530,7 +17566,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestVariadicUseStackVars (0.00s) === RUN TestCatchParamPattern - compiler.go:433: 0: *goja.newFunc(&{0x400054fc70 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369630 f function f() { let x = 3; try { throw {a: 1, b: 2}; @@ -17598,14 +17634,14 @@ === RUN TestArrowBoxedThis compiler.go:433: 0: *goja.bindGlobal(&{[context] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(fn) - compiler.go:433: 2: *goja.newFunc(&{0x400001e9b0 fn function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000368910 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(&{{0x400001ea00 (arg) => { var local; context = this; } 1 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x4000368960 (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) @@ -17627,7 +17663,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestArrowBoxedThis (0.00s) === RUN TestParameterOverride - compiler.go:433: 0: *goja.newFunc(&{0x400001ed20 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x4000369180 f function f(arg) { var arg = arg || "default" return arg } 1 false}) @@ -17686,7 +17722,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(&{{0x40004221e0 tmpl tmpl() { + compiler.go:433: 4: *goja.newMethod(&{{0x4000458870 tmpl tmpl() { res = this; return () => {}; } 0 false} 1}) @@ -17695,7 +17731,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(&{{0x4000422230 () => {} 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x40004588c0 () => {} 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja._loadUndef({}) compiler.go:433: >> 2: goja._ret({}) @@ -17706,7 +17742,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(&{[0x400021f320] [0x400021f350]}) + compiler.go:433: 11: *goja.getTaggedTmplObject(&{[0x4000204960] [0x4000204990]}) compiler.go:433: 12: goja.call(1) compiler.go:433: 13: goja._pop({}) compiler.go:433: 14: goja.loadDynamic(res) @@ -17717,15 +17753,15 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestTaggedTemplate (0.00s) === RUN TestDuplicateGlobalFunc - compiler.go:433: 0: *goja.newFunc(&{0x4000422730 b function b(){ return "b" } 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000458f00 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(&{0x4000422aa0 c function c(){ return "c" } 0 false}) + compiler.go:433: 1: *goja.newFunc(&{0x4000458f50 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(&{0x4000422af0 a function a(){} 0 false}) + compiler.go:433: 2: *goja.newFunc(&{0x4000458fa0 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({}) @@ -17737,7 +17773,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDuplicateGlobalFunc (0.00s) === RUN TestDuplicateFunc - compiler.go:433: 0: *goja.newFunc(&{0x4000423040 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000459450 f function f() { function a(){} function b(){ return "b" } function c(){ return "c" } @@ -17745,22 +17781,22 @@ return b(); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{3 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40004230e0 a function a(){} 0 false}) + compiler.go:433: > 1: *goja.newFunc(&{0x40004594a0 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(&{0x4000423130 b function b(){ return "b" } 0 false}) + compiler.go:433: > 3: *goja.newFunc(&{0x40004594f0 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(&{0x4000423180 c function c(){ return "c" } 0 false}) + compiler.go:433: > 5: *goja.newFunc(&{0x4000459540 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(&{0x40004231d0 a function a(){} 0 false}) + compiler.go:433: > 7: *goja.newFunc(&{0x4000459590 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({}) @@ -17779,7 +17815,7 @@ === RUN TestSrcLocations compiler.go:433: 0: *goja.bindGlobal(&{[] [] [i] [] false}) compiler.go:433: 1: goja._newObject({}) - compiler.go:433: 2: *goja.newMethod(&{{0x4000423590 valueOf valueOf() { + compiler.go:433: 2: *goja.newMethod(&{{0x4000459950 valueOf valueOf() { throw new Error(); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17829,7 +17865,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(&{{0x40004235e0 get get() { + compiler.go:433: 44: *goja.newMethod(&{{0x40004599a0 get get() { throw new Error(); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -17839,7 +17875,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(&{{0x4000423630 set set() { + compiler.go:433: 46: *goja.newMethod(&{{0x40004599f0 set set() { throw new Error(); } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18018,7 +18054,7 @@ compiler.go:433: 214: goja.leaveTry({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSrcLocations (0.01s) +--- PASS: TestSrcLocations (0.00s) === RUN TestSrcLocationThrowLiteral --- PASS: TestSrcLocationThrowLiteral (0.00s) === RUN TestSrcLocation @@ -18111,7 +18147,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(&{0x40003fa6e0 f function f(arg = 1 + 2) {return arg} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000330af0 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) @@ -18127,7 +18163,7 @@ compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 === RUN TestConstantFolding/return - compiler.go:433: 0: *goja.newFunc(&{0x40003fa960 f function f() {return 1 + 2} 0 false}) + compiler.go:433: 0: *goja.newFunc(&{0x4000330d70 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({}) @@ -18153,7 +18189,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(&{{0x40003fb590 () => { + compiler.go:433: 3: *goja.newArrowFunc(&{{0x40003318b0 () => { a = 1; let a; } 0 false}}) @@ -18169,7 +18205,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(&{{0x40003fb5e0 () => { + compiler.go:433: 9: *goja.newArrowFunc(&{{0x4000331900 () => { ({a, b} = {a: 1, b: 2}); let a, b; } 0 false}}) @@ -18198,7 +18234,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(&{{0x40003fb630 () => { + compiler.go:433: 15: *goja.newArrowFunc(&{{0x4000331950 () => { (function() { eval(""); ({a} = {a: 1}); @@ -18207,7 +18243,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(&{0x40003fb680 function() { + compiler.go:433: > 2: *goja.newFunc(&{0x40003319a0 function() { eval(""); ({a} = {a: 1}); } 0 false}) @@ -18242,7 +18278,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(&{{0x40003fb6d0 () => { + compiler.go:433: 21: *goja.newArrowFunc(&{{0x40003319f0 () => { const ctx = {x: 1}; function t() { delete ctx.x; @@ -18257,7 +18293,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(&{0x40003fb720 t function t() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000331a40 t function t() { delete ctx.x; return 42; } 0 false}) @@ -18275,7 +18311,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(&{0x40003fb770 function() { + compiler.go:433: > 10: *goja.newFunc(&{0x4000331a90 function() { 'use strict'; ({x} = {x: t()}); } 0 true}) @@ -18303,7 +18339,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(&{{0x40003fb7c0 () => { + compiler.go:433: 27: *goja.newArrowFunc(&{{0x4000331ae0 () => { const ctx = {x: 1}; function t() { delete ctx.x; @@ -18324,7 +18360,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(&{0x40003fb810 t function t() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000331b30 t function t() { delete ctx.x; return 42; } 0 false}) @@ -18342,7 +18378,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(&{0x40003fb860 function() { + compiler.go:433: > 10: *goja.newFunc(&{0x4000331b80 function() { 'use strict'; const src = {}; Object.defineProperty(src, "x", { @@ -18360,7 +18396,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(&{{0x40003fb8b0 get get() { + compiler.go:433: >> 8: *goja.newMethod(&{{0x4000331bd0 get get() { return t(); } 0 true} 1}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -18443,7 +18479,7 @@ === RUN TestObjectLiteralSuper compiler.go:433: 0: *goja.bindGlobal(&{[] [] [] [proto o] false}) compiler.go:433: 1: goja._newObject({}) - compiler.go:433: 2: *goja.newMethod(&{{0x40003fbef0 m m() { + compiler.go:433: 2: *goja.newMethod(&{{0x400035a370 m m() { return 40; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18452,7 +18488,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(&{{0x4000428000 m m() { + compiler.go:433: 6: *goja.newMethod(&{{0x400035a410 m m() { return super.m() + 2; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18483,11 +18519,11 @@ compiler.go:433: 3: goja.jump(1) compiler.go:433: 4: *goja.newClass(&{ C class C { a = () => this - } 0x4000428230 [] [] 0 0 0 false}) + } 0x400035a640 [] [] 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(&{{0x4000428280 a () => this 0 true}}) + compiler.go:433: > 2: *goja.newArrowFunc(&{{0x400035a690 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({}) @@ -18514,7 +18550,7 @@ compiler.go:433: 3: goja.jump(1) compiler.go:433: 4: *goja.newClass(&{ C class C { a = this - } 0x40004284b0 [] [] 0 0 0 false}) + } 0x400035a8c0 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadStack(0) compiler.go:433: > 1: goja.definePropKeyed(a) @@ -18537,12 +18573,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(&{0x40004286e0 0 0}) + compiler.go:433: 4: *goja.newStaticFieldInit(&{0x400035aaf0 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(&{{0x4000428730 capture () => this 0 true}}) + compiler.go:433: > 3: *goja.newArrowFunc(&{{0x400035ab40 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({}) @@ -18569,7 +18605,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(&{0x4000428960 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400035ad70 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) @@ -18596,7 +18632,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(&{0x40004291d0 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x400035b5e0 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadDynamic(Math) compiler.go:433: > 1: goja.getPropCallee(random) @@ -18605,7 +18641,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(&{{0x4000429220 { + compiler.go:433: > 7: *goja.newMethod(&{{0x400035b630 { this.supername = super.name; } 0 true} 1}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -18620,7 +18656,7 @@ compiler.go:433: > 9: goja._pop({}) compiler.go:430: > ---- compiler.go:433: 3: goja.loadDynamic(Error) - compiler.go:433: 4: *goja.newDerivedClass(&{{0x4000428ff0 C class C extends Error { + compiler.go:433: 4: *goja.newDerivedClass(&{{0x400035b400 C class C extends Error { a = true; b = 1; ["b".toUpperCase()] = 2 @@ -18641,7 +18677,7 @@ static { this.supername = super.name; } - } 0x4000429180 [] [] 0 0 0 false}}) + } 0x400035b590 [] [] 0 0 0 false}}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({true}) compiler.go:433: > 1: goja.definePropKeyed(a) @@ -18667,27 +18703,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(&{{0x4000429040 M M() { + compiler.go:433: 9: *goja.newMethod(&{{0x400035b450 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(&{{0x4000429090 M1 M1() { + compiler.go:433: 11: *goja.newMethod(&{{0x400035b4a0 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(&{{0x40004290e0 m m() { + compiler.go:433: 14: *goja.newMethod(&{{0x400035b4f0 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(&{{0x4000429130 m1 m1() { + compiler.go:433: 16: *goja.newMethod(&{{0x400035b540 m1 m1() { return true; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18734,7 +18770,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(&{{0x40004c82d0 C class C extends Error { + compiler.go:433: 3: *goja.newDerivedClass(&{{0x400035b950 C class C extends Error { constructor() { eval("super()"); } @@ -18753,7 +18789,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(&{{0x40004c8320 m m() { + compiler.go:433: 5: *goja.newMethod(&{{0x400035b9a0 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}) @@ -18799,13 +18835,13 @@ thisSet = this; this._p = v; } - } 0x40004c8870 [] [] 0 0 0 false}) + } 0x400001ecd0 [] [] 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(&{{0x40004c87d0 p get p() { + compiler.go:433: 8: *goja.newMethod(&{{0x400001ec30 p get p() { thisGet = this; return this._p; } 0 true} 1}) @@ -18817,7 +18853,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(&{{0x40004c8820 p set p(v) { + compiler.go:433: 10: *goja.newMethod(&{{0x400001ec80 p set p(v) { thisSet = this; this._p = v; } 1 true} 1}) @@ -18866,7 +18902,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 18: goja.dupN(1) - compiler.go:433: 19: *goja.newMethod(&{{0x40004c88c0 g g() { + compiler.go:433: 19: *goja.newMethod(&{{0x400001ed20 g g() { return super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18875,7 +18911,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(&{{0x40004c8960 s s(v) { + compiler.go:433: 21: *goja.newMethod(&{{0x400001edc0 s s(v) { super.p = v; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -18886,7 +18922,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(&{{0x40004c89b0 inc inc() { + compiler.go:433: 23: *goja.newMethod(&{{0x400001ee10 inc inc() { super.p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18899,7 +18935,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(&{{0x40004c8a00 incR incR() { + compiler.go:433: 25: *goja.newMethod(&{{0x400001ee60 incR incR() { return super.p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18914,7 +18950,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(&{{0x40004c8a50 inc1 inc1() { + compiler.go:433: 27: *goja.newMethod(&{{0x400001eeb0 inc1 inc1() { ++super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18927,7 +18963,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(&{{0x40004c8aa0 inc1R inc1R() { + compiler.go:433: 29: *goja.newMethod(&{{0x400001ef00 inc1R inc1R() { return ++super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18940,7 +18976,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(&{{0x40004c8af0 unary unary() { + compiler.go:433: 31: *goja.newMethod(&{{0x400001ef50 unary unary() { return +super.p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -18950,7 +18986,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(&{{0x40004c8b40 pattern pattern() { + compiler.go:433: 33: *goja.newMethod(&{{0x400001efa0 pattern pattern() { [super.p] = [9]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19171,7 +19207,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) @@ -19201,13 +19237,13 @@ pattern() { [this.#p] = [9]; } - } 0x40004c93b0 [] [] 1 0 0 true}) + } 0x400001fae0 [] [] 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(&{{0x40004c9180 g g() { + compiler.go:433: 4: *goja.newMethod(&{{0x400001f8b0 g g() { return this.#p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19215,7 +19251,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(&{{0x40004c91d0 s s(v) { + compiler.go:433: 6: *goja.newMethod(&{{0x400001f900 s s(v) { this.#p = v; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -19225,7 +19261,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(&{{0x40004c9220 inc inc() { + compiler.go:433: 8: *goja.newMethod(&{{0x400001f950 inc inc() { this.#p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19237,7 +19273,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(&{{0x40004c9270 incR incR() { + compiler.go:433: 10: *goja.newMethod(&{{0x400001f9a0 incR incR() { return this.#p++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19251,7 +19287,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(&{{0x40004c92c0 inc1 inc1() { + compiler.go:433: 12: *goja.newMethod(&{{0x400001f9f0 inc1 inc1() { ++this.#p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19263,7 +19299,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(&{{0x40004c9310 inc1R inc1R() { + compiler.go:433: 14: *goja.newMethod(&{{0x400001fa40 inc1R inc1R() { return ++this.#p; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19275,7 +19311,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(&{{0x40004c9360 pattern pattern() { + compiler.go:433: 16: *goja.newMethod(&{{0x400001fa90 pattern pattern() { [this.#p] = [9]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19423,13 +19459,13 @@ pattern() { eval("[this.#p] = [9]"); } - } 0x40004c9a40 [p] [] 1 0 0 true}) + } 0x400031e230 [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(&{{0x40004c98b0 g g() { + compiler.go:433: 4: *goja.newMethod(&{{0x400031e0a0 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}) @@ -19441,7 +19477,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(&{{0x40004c9900 s s(v) { + compiler.go:433: 6: *goja.newMethod(&{{0x400031e0f0 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}) @@ -19455,7 +19491,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(&{{0x40004c9950 incR incR() { + compiler.go:433: 8: *goja.newMethod(&{{0x400031e140 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}) @@ -19467,7 +19503,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(&{{0x40004c99a0 inc1R inc1R() { + compiler.go:433: 10: *goja.newMethod(&{{0x400031e190 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}) @@ -19479,7 +19515,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(&{{0x40004c99f0 pattern pattern() { + compiler.go:433: 12: *goja.newMethod(&{{0x400031e1e0 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}) @@ -19588,13 +19624,13 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x40002f27d0 p get p() { + compiler.go:433: 4: *goja.newMethod(&{{0x400031eeb0 p get p() { return function() { return this; }; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40002f2820 function() { + compiler.go:433: > 1: *goja.newFunc(&{0x400031ef00 function() { return this; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -19613,7 +19649,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 12: goja.dupN(1) - compiler.go:433: 13: *goja.newMethod(&{{0x40002f2870 m m() { + compiler.go:433: 13: *goja.newMethod(&{{0x400031ef50 m m() { return super.p(); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19657,13 +19693,13 @@ thisSet = this; this._p = v; } - } 0x40002f3310 [] [] 0 0 0 false}) + } 0x400031f8b0 [] [] 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(&{{0x40002f3270 p get p() { + compiler.go:433: 10: *goja.newMethod(&{{0x400031f810 p get p() { thisGet = this; return this._p; } 0 true} 1}) @@ -19675,7 +19711,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(&{{0x40002f32c0 p set p(v) { + compiler.go:433: 12: *goja.newMethod(&{{0x400031f860 p set p(v) { thisSet = this; this._p = v; } 1 true} 1}) @@ -19721,7 +19757,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 20: goja.dupN(1) - compiler.go:433: 21: *goja.newMethod(&{{0x40002f3360 g g() { + compiler.go:433: 21: *goja.newMethod(&{{0x400031f900 g g() { return super[PROP]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19731,7 +19767,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(&{{0x40002f33b0 s s(v) { + compiler.go:433: 23: *goja.newMethod(&{{0x400031f950 s s(v) { super[PROP] = v; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -19743,7 +19779,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(&{{0x40002f3400 inc inc() { + compiler.go:433: 25: *goja.newMethod(&{{0x400031f9a0 inc inc() { super[PROP]++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19757,7 +19793,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(&{{0x40002f3450 incR incR() { + compiler.go:433: 27: *goja.newMethod(&{{0x400031f9f0 incR incR() { return super[PROP]++; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19773,7 +19809,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(&{{0x40002f34a0 inc1 inc1() { + compiler.go:433: 29: *goja.newMethod(&{{0x400031fa40 inc1 inc1() { ++super[PROP]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19787,7 +19823,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(&{{0x40002f34f0 inc1R inc1R() { + compiler.go:433: 31: *goja.newMethod(&{{0x400031fa90 inc1R inc1R() { return ++super[PROP]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -19801,7 +19837,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(&{{0x40002f3540 pattern pattern() { + compiler.go:433: 33: *goja.newMethod(&{{0x400031fae0 pattern pattern() { [super[PROP]] = [9]; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20016,7 +20052,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSuperRefBracket (0.00s) === RUN TestSuperRefBracketEvalOrder - compiler.go:433: 0: *goja.newFunc(&{0x40002f38b0 key function key() { + compiler.go:433: 0: *goja.newFunc(&{0x400031fe50 key function key() { keyCallCount++; C.prototype.__proto__ = null; return "k"; @@ -20036,7 +20072,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(&{0x40002f3900 C class C { + compiler.go:433: 5: *goja.newClass(&{0x400031fea0 C class C { constructor() { super[key()]++; } @@ -20057,7 +20093,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(&{{0x40002f3950 () => new C 0 false}}) + compiler.go:433: 11: *goja.newArrowFunc(&{{0x400031fef0 () => 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) @@ -20086,13 +20122,13 @@ } } [] [] 0 0 0 false}) compiler.go:433: 5: goja.dupN(1) - compiler.go:433: 6: *goja.newMethod(&{{0x40002f3db0 p get p() { + compiler.go:433: 6: *goja.newMethod(&{{0x40004003c0 p get p() { return function() { return this; }; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x40002f3e00 function() { + compiler.go:433: > 1: *goja.newFunc(&{0x4000400410 function() { return this; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -20111,7 +20147,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 14: goja.dupN(1) - compiler.go:433: 15: *goja.newMethod(&{{0x40002f3e50 m m() { + compiler.go:433: 15: *goja.newMethod(&{{0x4000400460 m m() { return super[PROP](); } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20136,14 +20172,14 @@ compiler.go:433: 28: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSuperRefBracketCallee (0.01s) +--- PASS: TestSuperRefBracketCallee (0.00s) === RUN TestSuperBaseInCtor compiler.go:433: 0: *goja.bindGlobal(&{[] [] [result Derived] [] false}) compiler.go:433: 1: goja._loadUndef({}) 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(&{{0x400001e870 Derived class Derived extends Object { + compiler.go:433: 5: *goja.newDerivedClass(&{{0x4000400780 Derived class Derived extends Object { constructor() { super(); result = super.constructor === Object; @@ -20188,7 +20224,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestClassNamedEval (0.00s) === RUN TestClassNonDerived - compiler.go:433: 0: *goja.newFunc(&{0x400001ed20 initF function initF() { + compiler.go:433: 0: *goja.newFunc(&{0x4000400b90 initF function initF() { } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -20197,7 +20233,7 @@ compiler.go:433: 2: goja.jump(1) compiler.go:433: 3: *goja.newClass(&{ C class C { f = initF() - } 0x400001ed70 [] [] 0 0 0 false}) + } 0x4000400be0 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadDynamicCallee(initF) compiler.go:433: > 1: goja.call(0) @@ -20217,7 +20253,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(&{{0x400001eff0 f get f() {} 0 true} 1}) + compiler.go:433: 5: *goja.newMethod(&{{0x4000400e60 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({}) @@ -20244,7 +20280,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x400001f630 a a() { + compiler.go:433: 4: *goja.newMethod(&{{0x4000401220 a a() { return Error; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20264,7 +20300,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 12: goja.dupN(1) - compiler.go:433: 13: *goja.newMethod(&{{0x400001f680 m m() { + compiler.go:433: 13: *goja.newMethod(&{{0x4000401270 m m() { class Inner extends super.a() { } return new Inner(); @@ -20305,7 +20341,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x4000422460 a a() { + compiler.go:433: 4: *goja.newMethod(&{{0x4000401770 a a() { return Error; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20327,7 +20363,7 @@ } } [] [] 0 0 0 false}}) compiler.go:433: 12: goja.dupN(1) - compiler.go:433: 13: *goja.newMethod(&{{0x40004224b0 m m() { + compiler.go:433: 13: *goja.newMethod(&{{0x40004017c0 m m() { function f(cls) { return new cls(); } @@ -20335,7 +20371,7 @@ }) } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000422500 f function f(cls) { + compiler.go:433: > 1: *goja.newFunc(&{0x4000401810 f function f(cls) { return new cls(); } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -20372,7 +20408,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(&{0x4000422af0 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x4000401ae0 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadVal({40}) compiler.go:433: > 1: goja.definePropKeyed(T) @@ -20380,7 +20416,7 @@ compiler.go:433: 3: *goja.newClass(&{ C class C { static T = 40 f = C.T + 2 - } 0x4000422730 [] [] 0 0 0 false}) + } 0x4000401a40 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadStashLex(0) compiler.go:433: > 1: goja.getProp(T) @@ -20404,7 +20440,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(&{0x4000422dc0 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x4000401d10 0 0}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja.loadStashLex(0) compiler.go:433: > 1: goja.getProp(name) @@ -20426,7 +20462,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(&{0x4000422ff0 0 0}) + compiler.go:433: 2: *goja.newStaticFieldInit(&{0x4000368000 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) @@ -20452,7 +20488,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(&{{0x4000423450 () => { + compiler.go:433: 3: *goja.newArrowFunc(&{{0x4000368730 () => { class C extends C { } } 0 false}}) @@ -20480,7 +20516,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(&{{0x4000423770 C class C extends class {} { + compiler.go:433: 7: *goja.newDerivedClass(&{{0x4000368be0 C class C extends class {} { constructor() { f = () => super(); f(); @@ -20490,7 +20526,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(&{{0x40004237c0 f () => super() 0 true}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x4000368d20 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) @@ -20520,7 +20556,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(&{{0x4000423bd0 C class C extends P { + compiler.go:433: 9: *goja.newDerivedClass(&{{0x4000369450 C class C extends P { constructor() { f = () => () => super(); f()(); @@ -20530,9 +20566,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(&{{0x4000423c20 f () => () => super() 0 true}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x40003694f0 f () => () => super() 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) - compiler.go:433: >> 1: *goja.newArrowFunc(&{{0x4000423c70 () => super() 0 true}}) + compiler.go:433: >> 1: *goja.newArrowFunc(&{{0x4000369540 () => 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) @@ -20568,7 +20604,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(&{{0x40003fa000 f f() { + compiler.go:433: 11: *goja.newMethod(&{{0x4000369900 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}) @@ -20609,7 +20645,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(&{0x40002de000 0 0}) + compiler.go:433: 3: *goja.newStaticFieldInit(&{0x4000369d60 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) @@ -20660,14 +20696,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(&{0x40002de5a0 1 0}) + compiler.go:433: 6: *goja.newStaticFieldInit(&{0x4000458500 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(&{{0x40002de5f0 { + compiler.go:433: > 5: *goja.newMethod(&{{0x4000458550 { f2 = o => eval("o.#a"); assert.sameValue(C.#a, 42); assert.sameValue((() => C.#a)(), 42); @@ -20675,7 +20711,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(&{{0x40002de640 f2 o => eval("o.#a") 1 true}}) + compiler.go:433: >> 3: *goja.newArrowFunc(&{{0x40004585a0 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}) @@ -20692,7 +20728,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(&{{0x40002de6e0 () => C.# 0 true}}) + compiler.go:433: >> 15: *goja.newArrowFunc(&{{0x4000458730 () => 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}) @@ -20707,7 +20743,7 @@ compiler.go:433: > 7: goja._pop({}) compiler.go:430: > ---- compiler.go:433: 7: goja.resolveVar1Strict(f1) - compiler.go:433: 8: *goja.newArrowFunc(&{{0x40002de500 f1 o => eval("o.#a") 1 true}}) + compiler.go:433: 8: *goja.newArrowFunc(&{{0x4000458460 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}) @@ -20731,7 +20767,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(&{{0x40002de730 () => f1(C) 0 false}}) + compiler.go:433: 20: *goja.newArrowFunc(&{{0x4000458780 () => 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) @@ -20757,18 +20793,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(&{0x40002deeb0 1 0}) + compiler.go:433: 6: *goja.newStaticFieldInit(&{0x4000459040 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(&{{0x40002def00 { + compiler.go:433: > 3: *goja.newMethod(&{{0x4000459090 { 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(&{{0x40002def50 f2 o => (0, eval)("o.#a") 1 true}}) + compiler.go:433: >> 2: *goja.newArrowFunc(&{{0x40004590e0 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) @@ -20779,7 +20815,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(&{{0x40002defa0 () => (0, eval)("C.#a") 0 true}}) + compiler.go:433: >> 7: *goja.newArrowFunc(&{{0x4000459130 () => (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) @@ -20794,7 +20830,7 @@ compiler.go:433: > 5: goja._pop({}) compiler.go:430: > ---- compiler.go:433: 7: goja.resolveVar1Strict(f1) - compiler.go:433: 8: *goja.newArrowFunc(&{{0x40002dee60 f1 o => (0, eval)("o.#a") 1 true}}) + compiler.go:433: 8: *goja.newArrowFunc(&{{0x4000458ff0 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) @@ -20816,7 +20852,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(&{{0x40002deff0 () => f1(C) 0 false}}) + compiler.go:433: 18: *goja.newArrowFunc(&{{0x4000459180 () => 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) @@ -20827,7 +20863,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(&{{0x40002df090 () => f2(C) 0 false}}) + compiler.go:433: 24: *goja.newArrowFunc(&{{0x4000459220 () => 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) @@ -20842,7 +20878,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(&{{0x40002df590 () => { + compiler.go:433: 3: *goja.newArrowFunc(&{{0x4000459720 () => { class C { static #a = 42; static { @@ -20852,12 +20888,12 @@ } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 0}) compiler.go:433: > 1: goja.jump(1) - compiler.go:433: > 2: *goja.newStaticFieldInit(&{0x40002df5e0 1 0}) + compiler.go:433: > 2: *goja.newStaticFieldInit(&{0x4000459770 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(&{{0x40002df630 { + compiler.go:433: >> 3: *goja.newMethod(&{{0x40004597c0 { Function("o", "return o.#a"); } 0 true} 1}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -20903,23 +20939,23 @@ static getter(inst) { return inst.#m(); } - } 0x40002dfe50 [] [] 1 2 0 true}) + } 0x40003300f0 [] [] 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(&{{0x40002dfc70 #b get #b() {} 0 true} 1}) + compiler.go:433: 4: *goja.newMethod(&{{0x4000459e00 #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(&{{0x40002dfcc0 #b set #b(_) {} 1 true} 1}) + compiler.go:433: 6: *goja.newMethod(&{{0x4000459e50 #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(&{{0x40002dfd10 c get c() { + compiler.go:433: 8: *goja.newMethod(&{{0x4000459ea0 c get c() { return this.#a; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20927,7 +20963,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(&{{0x40002dfd60 #m #m() { + compiler.go:433: 10: *goja.newMethod(&{{0x4000459ef0 #m #m() { return this.#a; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -20936,7 +20972,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(&{{0x40002dfdb0 getter getter(inst) { + compiler.go:433: 13: *goja.newMethod(&{{0x4000330050 getter getter(inst) { return inst.#m(); } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -20970,12 +21006,12 @@ static check(inst) { return #a in inst; } - } 0x400001e870 [] [] 1 0 0 true}) + } 0x40003303c0 [] [] 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(&{{0x400001e820 check check(inst) { + compiler.go:433: 3: *goja.newMethod(&{{0x4000330370 check check(inst) { return #a in inst; } 1 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -21105,7 +21141,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestKeywordsAsLabels (0.00s) === RUN TestThisResolutionWithArg - compiler.go:433: 0: *goja.newFunc(&{0x400001efa0 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330a50 f function f(arg) { capture = () => this; // move 'this' to stash return [this, arg]; } 1 false}) @@ -21114,7 +21150,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(&{{0x400001eff0 capture () => this 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x4000330aa0 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({}) @@ -21156,7 +21192,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestThisResolutionWithArg (0.00s) === RUN TestThisResolutionArgInStash - compiler.go:433: 0: *goja.newFunc(&{0x400001fa40 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x4000330d70 f function f(arg) { capture = () => this + arg; // move 'this' and arguments to stash return [this, arg]; } 1 false}) @@ -21164,7 +21200,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(&{{0x400001fa90 capture () => this + arg 0 false}}) + compiler.go:433: > 4: *goja.newArrowFunc(&{{0x4000330dc0 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) @@ -21208,7 +21244,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestThisResolutionArgInStash (0.00s) === RUN TestThisResolutionWithStackVar - compiler.go:433: 0: *goja.newFunc(&{0x400001fe50 f function f(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x40003310e0 f function f(arg) { const _ = 1; // a stack variable capture = () => this + arg; // move 'this' and arguments to stash return [this, arg]; @@ -21220,7 +21256,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(&{{0x40002dfef0 capture () => this + arg 0 false}}) + compiler.go:433: > 7: *goja.newArrowFunc(&{{0x4000331130 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) @@ -21266,7 +21302,7 @@ === RUN TestForInLoopContinue compiler.go:433: 0: *goja.bindGlobal(&{[globalSink] [] [] [] false}) compiler.go:433: 1: goja._loadUndef({}) - compiler.go:433: 2: *goja.newFunc(&{0x4000428500 function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000331680 function() { const data = [{disabled: true}, {}]; function dummy() {} function f1() {} @@ -21283,17 +21319,17 @@ f(); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 3 1 0 1 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000428550 dummy function dummy() {} 0 false}) + compiler.go:433: > 1: *goja.newFunc(&{0x40003316d0 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(&{0x40004285a0 f1 function f1() {} 0 false}) + compiler.go:433: > 3: *goja.newFunc(&{0x4000331720 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(&{0x40004285f0 f function f() { + compiler.go:433: > 5: *goja.newFunc(&{0x4000331770 f function f() { dummy(); // move dummy to stash (so that f1 is at index 1) for (const d of data) { if (d.disabled) continue; @@ -21319,7 +21355,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(&{{0x4000428640 globalSink () => d 0 false}}) + compiler.go:433: >> 18: *goja.newArrowFunc(&{{0x40003317c0 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({}) @@ -21358,7 +21394,7 @@ === RUN TestForInLoopContinueOuter compiler.go:433: 0: *goja.bindGlobal(&{[globalSink] [] [] [] false}) compiler.go:433: 1: goja._loadUndef({}) - compiler.go:433: 2: *goja.newFunc(&{0x4000428be0 function() { + compiler.go:433: 2: *goja.newFunc(&{0x4000331d60 function() { const data = [{disabled: true}, {}]; function dummy1() {} function f1() {} @@ -21382,17 +21418,17 @@ f(); } 0 false}) compiler.go:433: > 0: *goja.enterFunc(&{map[] 3 1 0 1 false false}) - compiler.go:433: > 1: *goja.newFunc(&{0x4000428c30 dummy1 function dummy1() {} 0 false}) + compiler.go:433: > 1: *goja.newFunc(&{0x4000331db0 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(&{0x4000428c80 f1 function f1() {} 0 false}) + compiler.go:433: > 3: *goja.newFunc(&{0x4000331e00 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(&{0x4000428cd0 f function f() { + compiler.go:433: > 5: *goja.newFunc(&{0x4000331e50 f function f() { dummy1(); let counter = 0; OUTER: for (let i = 0; i < 1; i++) { @@ -21436,7 +21472,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(&{{0x4000428d20 globalSink () => d 0 false}}) + compiler.go:433: >> 29: *goja.newArrowFunc(&{{0x4000331ea0 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({}) @@ -21520,7 +21556,7 @@ set; async; static; - } 0x4000429130 [] [] 0 0 0 false}) + } 0x400035a460 [] [] 0 0 0 false}) compiler.go:428: > ---- init_fields: compiler.go:433: > 0: goja._loadUndef({}) compiler.go:433: > 1: goja.definePropKeyed(get) @@ -21546,22 +21582,22 @@ static() {} } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x4000429b30 get get() {} 0 true} 1}) + compiler.go:433: 4: *goja.newMethod(&{{0x400035a8c0 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(&{{0x4000429b80 set set() {} 0 true} 1}) + compiler.go:433: 6: *goja.newMethod(&{{0x400035a910 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(&{{0x4000429c20 async async() {} 0 true} 1}) + compiler.go:433: 8: *goja.newMethod(&{{0x400035a960 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(&{{0x4000429c70 static static() {} 0 true} 1}) + compiler.go:433: 10: *goja.newMethod(&{{0x400035a9b0 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({}) @@ -21581,7 +21617,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newMethod(&{{0x40002f2050 0 0() { + compiler.go:433: 4: *goja.newMethod(&{{0x400035ac30 0 0() { return true; } 0 true} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -21605,7 +21641,7 @@ === RUN TestObjectLiteralComputedMethodKeys --- PASS: TestObjectLiteralComputedMethodKeys (0.00s) === RUN TestGeneratorFunc - compiler.go:433: 0: *goja.newFunc(&{0x40002f30e0 defParam function defParam() { + compiler.go:433: 0: *goja.newFunc(&{0x400035bb30 defParam function defParam() { trace += "1"; return "def"; } 0 false}) @@ -21617,7 +21653,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(&{{0x40002f3130 g function* g(param = defParam()) { + compiler.go:433: 1: *goja.newGeneratorFunc(&{{0x400035bb80 g function* g(param = defParam()) { const THREE = 3; trace += "2"; assert.sameValue(Math.floor(yield 1), THREE); @@ -21720,7 +21756,7 @@ } } [] [] 0 0 0 false}) compiler.go:433: 3: goja.dupN(1) - compiler.go:433: 4: *goja.newGeneratorMethod(&{{{0x40002f33b0 g *g(param) { + compiler.go:433: 4: *goja.newGeneratorMethod(&{{{0x400035be00 g *g(param) { yield 1; yield 2; } 1 true} 1}}) @@ -21877,9 +21913,9 @@ compiler.go:433: 69: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestNestedDestructArray (0.01s) +--- PASS: TestNestedDestructArray (0.00s) === RUN TestThisInStash - compiler.go:433: 0: *goja.newFunc(&{0x40002f3a40 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x400001ec30 f function f() { globalThis.x = () => this; // move 'this' to stash { @@ -21897,7 +21933,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(&{{0x40002f3a90 () => this 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x400001ec80 () => this 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -21922,7 +21958,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(&{0x40002f3ae0 f1 function f1() { + compiler.go:433: 1: *goja.newFunc(&{0x400001ecd0 f1 function f1() { globalThis.x = () => this; // move 'this' to stash var v; // introduce a stack variable @@ -21941,7 +21977,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(&{{0x40002f3b30 () => this 0 false}}) + compiler.go:433: > 5: *goja.newArrowFunc(&{{0x400001ed20 () => this 0 false}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -21980,7 +22016,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(&{{0x40003fa460 C class C extends Object { + compiler.go:433: 3: *goja.newDerivedClass(&{{0x400001f360 C class C extends Object { constructor() { super(); globalThis.x = () => this; // move 'this' to stash @@ -22002,7 +22038,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(&{{0x40003fa500 () => this 0 true}}) + compiler.go:433: > 7: *goja.newArrowFunc(&{{0x400001f4a0 () => this 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadThisStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -22031,7 +22067,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(&{{0x40003fa550 C1 class C1 extends Object { + compiler.go:433: 8: *goja.newDerivedClass(&{{0x400001f4f0 C1 class C1 extends Object { constructor() { super(); globalThis.x = () => this; // move 'this' to stash @@ -22054,7 +22090,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(&{{0x40003fa5a0 () => this 0 true}}) + compiler.go:433: > 7: *goja.newArrowFunc(&{{0x400001f540 () => this 0 true}}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: >> 1: goja.loadThisStash(0) compiler.go:433: >> 2: goja._ret({}) @@ -22095,7 +22131,7 @@ === RUN TestWrongThisRest compiler.go:433: 0: *goja.bindGlobal(&{[] [] [mine] [a] false}) compiler.go:433: 1: goja.jump(1) - compiler.go:433: 2: *goja.newClass(&{0x40003faa00 mine class mine { + compiler.go:433: 2: *goja.newClass(&{0x400001f9f0 mine class mine { constructor (arg) { this.field = arg } @@ -22116,7 +22152,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(&{{0x40003faa50 f f(...argument) { + compiler.go:433: 4: *goja.newMethod(&{{0x400001fa40 f f(...argument) { if (this.field != "something") { throw "wrong " + this.field + " Object.keys:" + Object.keys(this) } @@ -22148,7 +22184,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(&{{0x40003faaa0 s () => { + compiler.go:433: > 23: *goja.newArrowFunc(&{{0x400001fa90 s () => { for (const arg of argument) arg.call() return this.field } 0 true}}) @@ -22196,7 +22232,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(&{0x40003fae60 mine class mine { + compiler.go:433: 2: *goja.newClass(&{0x400001fe50 mine class mine { constructor (arg) { this.field = arg } @@ -22214,7 +22250,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(&{{0x40003fafa0 f f() { + compiler.go:433: 4: *goja.newMethod(&{{0x400001fea0 f f() { if (this.field != "something") { throw "wrong " + this.field + " Object.keys:" + Object.keys(this) } @@ -22241,7 +22277,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(&{{0x40003faff0 () => this.field 0 true}}) + compiler.go:433: > 21: *goja.newArrowFunc(&{{0x400001fef0 () => 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) @@ -22268,7 +22304,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestWrongThisExtraArg (0.00s) === RUN TestWrongThisForwardRef - compiler.go:433: 0: *goja.newFunc(&{0x40003fb270 f function f(a = b + 1, b) { // forward ref argument to make sure args remain on stack + compiler.go:433: 0: *goja.newFunc(&{0x400031e230 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'"); } @@ -22929,7 +22965,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDateSetters (0.00s) === RUN TestDateParse - compiler.go:433: 0: *goja.newFunc(&{0x40003fa1e0 testParse function testParse(str, expected) { + compiler.go:433: 0: *goja.newFunc(&{0x400031e9b0 testParse function testParse(str, expected) { assert.sameValue(Date.parse(str), expected, str); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -23253,7 +23289,7 @@ compiler.go:433: 306: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestDateParse (0.00s) +--- PASS: TestDateParse (0.01s) === RUN TestDateMaxValues compiler.go:433: 0: goja.loadDynamic(assert) compiler.go:433: 1: goja.getPropCallee(sameValue) @@ -23314,7 +23350,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(&{0x40003fa640 toISOString function () { return 1; } 0 false}) + compiler.go:433: 5: *goja.newFunc(&{0x400031ee10 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({}) @@ -23327,7 +23363,7 @@ === RUN TestDateExportType --- PASS: TestDateExportType (0.00s) === RUN TestDateParseV8 - compiler.go:433: 0: *goja.newFunc(&{0x40003facd0 testDateParse function testDateParse(string) { + compiler.go:433: 0: *goja.newFunc(&{0x400031f4a0 testDateParse function testDateParse(string) { var d = Date.parse(string); assertEquals(946713600000, d, "parse: " + string); } 1 false}) @@ -23347,7 +23383,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(&{0x40003fad20 testDateParseLocalTime function testDateParseLocalTime(string) { + compiler.go:433: 1: *goja.newFunc(&{0x400031f4f0 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."); @@ -23385,7 +23421,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(&{0x40003fad70 testDateParseMisc function testDateParseMisc(array) { + compiler.go:433: 2: *goja.newFunc(&{0x400031f540 testDateParseMisc function testDateParseMisc(array) { assertEquals(2, array.length, "array [" + array + "] length != 2."); var string = array[0]; var expected = array[1]; @@ -24005,7 +24041,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(&{0x40003fafa0 function (s) { + compiler.go:433: 581: *goja.newFunc(&{0x400031f680 function (s) { assertTrue(isNaN(Date.parse(s)), s + " is not NaN."); } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -24083,7 +24119,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(&{0x40003fb090 function (s) { + compiler.go:433: 642: *goja.newFunc(&{0x400031f770 function (s) { assertTrue(isNaN(Date.parse(s)), s + " is not NaN."); } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -24107,11 +24143,11 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDateParseV8 (0.07s) === RUN TestFuncProto - compiler.go:433: 0: *goja.newFunc(&{0x40003fa230 A function A() {} 0 true}) + compiler.go:433: 0: *goja.newFunc(&{0x400031e230 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(&{0x40003fa280 B function B() {} 0 true}) + compiler.go:433: 1: *goja.newFunc(&{0x400031e280 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({}) @@ -24156,13 +24192,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(&{0x40003fa550 function() {} 0 false}) + compiler.go:433: 6: *goja.newFunc(&{0x400031e550 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(&{0x40003fa5a0 set function(_value) {} 1 false}) + compiler.go:433: 9: *goja.newFunc(&{0x400031e5a0 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({}) @@ -24387,7 +24423,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(&{0x400001e910 function() { + compiler.go:433: 55: *goja.newFunc(&{0x40003681e0 function() { "use strict"; Object.defineProperty(o, "test1", {value: 0, writable: false, enumerable: false, configurable: true}); } 0 true}) @@ -24488,7 +24524,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(&{0x400001eb90 valueOf function() { + compiler.go:433: 3: *goja.newFunc(&{0x4000368730 valueOf function() { return this.num; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -24902,7 +24938,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(&{0x400001f040 function() { + compiler.go:433: 363: *goja.newFunc(&{0x4000458370 function() { "use strict"; delete a.length; } 0 true}) @@ -24918,7 +24954,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(&{0x400001f0e0 function() { + compiler.go:433: 370: *goja.newFunc(&{0x40004583c0 function() { "use strict"; a.test = true; } 0 true}) @@ -24934,7 +24970,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(&{0x400001f1d0 function() { + compiler.go:433: 377: *goja.newFunc(&{0x4000458410 function() { "use strict"; Object.defineProperty(a, 0, {value: 0, writable: false, enumerable: false, configurable: true}); } 0 true}) @@ -24963,7 +24999,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestDynamicArray (0.01s) === RUN TestSharedDynamicObject ---- PASS: TestSharedDynamicObject (0.01s) +--- PASS: TestSharedDynamicObject (0.03s) === RUN TestSharedDynamicArray --- PASS: TestSharedDynamicArray (0.01s) === RUN TestGoReflectArray @@ -25004,7 +25040,7 @@ --- PASS: TestGoMapReflectWithMethods (0.00s) === RUN TestGoMapReflectWithProto compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fa960 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000369400 function() { 'use strict'; var proto = {}; var getterAllowed = false; @@ -25065,7 +25101,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(&{0x40003fa9b0 get function() { + compiler.go:433: > 14: *goja.newFunc(&{0x4000369450 get function() { if (!getterAllowed) throw new Error("getter is called"); return tHolder; } 0 true}) @@ -25080,7 +25116,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(&{0x40003faa00 set function(v) { + compiler.go:433: > 16: *goja.newFunc(&{0x40003694f0 set function(v) { if (!setterAllowed) throw new Error("setter is called"); tHolder = v; } 1 true}) @@ -25104,14 +25140,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(&{0x40003faa50 get function() { + compiler.go:433: > 25: *goja.newFunc(&{0x4000369540 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(&{0x40003faaa0 set function(v) { + compiler.go:433: > 27: *goja.newFunc(&{0x4000369590 set function(v) { t1Holder = v; } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -25205,7 +25241,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(&{0x40003fab40 function() { + compiler.go:433: > 114: *goja.newFunc(&{0x4000369630 function() { m.t2 = 1; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25235,7 +25271,7 @@ --- PASS: TestGoMapReflectWithProto (0.00s) === RUN TestGoMapReflectProtoProp compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fa280 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000369a40 function() { "use strict"; var proto = {}; Object.defineProperty(proto, "ro", {value: 42}); @@ -25267,7 +25303,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(&{0x40003fa2d0 function() { + compiler.go:433: > 21: *goja.newFunc(&{0x4000369a90 function() { m.ro = 43; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25345,7 +25381,7 @@ --- PASS: TestGoMapExtensibility (0.00s) === RUN TestGoMapWithProto compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fb9f0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000330fa0 function() { 'use strict'; var proto = {}; var getterAllowed = false; @@ -25406,7 +25442,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(&{0x40003fba40 get function() { + compiler.go:433: > 14: *goja.newFunc(&{0x4000330ff0 get function() { if (!getterAllowed) throw new Error("getter is called"); return tHolder; } 0 true}) @@ -25421,7 +25457,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(&{0x40003fba90 set function(v) { + compiler.go:433: > 16: *goja.newFunc(&{0x4000331040 set function(v) { if (!setterAllowed) throw new Error("setter is called"); tHolder = v; } 1 true}) @@ -25445,14 +25481,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(&{0x40003fbae0 get function() { + compiler.go:433: > 25: *goja.newFunc(&{0x4000331090 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(&{0x40003fbb30 set function(v) { + compiler.go:433: > 27: *goja.newFunc(&{0x40003310e0 set function(v) { t1Holder = v; } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -25544,7 +25580,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(&{0x40003fbbd0 function() { + compiler.go:433: > 112: *goja.newFunc(&{0x4000331180 function() { m.t2 = 1; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25574,7 +25610,7 @@ --- PASS: TestGoMapWithProto (0.00s) === RUN TestGoMapProtoProp compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40003fbef0 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000331540 function() { "use strict"; var proto = {}; Object.defineProperty(proto, "ro", {value: 42}); @@ -25606,7 +25642,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(&{0x40002f2000 function() { + compiler.go:433: > 21: *goja.newFunc(&{0x4000331590 function() { m.ro = 43; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25642,7 +25678,7 @@ --- PASS: TestGoMapProtoProp (0.00s) === RUN TestGoMapProtoPropChain compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x40002f2230 function() { + compiler.go:433: 1: *goja.newFunc(&{0x40003317c0 function() { "use strict"; var p1 = Object.create(null); m.__proto__ = p1; @@ -25779,7 +25815,7 @@ === RUN TestGoReflectMethodPtr --- PASS: TestGoReflectMethodPtr (0.00s) === RUN TestGoReflectPtrMethodOnNonPtrValue ---- PASS: TestGoReflectPtrMethodOnNonPtrValue (0.01s) +--- PASS: TestGoReflectPtrMethodOnNonPtrValue (0.00s) === RUN TestGoReflectStructField compiler.go:433: 0: goja.loadDynamic(s) compiler.go:433: 1: goja.getProp(F) @@ -25876,7 +25912,7 @@ --- PASS: TestStringer (0.00s) === RUN TestGoReflectWithProto compiler.go:433: 0: goja._loadUndef({}) - compiler.go:433: 1: *goja.newFunc(&{0x4000422f50 function() { + compiler.go:433: 1: *goja.newFunc(&{0x4000336280 function() { 'use strict'; var proto = { Field: "protoField", @@ -25916,7 +25952,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(&{0x4000422fa0 set function(v) { + compiler.go:433: > 12: *goja.newFunc(&{0x40003362d0 set function(v) { test1Holder = v; } 1 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 1}) @@ -25925,7 +25961,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(&{0x4000423040 get function() { + compiler.go:433: > 14: *goja.newFunc(&{0x4000336370 get function() { return test1Holder; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -25970,7 +26006,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(&{0x40004230e0 function() { + compiler.go:433: > 54: *goja.newFunc(&{0x40003363c0 function() { Object.defineProperty(s, "test", {value: 43}); } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -26019,7 +26055,7 @@ === RUN TestGoReflectSymbolEqualityQuirk --- PASS: TestGoReflectSymbolEqualityQuirk (0.00s) === RUN TestGoObj__Proto__ ---- PASS: TestGoObj__Proto__ (0.01s) +--- PASS: TestGoObj__Proto__ (0.00s) === RUN TestGoReflectUnicodeProps --- PASS: TestGoReflectUnicodeProps (0.00s) === RUN TestGoReflectPreserveType @@ -26202,7 +26238,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(&{0x400041c4b0 set function(v) { + compiler.go:433: 75: *goja.newFunc(&{0x4000414fa0 set function(v) { v5 = v; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -26370,7 +26406,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(&{0x400041dae0 set function(v) { + compiler.go:433: 75: *goja.newFunc(&{0x4000415770 set function(v) { v5 = v; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -26618,7 +26654,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(&{{0x400054cd70 get get() {return "c"} 0 false} 1}) + compiler.go:433: 8: *goja.newMethod(&{{0x4000458b90 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({}) @@ -26643,7 +26679,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(&{{0x400054cdc0 with w\u0069th() { return 42; } 0 false} 1}) + compiler.go:433: 30: *goja.newMethod(&{{0x4000458be0 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({}) @@ -26670,7 +26706,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(&{{0x400054d090 a get a() { + compiler.go:433: 8: *goja.newMethod(&{{0x4000458ff0 a get a() { Object.defineProperty(this, "b", { value: 3, enumerable: false @@ -26708,7 +26744,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(&{{0x400054d0e0 a get a() { + compiler.go:433: 26: *goja.newMethod(&{{0x4000459040 a get a() { delete this.b; } 0 false} 1}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -26810,7 +26846,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(&{0x400054ddb0 getOwnPropertyDescriptor function(_target, key) { + compiler.go:433: 26: *goja.newFunc(&{0x4000459d10 getOwnPropertyDescriptor function(_target, key) { getOwnKeys.push(key); } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 2}) @@ -26934,7 +26970,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(&{0x4000496180 (['\"])(.*?)\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x4000364270 (['\"])(.*?)\1}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -26963,7 +26999,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(&{0x4000497b30 [65279 40 1090 1077 1089 1090 41]}) + compiler.go:433: 2: *goja.newRegexp(&{0x4000365b60 [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) @@ -26992,7 +27028,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(&{0x40004a75c0 (['\"])(.*?)['\"]}) + compiler.go:433: 2: *goja.newRegexp(&{0x4000395440 (['\"])(.*?)['\"]}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -27021,7 +27057,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(&{0x4000210f00 [65279 40 91 39 92 34 93 41 40 1090 1077 1089 1090 41 92 49]}) + compiler.go:433: 2: *goja.newRegexp(&{0x40003b0d80 [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) @@ -27050,7 +27086,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(&{0x400029e9c0 (['\"])(.*?)\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x40003ca780 (['\"])(.*?)\1}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.resolveVar1(m) compiler.go:433: 5: goja.loadDynamic(r) @@ -27079,7 +27115,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(&{0x40002e03c0 \s+}) + compiler.go:433: 2: *goja.newRegexp(&{0x40003cbef0 \s+}) 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 @@ === 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(&{0x40002e1e60 (A)\s+\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x40003ef9e0 (A)\s+\1}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja.loadVal({[65279 8203]}) @@ -27101,7 +27137,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpRegexp2Whitespace (0.00s) === RUN TestEmptyCharClassRe2 - compiler.go:433: 0: *goja.newRegexp(&{0x400031fb30 []}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004012f0 []}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27110,7 +27146,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyCharClassRe2 (0.00s) === RUN TestNegatedEmptyCharClassRe2 - compiler.go:433: 0: *goja.newRegexp(&{0x4000382f30 [^]}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004326f0 [^]}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27119,7 +27155,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNegatedEmptyCharClassRe2 (0.00s) === RUN TestEmptyCharClassRegexp2 - compiler.go:433: 0: *goja.newRegexp(&{0x400022a750 ([])\1}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000433ad0 ([])\1}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27128,7 +27164,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestEmptyCharClassRegexp2 (0.00s) === RUN TestRegexp2Negate - compiler.go:433: 0: *goja.newRegexp(&{0x400022bb60 ([\D1])\1}) + compiler.go:433: 0: *goja.newRegexp(&{0x400045ef60 ([\D1])\1}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({aa}) compiler.go:433: 3: goja.call(1) @@ -27137,7 +27173,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexp2Negate (0.00s) === RUN TestAlternativeRe2 - compiler.go:433: 0: *goja.newRegexp(&{0x4000235020 ()|}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000480420 ()|}) compiler.go:433: 1: goja.getPropCallee(exec) compiler.go:433: 2: goja.loadVal({}) compiler.go:433: 3: goja.call(1) @@ -27151,7 +27187,7 @@ compiler.go:433: 0: goja.loadVal({QBZPbage y_cynprubyqre}) compiler.go:433: 1: goja.getPropCallee(replace) - compiler.go:433: 2: *goja.newRegexp(&{0x400023c540 ^\s*|\s*$}) + compiler.go:433: 2: *goja.newRegexp(&{0x40004818c0 ^\s*|\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 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(&{0x400023dda0 ([a-zA-Z]|\s)+}) + compiler.go:433: 2: *goja.newRegexp(&{0x40004ab1a0 ([a-zA-Z]|\s)+}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja._saveResult({}) @@ -27171,7 +27207,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(&{0x4000249680 ^.*\s+(\S+\s+\S+$)}) + compiler.go:433: 2: *goja.newRegexp(&{0x40004b8a80 ^.*\s+(\S+\s+\S+$)}) compiler.go:433: 3: goja.loadVal({}) compiler.go:433: 4: goja.call(2) compiler.go:433: 5: goja._saveResult({}) @@ -27179,7 +27215,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpNumCaptures1 (0.00s) === RUN TestRegexpSInClass - compiler.go:433: 0: *goja.newRegexp(&{0x400025ccf0 [\S]}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004c4360 [\S]}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({[65279 8232]}) compiler.go:433: 3: goja.call(1) @@ -27188,7 +27224,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpSInClass (0.00s) === RUN TestRegexpDotMatchCR - compiler.go:433: 0: *goja.newRegexp(&{0x40001e6840 .}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004c56e0 .}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({ }) compiler.go:433: 3: goja.call(1) @@ -27197,7 +27233,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpDotMatchCR (0.00s) === RUN TestRegexpDotMatchCRInGroup - compiler.go:433: 0: *goja.newRegexp(&{0x400036e0f0 (.)}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004ceae0 (.)}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({ }) compiler.go:433: 3: goja.call(1) @@ -27206,7 +27242,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpDotMatchCRInGroup (0.00s) === RUN TestRegexpDotMatchLF - compiler.go:433: 0: *goja.newRegexp(&{0x400036f470 .}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004cfe60 .}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({ }) @@ -27218,7 +27254,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(&{0x40004c69c0 ([+-])\1}) + compiler.go:433: 2: *goja.newRegexp(&{0x40004db380 ([+-])\1}) compiler.go:433: 3: goja.call(1) compiler.go:433: 4: goja.getPropCallee(join) compiler.go:433: 5: goja.loadVal({ $$ }) @@ -27228,7 +27264,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpSplitWithBackRef (0.00s) === RUN TestEscapeNonASCII - compiler.go:433: 0: *goja.newRegexp(&{0x40004ce540 [65279 92 10835]}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004e2e40 [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) @@ -27242,7 +27278,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(&{0x400055d200 \uD800}) + compiler.go:433: 5: *goja.newRegexp(&{0x40003d9230 \uD800}) compiler.go:433: 6: goja.getPropCallee(test) compiler.go:433: 7: goja.loadDynamic(str) compiler.go:433: 8: goja.call(1) @@ -27250,7 +27286,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(&{0x400055d2c0 \uD800}) + compiler.go:433: 13: *goja.newRegexp(&{0x40003d92f0 \uD800}) compiler.go:433: 14: goja.getPropCallee(test) compiler.go:433: 15: goja.loadDynamic(str) compiler.go:433: 16: goja.call(1) @@ -27258,7 +27294,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(&{0x400055d380 [65279 55296 56320]}) + compiler.go:433: 21: *goja.newRegexp(&{0x40003d93b0 [65279 55296 56320]}) compiler.go:433: 22: goja.getPropCallee(test) compiler.go:433: 23: goja.loadDynamic(str) compiler.go:433: 24: goja.call(1) @@ -27266,7 +27302,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(&{0x400055d410 \uD800}) + compiler.go:433: 29: *goja.newRegexp(&{0x40003d9440 \uD800}) compiler.go:433: 30: goja._initValueP({}) compiler.go:433: 31: goja.loadDynamicCallee(assert) compiler.go:433: 32: goja.loadDynamicCallee(compareArray) @@ -27303,7 +27339,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(&{0x400055d530 \uD800}) + compiler.go:433: 66: *goja.newRegexp(&{0x40003d9560 \uD800}) compiler.go:433: 67: goja.call(1) compiler.go:433: 68: goja.newArray(2) compiler.go:433: 69: goja.loadVal({a}) @@ -27318,7 +27354,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(&{0x400055d5f0 (?:)}) + compiler.go:433: 81: *goja.newRegexp(&{0x40003d9620 (?:)}) compiler.go:433: 82: goja.call(1) compiler.go:433: 83: goja.newArray(4) compiler.go:433: 84: goja.loadVal({a}) @@ -27337,7 +27373,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(&{0x400055d6b0 (0){0}}) + compiler.go:433: 100: *goja.newRegexp(&{0x40003d96e0 (0){0}}) compiler.go:433: 101: goja.call(1) compiler.go:433: 102: goja.newArray(3) compiler.go:433: 103: goja.loadVal({0}) @@ -27351,7 +27387,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(&{0x400055d770 (?=)a}) + compiler.go:433: 114: *goja.newRegexp(&{0x40003d97d0 (?=)a}) compiler.go:433: 115: goja._putValueP({}) compiler.go:433: 116: goja.loadDynamic(assert) compiler.go:433: 117: goja.getPropCallee(sameValue) @@ -27366,7 +27402,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(&{0x400055d980 .}) + compiler.go:433: 129: *goja.newRegexp(&{0x40003d99e0 .}) compiler.go:433: 130: goja.getPropCallee(exec) compiler.go:433: 131: goja.loadVal({[65279 55357 56834]}) compiler.go:433: 132: goja.call(1) @@ -27434,7 +27470,7 @@ === RUN TestRegexpUnicode compiler.go:433: 0: *goja.bindGlobal(&{[re] [] [] [] false}) compiler.go:433: 1: goja.loadDynamicCallee(assert) - compiler.go:433: 2: *goja.newRegexp(&{0x40003ffb60 \uD800}) + compiler.go:433: 2: *goja.newRegexp(&{0x400051fe60 \uD800}) compiler.go:433: 3: goja.getPropCallee(test) compiler.go:433: 4: goja.loadVal({[65279 55296 56320]}) compiler.go:433: 5: goja.call(1) @@ -27443,7 +27479,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(&{0x40003ffc80 \uFFFD}) + compiler.go:433: 11: *goja.newRegexp(&{0x400043e000 \uFFFD}) compiler.go:433: 12: goja.getPropCallee(test) compiler.go:433: 13: goja.loadVal({[65279 55296 56320]}) compiler.go:433: 14: goja.call(1) @@ -27452,7 +27488,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(&{0x40003ffd40 \uD800\uDC00}) + compiler.go:433: 20: *goja.newRegexp(&{0x400043e0c0 \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) @@ -27460,7 +27496,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(&{0x40003ffe00 \uD800}) + compiler.go:433: 28: *goja.newRegexp(&{0x400043e180 \uD800}) compiler.go:433: 29: goja.getPropCallee(test) compiler.go:433: 30: goja.loadVal({[65279 55296]}) compiler.go:433: 31: goja.call(1) @@ -27471,7 +27507,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(&{0x40003ffec0 \uD800}) + compiler.go:433: 39: *goja.newRegexp(&{0x400043e240 \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]}) @@ -27484,7 +27520,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(&{0x400007eab0 (?:)}) + compiler.go:433: 52: *goja.newRegexp(&{0x400043e300 (?:)}) compiler.go:433: 53: goja.call(1) compiler.go:433: 54: goja.newArray(3) compiler.go:433: 55: goja.loadVal({a}) @@ -27501,7 +27537,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(&{0x400007ecf0 (0){0}}) + compiler.go:433: 69: *goja.newRegexp(&{0x400043e3c0 (0){0}}) compiler.go:433: 70: goja.call(1) compiler.go:433: 71: goja.newArray(3) compiler.go:433: 72: goja.loadVal({0}) @@ -27517,7 +27553,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(&{0x400007efc0 \ud834\udf06}) + compiler.go:433: 85: *goja.newRegexp(&{0x400043e480 \ud834\udf06}) compiler.go:433: 86: goja.getProp(source) compiler.go:433: 87: goja._add({}) compiler.go:433: 88: goja.loadVal({/u}) @@ -27546,7 +27582,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(&{0x40002e8840 ^a}) + compiler.go:433: 4: *goja.newRegexp(&{0x4000608b70 ^a}) compiler.go:433: 5: goja.call(1) compiler.go:433: 6: goja._initValueP({}) compiler.go:433: 7: goja.loadDynamic(res) @@ -27572,7 +27608,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(&{0x4000391bd0 function(s) { + compiler.go:433: 8: *goja.newFunc(&{0x4000369cc0 function(s) { return origExec.call(this, s); } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -27585,7 +27621,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(&{0x4000102180 (?:)}) + compiler.go:433: 11: *goja.newRegexp(&{0x400035ea20 (?:)}) compiler.go:433: 12: goja._initValueP({}) compiler.go:433: 13: goja.resolveVar1(str) compiler.go:433: 14: goja.loadVal({[65279 97 55296 56320 98]}) @@ -27806,7 +27842,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexpToString (0.00s) === RUN TestRegexpEscapeSource - compiler.go:433: 0: *goja.newRegexp(&{0x40004ca8a0 href="(.+?)(\/.*\/\S+?)\/"}) + compiler.go:433: 0: *goja.newRegexp(&{0x4000361410 href="(.+?)(\/.*\/\S+?)\/"}) compiler.go:433: 1: goja.getProp(source) compiler.go:433: 2: goja._saveResult({}) compiler_test.go:190: stack size: 0 @@ -27825,7 +27861,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(&{0x400041cfa0 value function() { + compiler.go:433: 8: *goja.newFunc(&{0x400035b270 value function() { throw "passed"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -27840,7 +27876,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(&{0x4000382db0 a}) + compiler.go:433: 16: *goja.newRegexp(&{0x40004039e0 a}) compiler.go:433: 17: goja.call(1) compiler.go:433: 18: goja._pop({}) compiler.go:433: 19: goja.loadDynamic(Error) @@ -27875,7 +27911,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(&{0x40003fa1e0 get function() { + compiler.go:433: 11: *goja.newFunc(&{0x400035b540 get function() { throw "passed"; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -27924,7 +27960,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(&{0x40003565a0 \d}) + compiler.go:433: 5: *goja.newRegexp(&{0x40002a9bc0 \d}) compiler.go:433: 6: goja._initValueP({}) compiler.go:433: 7: goja.resolveVar1(obj) compiler.go:433: 8: goja._newObject({}) @@ -27935,7 +27971,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(&{0x40003fa550 value function() { + compiler.go:433: 16: *goja.newFunc(&{0x400035b860 value function() { callCount++; callArgs = arguments; return /\w/g; @@ -27950,7 +27986,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(&{0x40003567b0 \w}) + compiler.go:433: > 10: *goja.newRegexp(&{0x40002a9dd0 \w}) compiler.go:433: > 11: goja._ret({}) compiler.go:433: 17: goja.putProp(value) compiler.go:433: 18: goja.call(3) @@ -28043,7 +28079,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestRegexpMatchAllConstructor (0.00s) === RUN TestRegexp2InvalidEscape - compiler.go:433: 0: *goja.newRegexp(&{0x40003830e0 (?=)\x0}) + compiler.go:433: 0: *goja.newRegexp(&{0x40003c5080 (?=)\x0}) compiler.go:433: 1: goja.getPropCallee(test) compiler.go:433: 2: goja.loadVal({x0}) compiler.go:433: 3: goja.call(1) @@ -28052,7 +28088,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestRegexp2InvalidEscape (0.00s) === RUN TestRegexpUnicodeEmptyMatch - compiler.go:433: 0: *goja.newRegexp(&{0x40002cc600 (0)0|}) + compiler.go:433: 0: *goja.newRegexp(&{0x40004e2570 (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) @@ -28070,14 +28106,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(&{0x400041d630 function(s) { + compiler.go:433: 6: *goja.newFunc(&{0x400001e690 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(&{0x400041d680 function() {new RegExp(s)} 0 false}) + compiler.go:433: > 4: *goja.newFunc(&{0x400001e6e0 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) @@ -28098,7 +28134,7 @@ === RUN TestRegexpLookbehindAssertion compiler.go:433: 0: *goja.bindGlobal(&{[re] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(re) - compiler.go:433: 2: *goja.newRegexp(&{0x4000418c00 (?<=Jack|Tom)Sprat}) + compiler.go:433: 2: *goja.newRegexp(&{0x4000215da0 (?<=Jack|Tom)Sprat}) compiler.go:433: 3: goja._initValueP({}) compiler.go:433: 4: goja.loadDynamicCallee(assert) compiler.go:433: 5: goja.loadDynamic(re) @@ -28118,7 +28154,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(&{0x4000418de0 (? { + compiler.go:433: 19: *goja.newArrowFunc(&{{0x400001f310 () => { new RegExp("(?<=a)\\u{6_5}", "u"); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -28218,7 +28254,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(&{{0x40002f2190 () => { + compiler.go:433: 25: *goja.newArrowFunc(&{{0x400001f360 () => { new RegExp("a\\u{6_5}", "u"); } 0 false}}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -28239,7 +28275,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(&{0x40004d4e40 \u{0_2}}) + compiler.go:433: 4: *goja.newRegexp(&{0x40003b0060 \u{0_2}}) compiler.go:433: 5: goja.call(1) compiler.go:433: 6: goja.loadVal({0}) compiler.go:433: 7: goja._getElem({}) @@ -28250,7 +28286,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(&{0x40004d4f60 \u{2}}) + compiler.go:433: 15: *goja.newRegexp(&{0x40003b0180 \u{2}}) compiler.go:433: 16: goja.call(1) compiler.go:433: 17: goja.loadVal({0}) compiler.go:433: 18: goja._getElem({}) @@ -28261,7 +28297,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(&{0x40004d5080 \u{2}}) + compiler.go:433: 26: *goja.newRegexp(&{0x40003b02a0 \u{2}}) compiler.go:433: 27: goja.call(1) compiler.go:433: 28: goja.loadVal({0}) compiler.go:433: 29: goja._getElem({}) @@ -28655,7 +28691,7 @@ compiler.go:433: 147: goja._saveResult({}) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestNumberFormatRounding (0.01s) +--- PASS: TestNumberFormatRounding (0.00s) === RUN TestBinOctalNumbers compiler.go:433: 0: goja.loadVal({7}) compiler.go:433: 1: goja._saveResult({}) @@ -28681,7 +28717,7 @@ === RUN TestSetFuncVariadicFuncArg --- PASS: TestSetFuncVariadicFuncArg (0.00s) === RUN TestArgsKeys - compiler.go:433: 0: *goja.newFunc(&{0x40002f2e10 testArgs2 function testArgs2(x, y, z) { + compiler.go:433: 0: *goja.newFunc(&{0x400001e6e0 testArgs2 function testArgs2(x, y, z) { // Properties of the arguments object are enumerable. return Object.keys(arguments); } 3 false}) @@ -28989,7 +29025,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(&{0x4000429ae0 function(x, y) { return y - x } 2 false}) + compiler.go:433: 22: *goja.newFunc(&{0x4000415040 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) @@ -29054,7 +29090,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(&{0x4000429e50 function(a, b) { return a - b; } 2 false}) + compiler.go:433: 16: *goja.newFunc(&{0x4000415310 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) @@ -29098,7 +29134,7 @@ compiler.go:433: 52: goja.jump(-29) compiler_test.go:190: stack size: 0 compiler_test.go:191: stashAllocs: 0 ---- PASS: TestSortComparatorReturnValueFloats (0.02s) +--- PASS: TestSortComparatorReturnValueFloats (0.00s) === RUN TestSortComparatorReturnValueNegZero compiler.go:433: 0: *goja.bindGlobal(&{[a i] [] [] [] false}) compiler.go:433: 1: goja.resolveVar1(a) @@ -29110,7 +29146,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(&{0x40003fa280 function(a, b) { return a > b ? 0 : -0; } 2 false}) + compiler.go:433: 10: *goja.newFunc(&{0x4000415630 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) @@ -29161,7 +29197,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestSortComparatorReturnValueNegZero (0.00s) === RUN TestNilApplyArg - compiler.go:433: 0: *goja.newFunc(&{0x40003fa500 x function x(a, b) { + compiler.go:433: 0: *goja.newFunc(&{0x4000415860 x function x(a, b) { return a === undefined && b === 1; } 2 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{1 2}) @@ -29208,7 +29244,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 @@ -29221,7 +29257,7 @@ runtime_test.go:1892: abort this at :3:23(3) --- PASS: TestInterruptWithPromises (0.00s) === RUN TestRunLoopPreempt ---- PASS: TestRunLoopPreempt (0.12s) +--- PASS: TestRunLoopPreempt (0.10s) === RUN TestNaN --- PASS: TestNaN (0.00s) === RUN TestInf @@ -29229,7 +29265,7 @@ === RUN TestRuntimeNew --- PASS: TestRuntimeNew (0.00s) === RUN TestAutoBoxing - compiler.go:433: 0: *goja.newFunc(&{0x40002f2280 f function f() { + compiler.go:433: 0: *goja.newFunc(&{0x4000368280 f function f() { 'use strict'; var a = 1; var thrown1 = false; @@ -29386,7 +29422,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(&{0x40002f2d20 toString function() { + compiler.go:433: 11: *goja.newFunc(&{0x4000369540 toString function() { callCount += 1; return sym; } 0 false}) @@ -29399,7 +29435,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(&{0x40002f2d70 valueOf function() { + compiler.go:433: 13: *goja.newFunc(&{0x4000369590 valueOf function() { $ERROR("valueOf() called"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -29416,7 +29452,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(&{0x40002f2dc0 function() { return "test" } 0 false}) + compiler.go:433: 21: *goja.newFunc(&{0x40003695e0 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({}) @@ -29458,7 +29494,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(&{0x40002f2e10 function(hint) { + compiler.go:433: 60: *goja.newFunc(&{0x4000369630 function(hint) { if (hint === "string" || hint === "default") { return "1"; } @@ -29524,7 +29560,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestToPropertyKey (0.00s) === RUN TestPrimThisValue - compiler.go:433: 0: *goja.newFunc(&{0x40002f3180 t function t() { + compiler.go:433: 0: *goja.newFunc(&{0x4000369a90 t function t() { 'use strict'; Boolean.prototype.toString = function() { @@ -29543,7 +29579,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(&{0x40002f31d0 function() { + compiler.go:433: > 3: *goja.newFunc(&{0x4000369ae0 function() { return typeof this; } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -29563,7 +29599,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(&{0x40002f3220 function() { + compiler.go:433: > 17: *goja.newFunc(&{0x4000369b30 function() { return [typeof this][Symbol.iterator](); } 0 true}) compiler.go:433: >> 0: *goja.enterFuncStashless(&{0 0}) @@ -29609,7 +29645,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestPrimThisValue (0.00s) === RUN TestPrimThisValueGetter - compiler.go:433: 0: *goja.newFunc(&{0x40002f3590 t function t() { + compiler.go:433: 0: *goja.newFunc(&{0x4000414230 t function t() { 'use strict'; Object.defineProperty(Boolean.prototype, "toString", { get: function() { @@ -29629,7 +29665,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(&{0x40002f3680 get function() { + compiler.go:433: > 7: *goja.newFunc(&{0x4000414280 get function() { var v = typeof this; return function() { return v; @@ -29639,7 +29675,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(&{0x40002f36d0 function() { + compiler.go:433: >> 4: *goja.newFunc(&{0x40004142d0 function() { return v; } 0 true}) compiler.go:433: >>> 0: *goja.enterFuncStashless(&{0 0}) @@ -29776,7 +29812,7 @@ === RUN TestDateConversion --- PASS: TestDateConversion (0.00s) === RUN TestNativeCtorNewTarget - compiler.go:433: 0: *goja.newFunc(&{0x40003fac80 NewTarget function NewTarget() { + compiler.go:433: 0: *goja.newFunc(&{0x4000415900 NewTarget function NewTarget() { } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) @@ -29994,7 +30030,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(&{0x40003fbcc0 next function() { + compiler.go:433: 9: *goja.newFunc(&{0x400001eff0 next function() { return { value: true }; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -30003,7 +30039,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(&{0x40003fbd60 return function() { + compiler.go:433: 11: *goja.newFunc(&{0x400001f0e0 return function() { returnCount += 1; throw new Error(); } 0 false}) @@ -30023,7 +30059,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(&{0x40003fbdb0 function() { + compiler.go:433: 17: *goja.newFunc(&{0x400001f1d0 function() { return iterator; } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -30112,7 +30148,7 @@ === RUN TestStacktraceLocationThrowFromCatch --- PASS: TestStacktraceLocationThrowFromCatch (0.00s) === RUN TestErrorStackRethrow - compiler.go:433: 0: *goja.newFunc(&{0x4000428eb0 f function f(e) { + compiler.go:433: 0: *goja.newFunc(&{0x400035a0f0 f function f(e) { throw e; } 1 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 1}) @@ -30218,54 +30254,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(&{{0x4000390960 id get id() {} 0 false} 1}) + compiler.go:433: 13: *goja.newMethod(&{{0x400035b4f0 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(&{{0x40003909b0 get [anonSym]() {} 0 false} 2}) + compiler.go:433: 17: *goja.newMethod(&{{0x400035b540 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(&{{0x4000390a00 get [namedSym]() {} 0 false} 2}) + compiler.go:433: 21: *goja.newMethod(&{{0x400035b590 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(&{{0x4000390a50 get [emptyStrSym]() {} 0 false} 2}) + compiler.go:433: 25: *goja.newMethod(&{{0x400035b5e0 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(&{{0x4000390aa0 id set id(v) {} 1 false} 1}) + compiler.go:433: 27: *goja.newMethod(&{{0x400035b630 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(&{{0x4000390af0 set [anonSym](v) {} 1 false} 2}) + compiler.go:433: 31: *goja.newMethod(&{{0x400035b680 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(&{{0x4000390b40 set [namedSym](v) {} 1 false} 2}) + compiler.go:433: 35: *goja.newMethod(&{{0x400035b6d0 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(&{{0x4000390b90 set [emptyStrSym](v) {} 1 false} 2}) + compiler.go:433: 39: *goja.newMethod(&{{0x400035b720 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({}) @@ -30381,17 +30417,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(&{0x400041c460 function() {} 0 false}) + compiler.go:433: 12: *goja.newFunc(&{0x400035bbd0 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(&{0x400041c4b0 id function() {} 0 false}) + compiler.go:433: 14: *goja.newFunc(&{0x400035bc20 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(&{0x400041c500 x function x() {} 0 false}) + compiler.go:433: 16: *goja.newFunc(&{0x400035bc70 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) @@ -30402,14 +30438,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(&{0x400041c550 function() {} 0 false}) + compiler.go:433: 20: *goja.newFunc(&{0x400035bcc0 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(&{0x400041c5a0 function() {} 0 false}) + compiler.go:433: 24: *goja.newFunc(&{0x400035bd10 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30467,7 +30503,7 @@ 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(&{0x400041c780 function() {} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x400035bef0 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30492,7 +30528,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(&{0x400041c050 function() {} 0 false}) + compiler.go:433: 3: *goja.newFunc(&{0x4000458500 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30500,7 +30536,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(&{0x400041c0a0 function() {} 0 false}) + compiler.go:433: 8: *goja.newFunc(&{0x4000458550 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30508,7 +30544,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(&{0x400041c0f0 function() {} 0 false}) + compiler.go:433: 13: *goja.newFunc(&{0x40004585a0 function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -30529,7 +30565,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(&{0x400041c140 function(a, b) { + compiler.go:433: 31: *goja.newFunc(&{0x40004585f0 function(a, b) { assert.sameValue(typeof a, 'function', 'type of first argument'); assert.sameValue( a.length, @@ -30903,7 +30939,7 @@ --- PASS: TestToNumber (0.00s) === RUN TestToValueNilBigInt compiler.go:433: 0: goja.loadDynamic(n) - compiler.go:433: 1: goja.loadVal({0x400031a020}) + compiler.go:433: 1: goja.loadVal({0x40003d1c20}) compiler.go:433: 2: goja._op_strict_eq({}) compiler.go:433: 3: goja._saveResult({}) compiler_test.go:190: stack size: 0 @@ -30912,7 +30948,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(&{0x40002f2370 C class C { + compiler.go:433: 2: *goja.newClass(&{0x4000331090 C class C { constructor() { this.test = true; } @@ -30961,7 +30997,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestStringOOBProperties (0.00s) === RUN TestImportedString ---- PASS: TestImportedString (0.03s) +--- PASS: TestImportedString (0.04s) === RUN TestStringFromUTF16 --- PASS: TestStringFromUTF16 (0.00s) === RUN TestStringBuilder @@ -31248,7 +31284,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(&{0x4000390c30 valueOf function() { + compiler.go:433: 14: *goja.newFunc(&{0x400015c820 valueOf function() { throw new Error("valueOf() was called"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31408,7 +31444,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(&{0x4000390c80 get function() {} 0 false}) + compiler.go:433: 165: *goja.newFunc(&{0x400015c870 get function() {} 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) compiler.go:433: > 1: goja._loadUndef({}) compiler.go:433: > 2: goja._ret({}) @@ -31449,7 +31485,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(&{0x4000391130 function() { + compiler.go:433: 9: *goja.newFunc(&{0x400015cd20 function() { Object.defineProperty(a, "1", {value: 1}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31483,7 +31519,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(&{0x4000391180 function() { + compiler.go:433: 29: *goja.newFunc(&{0x400015cd70 function() { Object.defineProperty(a, "Infinity", {value: 8}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31534,7 +31570,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(&{0x40003911d0 function() { + compiler.go:433: 66: *goja.newFunc(&{0x400015cdc0 function() { Object.defineProperty(a, "0", {value: 1, writable: false}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31557,7 +31593,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(&{0x4000391220 function() { + compiler.go:433: 73: *goja.newFunc(&{0x400015ce10 function() { Object.defineProperty(a, "0", {get() { return 1; }}); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31566,7 +31602,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(&{{0x4000391270 get get() { return 1; } 0 false} 1}) + compiler.go:433: > 6: *goja.newMethod(&{{0x400015ce60 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({}) @@ -31670,7 +31706,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(&{0x40003914a0 get function() { + compiler.go:433: 16: *goja.newFunc(&{0x400015d090 get function() { throw new Error("OrdinaryGet was called!"); } 0 false}) compiler.go:433: > 0: *goja.enterFuncStashless(&{0 0}) @@ -31737,7 +31773,7 @@ === RUN TestVM1 --- PASS: TestVM1 (0.00s) === RUN TestEvalVar - compiler.go:433: 0: *goja.newFunc(&{0x400041c7d0 test function test() { + compiler.go:433: 0: *goja.newFunc(&{0x400030e3c0 test function test() { var a; return eval("var a = 'yes'; var z = 'no'; a;") === "yes" && a === "yes"; } 0 false}) @@ -31764,7 +31800,7 @@ compiler_test.go:191: stashAllocs: 1 --- PASS: TestEvalVar (0.00s) === RUN TestResolveMixedStack1 - compiler.go:433: 0: *goja.newFunc(&{0x400041cbe0 test function test(arg) { + compiler.go:433: 0: *goja.newFunc(&{0x400030e780 test function test(arg) { var a = 1; var scope = {}; (function() {return arg})(); // move arguments to stash @@ -31779,7 +31815,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(&{0x400041cc30 function() {return arg} 0 false}) + compiler.go:433: > 6: *goja.newFunc(&{0x400030e7d0 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({}) @@ -31839,7 +31875,7 @@ compiler_test.go:191: stashAllocs: 0 --- PASS: TestNewArrayFromIterClosed (0.00s) === RUN ExampleObject_Export_map ---- PASS: ExampleObject_Export_map (0.01s) +--- PASS: ExampleObject_Export_map (0.00s) === RUN ExampleRuntime_ExportTo_mapToMap --- PASS: ExampleRuntime_ExportTo_mapToMap (0.00s) === RUN ExampleRuntime_ExportTo_mapToSlice @@ -31885,7 +31921,7 @@ === RUN ExampleRuntime_ForOf --- PASS: ExampleRuntime_ForOf (0.00s) PASS -ok github.com/dop251/goja 1.395s +ok github.com/dop251/goja 1.442s ? github.com/dop251/goja/ast [no test files] === RUN TestPosition --- PASS: TestPosition (0.00s) @@ -31894,7 +31930,7 @@ === RUN TestGetSourceFilename --- PASS: TestGetSourceFilename (0.00s) PASS -ok github.com/dop251/goja/file 0.015s +ok github.com/dop251/goja/file 0.010s === RUN TestFToBaseStr --- PASS: TestFToBaseStr (0.00s) === RUN TestDtostr @@ -31934,41 +31970,41 @@ === PAUSE TestDtostr/#16 === CONT TestDtostr/#00 === CONT TestDtostr/#16 +=== CONT TestDtostr/#08 === CONT TestDtostr/#15 === CONT TestDtostr/#14 === CONT TestDtostr/#13 === CONT TestDtostr/#12 +=== CONT TestDtostr/#04 === CONT TestDtostr/#11 === CONT TestDtostr/#10 === CONT TestDtostr/#09 -=== CONT TestDtostr/#08 === CONT TestDtostr/#07 === CONT TestDtostr/#06 === CONT TestDtostr/#05 -=== CONT TestDtostr/#04 +=== CONT TestDtostr/#01 === CONT TestDtostr/#03 === CONT TestDtostr/#02 -=== CONT TestDtostr/#01 --- PASS: TestDtostr (0.00s) --- PASS: TestDtostr/#00 (0.00s) - --- PASS: TestDtostr/#16 (0.00s) + --- PASS: TestDtostr/#08 (0.00s) --- PASS: TestDtostr/#15 (0.00s) --- PASS: TestDtostr/#14 (0.00s) --- PASS: TestDtostr/#13 (0.00s) --- PASS: TestDtostr/#12 (0.00s) --- PASS: TestDtostr/#11 (0.00s) --- PASS: TestDtostr/#10 (0.00s) + --- PASS: TestDtostr/#04 (0.00s) --- PASS: TestDtostr/#09 (0.00s) - --- PASS: TestDtostr/#08 (0.00s) --- PASS: TestDtostr/#07 (0.00s) --- PASS: TestDtostr/#06 (0.00s) --- PASS: TestDtostr/#05 (0.00s) - --- PASS: TestDtostr/#04 (0.00s) + --- PASS: TestDtostr/#01 (0.00s) + --- PASS: TestDtostr/#16 (0.00s) --- PASS: TestDtostr/#03 (0.00s) --- PASS: TestDtostr/#02 (0.00s) - --- PASS: TestDtostr/#01 (0.00s) PASS -ok github.com/dop251/goja/ftoa 0.016s +ok github.com/dop251/goja/ftoa 0.011s ? github.com/dop251/goja/ftoa/internal/fast [no test files] === RUN TestLexer --- PASS: TestLexer (0.00s) @@ -32005,12 +32041,12 @@ === RUN TestTransformRegExp --- PASS: TestTransformRegExp (0.00s) PASS -ok github.com/dop251/goja/parser 0.016s +ok github.com/dop251/goja/parser 0.017s ? github.com/dop251/goja/token [no test files] === RUN TestString_AsUtf16 --- PASS: TestString_AsUtf16 (0.00s) PASS -ok github.com/dop251/goja/unistring 0.017s +ok github.com/dop251/goja/unistring 0.009s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -32039,12 +32075,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/3411633/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3411633/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/2736024 and its subdirectories -I: Current time: Tue Aug 19 02:48:14 -12 2025 -I: pbuilder-time-stamp: 1755614894 +I: removing directory /srv/workspace/pbuilder/3411633 and its subdirectories +I: Current time: Tue Sep 22 11:12:20 +14 2026 +I: pbuilder-time-stamp: 1790025140