[pkg-go] Bug#1103132: golang-github-dop251-goja: FTBFS in testing/i386: compiler.go:153: 30: goja.getVar1(TypeError)

Lucas Nussbaum lucas at debian.org
Mon Apr 14 12:29:30 BST 2025


Source: golang-github-dop251-goja
Version: 0.0~git20170430.0.d382686-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20250414 ftbfs-trixie

Hi,

During a rebuild of all packages in testing (trixie), your package failed
to build on i386.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --buildsystem=golang --with=golang
>    dh_update_autotools_config -O--buildsystem=golang
>    dh_autoreconf -O--buildsystem=golang
>    dh_auto_configure -O--buildsystem=golang
>    dh_auto_build -O--buildsystem=golang
> 	cd obj-i686-linux-gnu && go install -trimpath -v -p 8 github.com/dop251/goja github.com/dop251/goja/ast github.com/dop251/goja/file github.com/dop251/goja/parser github.com/dop251/goja/token
> internal/coverage/rtcov
> internal/byteorder
> internal/unsafeheader
> internal/goarch
> internal/goexperiment
> internal/goos
> internal/cpu
> internal/godebugs
> internal/profilerecord
> internal/abi
> internal/asan
> internal/msan
> internal/runtime/atomic
> internal/runtime/math
> internal/chacha8rand
> internal/runtime/sys
> internal/runtime/syscall
> sync/atomic
> math/bits
> internal/runtime/exithook
> internal/bytealg
> unicode
> unicode/utf8
> cmp
> encoding
> internal/itoa
> math
> unicode/utf16
> log/internal
> internal/stringslite
> internal/race
> internal/sync
> internal/runtime/maps
> runtime
> iter
> internal/reflectlite
> sync
> slices
> errors
> sort
> internal/testlog
> internal/bisect
> internal/oserror
> io
> path
> strconv
> syscall
> internal/godebug
> strings
> bytes
> golang.org/x/text/internal/tag
> reflect
> github.com/dop251/goja/token
> math/rand
> regexp/syntax
> golang.org/x/text/transform
> internal/syscall/execenv
> internal/syscall/unix
> time
> regexp
> io/fs
> internal/poll
> internal/filepathlite
> os
> internal/fmtsort
> encoding/binary
> encoding/base64
> io/ioutil
> path/filepath
> fmt
> github.com/dop251/goja/file
> go/token
> log
> encoding/json
> golang.org/x/text/internal/language
> github.com/dlclark/regexp2/syntax
> math/big
> golang.org/x/text/unicode/norm
> github.com/dop251/goja/ast
> go/scanner
> github.com/dop251/goja/parser
> go/ast
> golang.org/x/text/internal/language/compact
> golang.org/x/text/language
> github.com/dlclark/regexp2
> golang.org/x/text/internal/colltab
> golang.org/x/text/internal
> golang.org/x/text/cases
> golang.org/x/text/collate
> github.com/dop251/goja
>    dh_auto_test -O--buildsystem=golang
> 	cd obj-i686-linux-gnu && go test -vet=off -v -p 8 github.com/dop251/goja github.com/dop251/goja/ast github.com/dop251/goja/file github.com/dop251/goja/parser github.com/dop251/goja/token
> === RUN   TestSparseArraySetLengthWithPropItems
>     compiler.go:151: values: [1 2 3 4 100000 5 false 2 42 length 0]
>     compiler.go:153:  0: goja.bindName(a)
>     compiler.go:153:  1: goja.bindName(thrown)
>     compiler.go:153:  2: goja.resolveVar1(a)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja.loadVal(1)
>     compiler.go:153:  5: goja.loadVal(2)
>     compiler.go:153:  6: goja.loadVal(3)
>     compiler.go:153:  7: goja.newArray(4)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(a)
>     compiler.go:153:  11: goja.loadVal(4)
>     compiler.go:153:  12: goja.loadVal(5)
>     compiler.go:153:  13: goja._setElem({})
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja.resolveVar1(thrown)
>     compiler.go:153:  16: goja.loadVal(6)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.getVar1(Object)
>     compiler.go:153:  20: goja._dup({})
>     compiler.go:153:  21: goja.getPropCallee(defineProperty)
>     compiler.go:153:  22: goja.getVar1(a)
>     compiler.go:153:  23: goja.loadVal(7)
>     compiler.go:153:  24: goja._newObject({})
>     compiler.go:153:  25: goja.loadVal(8)
>     compiler.go:153:  26: goja.setProp1(value)
>     compiler.go:153:  27: goja.loadVal(6)
>     compiler.go:153:  28: goja.setProp1(configurable)
>     compiler.go:153:  29: goja.loadVal(6)
>     compiler.go:153:  30: goja.setProp1(writable)
>     compiler.go:153:  31: goja.call(3)
>     compiler.go:153:  32: goja._pop({})
>     compiler.go:153:  33: goja.try({16 0 true})
>     compiler.go:153:  34: goja.getVar1(Object)
>     compiler.go:153:  35: goja._dup({})
>     compiler.go:153:  36: goja.getPropCallee(defineProperty)
>     compiler.go:153:  37: goja.getVar1(a)
>     compiler.go:153:  38: goja.loadVal(9)
>     compiler.go:153:  39: goja._newObject({})
>     compiler.go:153:  40: goja.loadVal(10)
>     compiler.go:153:  41: goja.setProp1(value)
>     compiler.go:153:  42: goja.loadVal(6)
>     compiler.go:153:  43: goja.setProp1(writable)
>     compiler.go:153:  44: goja.call(3)
>     compiler.go:153:  45: goja._pop({})
>     compiler.go:153:  46: goja._halt({})
>     compiler.go:153:  47: goja.jump(10)
>     compiler.go:153:  48: <nil>(<nil>)
>     compiler.go:153:  49: goja.enterCatch(e)
>     compiler.go:153:  50: goja.resolveVar1(thrown)
>     compiler.go:153:  51: goja.getLocal(0)
>     compiler.go:153:  52: goja.getVar1(TypeError)
>     compiler.go:153:  53: goja._op_instanceof({})
>     compiler.go:153:  54: goja._putValue({})
>     compiler.go:153:  55: goja._pop({})
>     compiler.go:153:  56: goja._halt({})
>     compiler.go:153:  57: goja.getVar1(thrown)
>     compiler.go:153:  58: goja.jneq1(6)
>     compiler.go:153:  59: goja._pop({})
>     compiler.go:153:  60: goja.getVar1(a)
>     compiler.go:153:  61: goja.getProp(length)
>     compiler.go:153:  62: goja.loadVal(2)
>     compiler.go:153:  63: goja._op_strict_eq({})
>     compiler.go:153:  64: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestSparseArraySetLengthWithPropItems (0.00s)
> === RUN   TestSparseArraySwitch
>     compiler.go:151: values: [20470 5 1 0 20471 Invalid length:  Invalid value at  : ]
>     compiler.go:153:  0: goja.bindName(a)
>     compiler.go:153:  1: goja.bindName(i)
>     compiler.go:153:  2: goja.resolveVar1(a)
>     compiler.go:153:  3: goja.newArray(0)
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.getVar1(a)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja._setElem({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.resolveVar1(i)
>     compiler.go:153:  12: goja.getVar1(a)
>     compiler.go:153:  13: goja.getProp(length)
>     compiler.go:153:  14: goja.loadVal(2)
>     compiler.go:153:  15: goja._sub({})
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.getVar1(i)
>     compiler.go:153:  19: goja.loadVal(3)
>     compiler.go:153:  20: goja._op_gte({})
>     compiler.go:153:  21: goja.jne(12)
>     compiler.go:153:  22: goja.getVar1(a)
>     compiler.go:153:  23: goja.getVar1(i)
>     compiler.go:153:  24: goja.getVar1(i)
>     compiler.go:153:  25: goja._setElem({})
>     compiler.go:153:  26: goja._pop({})
>     compiler.go:153:  27: goja.resolveVar1(i)
>     compiler.go:153:  28: goja._getValue({})
>     compiler.go:153:  29: goja._dec({})
>     compiler.go:153:  30: goja._putValue({})
>     compiler.go:153:  31: goja._pop({})
>     compiler.go:153:  32: goja.jump(-14)
>     compiler.go:153:  33: goja.getVar1(a)
>     compiler.go:153:  34: goja.getProp(length)
>     compiler.go:153:  35: goja.loadVal(4)
>     compiler.go:153:  36: goja._op_neq({})
>     compiler.go:153:  37: goja.jne(8)
>     compiler.go:153:  38: goja.getVar1(Error)
>     compiler.go:153:  39: goja.loadVal(5)
>     compiler.go:153:  40: goja.getVar1(a)
>     compiler.go:153:  41: goja.getProp(length)
>     compiler.go:153:  42: goja._add({})
>     compiler.go:153:  43: goja._new(1)
>     compiler.go:153:  44: goja._throw({})
>     compiler.go:153:  45: goja.resolveVar1(i)
>     compiler.go:153:  46: goja.loadVal(3)
>     compiler.go:153:  47: goja._putValue({})
>     compiler.go:153:  48: goja._pop({})
>     compiler.go:153:  49: goja._loadUndef({})
>     compiler.go:153:  50: goja.getVar1(i)
>     compiler.go:153:  51: goja.getVar1(a)
>     compiler.go:153:  52: goja.getProp(length)
>     compiler.go:153:  53: goja._op_lt({})
>     compiler.go:153:  54: goja.jne(28)
>     compiler.go:153:  55: goja.getVar1(a)
>     compiler.go:153:  56: goja.getVar1(i)
>     compiler.go:153:  57: goja._getElem({})
>     compiler.go:153:  58: goja.getVar1(i)
>     compiler.go:153:  59: goja._op_strict_neq({})
>     compiler.go:153:  60: goja.jne(13)
>     compiler.go:153:  61: goja.getVar1(Error)
>     compiler.go:153:  62: goja.loadVal(6)
>     compiler.go:153:  63: goja.getVar1(i)
>     compiler.go:153:  64: goja._add({})
>     compiler.go:153:  65: goja.loadVal(7)
>     compiler.go:153:  66: goja._add({})
>     compiler.go:153:  67: goja.getVar1(a)
>     compiler.go:153:  68: goja.getVar1(i)
>     compiler.go:153:  69: goja._getElem({})
>     compiler.go:153:  70: goja._add({})
>     compiler.go:153:  71: goja._new(1)
>     compiler.go:153:  72: goja._throw({})
>     compiler.go:153:  73: goja._loadUndef({})
>     compiler.go:153:  74: goja.rdupN(1)
>     compiler.go:153:  75: goja._pop({})
>     compiler.go:153:  76: goja.resolveVar1(i)
>     compiler.go:153:  77: goja._getValue({})
>     compiler.go:153:  78: goja._inc({})
>     compiler.go:153:  79: goja._putValue({})
>     compiler.go:153:  80: goja._pop({})
>     compiler.go:153:  81: goja.jump(-31)
>     compiler.go:153:  82: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSparseArraySwitch (0.04s)
> === RUN   TestEncodeURI
>     compiler.go:151: values: [тест]
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja.getVar1Callee(encodeURI)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja.call(1)
>     compiler.go:153:  4: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestEncodeURI (0.00s)
> === RUN   TestDecodeURI
>     compiler.go:151: values: [http://ru.wikipedia.org/wiki/%d0%ae%D0%bd%D0%B8%D0%BA%D0%BE%D0%B4]
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja.getVar1Callee(decodeURI)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja.call(1)
>     compiler.go:153:  4: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestDecodeURI (0.00s)
> === RUN   TestJSONMarshalObject
> --- PASS: TestJSONMarshalObject (0.00s)
> === RUN   TestJSONMarshalObjectCircular
> --- PASS: TestJSONMarshalObjectCircular (0.00s)
> === RUN   TestSubstr
>     compiler.go:151: values: [abc 0 false  start: 0, length: false 1 start: 1, length: false 2 start: 2, length: false 3 start: 3, length: false start: 0, length: NaN start: 1, length: NaN start: 2, length: NaN start: 3, length: NaN start: 0, length: "" start: 1, length: "" start: 2, length: "" start: 3, length: "" null start: 0, length: null start: 1, length: null start: 2, length: null start: 3, length: null 0, -1 0, -2 0, -3 4 0, -4 1, -1 1, -2 1, -3 1, -4 2, -1 2, -2 2, -3 2, -4 3, -1 3, -2 3, -3 3, -4 a 0, 1 ab b 1, 1 bc c 2, 1 3, 1 start: 0, length: unspecified start: 1, length: unspecified start: 2, length: unspecified start: 3, length: unspecified start: 0, length: undefined start: 1, length: undefined start: 2, length: undefined start: 3, length: undefined]
>     compiler.go:153:  0: goja.bindName($ERROR)
>     compiler.go:153:  1: goja.bindName(assert)
>     compiler.go:153:  2: goja.resolveVar1($ERROR)
>     compiler.go:153:  3: *goja.newFunc(&{0xa181140 $ERROR 1 false 1 56})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.getVar1(Error)
>     compiler.go:153: > 2: goja.loadStack(-1)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(assert)
>     compiler.go:153:  7: *goja.newFunc(&{0xa181170 assert 2 false 58 277})
>     compiler.go:151: values: [true Expected true but got ]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(3)
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153: > 7: goja.loadStack(-2)
>     compiler.go:153: > 8: goja.getVar1(undefined)
>     compiler.go:153: > 9: goja._op_strict_eq({})
>     compiler.go:153: > 10: goja.jne(9)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja._loadUndef({})
>     compiler.go:153: > 13: goja.getVar1Callee(String)
>     compiler.go:153: > 14: goja.loadStack(-1)
>     compiler.go:153: > 15: goja.call(1)
>     compiler.go:153: > 16: goja._add({})
>     compiler.go:153: > 17: goja.storeStack(-2)
>     compiler.go:153: > 18: goja._pop({})
>     compiler.go:153: > 19: goja._loadUndef({})
>     compiler.go:153: > 20: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 21: goja.loadStack(-2)
>     compiler.go:153: > 22: goja.call(1)
>     compiler.go:153: > 23: goja._pop({})
>     compiler.go:153: > 24: goja._loadUndef({})
>     compiler.go:153: > 25: goja._retStashless({})
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(assert)
>     compiler.go:153:  11: *goja.newFunc(&{0xa1811a0  2 false 301 478})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadStack(-2)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(14)
>     compiler.go:153: > 5: goja.loadStack(-1)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_neq({})
>     compiler.go:153: > 8: goja.jeq1(9)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadVal(1)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja._div({})
>     compiler.go:153: > 13: goja.loadVal(1)
>     compiler.go:153: > 14: goja.loadStack(-2)
>     compiler.go:153: > 15: goja._div({})
>     compiler.go:153: > 16: goja._op_strict_eq({})
>     compiler.go:153: > 17: goja._retStashless({})
>     compiler.go:153: > 18: goja.loadStack(-1)
>     compiler.go:153: > 19: goja.loadStack(-1)
>     compiler.go:153: > 20: goja._op_strict_neq({})
>     compiler.go:153: > 21: goja.jneq1(5)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-2)
>     compiler.go:153: > 24: goja.loadStack(-2)
>     compiler.go:153: > 25: goja._op_strict_neq({})
>     compiler.go:153: > 26: goja._retStashless({})
>     compiler.go:153:  12: goja.setProp(_isSameValue)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.getVar1(assert)
>     compiler.go:153:  15: *goja.newFunc(&{0xa1811d0  3 false 500 839})
>     compiler.go:151: values: [   Expected SameValue(« », « ») to be true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja.getVar1(assert)
>     compiler.go:153: > 2: goja._dup({})
>     compiler.go:153: > 3: goja.getPropCallee(_isSameValue)
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja.loadStack(-2)
>     compiler.go:153: > 6: goja.call(2)
>     compiler.go:153: > 7: goja.jne(3)
>     compiler.go:153: > 8: goja._loadUndef({})
>     compiler.go:153: > 9: goja._retStashless({})
>     compiler.go:153: > 10: goja.loadStack(-3)
>     compiler.go:153: > 11: goja.getVar1(undefined)
>     compiler.go:153: > 12: goja._op_strict_eq({})
>     compiler.go:153: > 13: goja.jne(5)
>     compiler.go:153: > 14: goja.loadVal(0)
>     compiler.go:153: > 15: goja.storeStack(-3)
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.jump(6)
>     compiler.go:153: > 18: goja.loadStack(-3)
>     compiler.go:153: > 19: goja.loadVal(1)
>     compiler.go:153: > 20: goja._add({})
>     compiler.go:153: > 21: goja.storeStack(-3)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-3)
>     compiler.go:153: > 24: goja.loadVal(2)
>     compiler.go:153: > 25: goja._loadUndef({})
>     compiler.go:153: > 26: goja.getVar1Callee(String)
>     compiler.go:153: > 27: goja.loadStack(-1)
>     compiler.go:153: > 28: goja.call(1)
>     compiler.go:153: > 29: goja._add({})
>     compiler.go:153: > 30: goja.loadVal(3)
>     compiler.go:153: > 31: goja._add({})
>     compiler.go:153: > 32: goja._loadUndef({})
>     compiler.go:153: > 33: goja.getVar1Callee(String)
>     compiler.go:153: > 34: goja.loadStack(-2)
>     compiler.go:153: > 35: goja.call(1)
>     compiler.go:153: > 36: goja._add({})
>     compiler.go:153: > 37: goja.loadVal(4)
>     compiler.go:153: > 38: goja._add({})
>     compiler.go:153: > 39: goja._add({})
>     compiler.go:153: > 40: goja.storeStack(-3)
>     compiler.go:153: > 41: goja._pop({})
>     compiler.go:153: > 42: goja._loadUndef({})
>     compiler.go:153: > 43: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 44: goja.loadStack(-3)
>     compiler.go:153: > 45: goja.call(1)
>     compiler.go:153: > 46: goja._pop({})
>     compiler.go:153: > 47: goja._loadUndef({})
>     compiler.go:153: > 48: goja._retStashless({})
>     compiler.go:153:  16: goja.setProp(sameValue)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.getVar1(assert)
>     compiler.go:153:  19: goja._dup({})
>     compiler.go:153:  20: goja.getPropCallee(sameValue)
>     compiler.go:153:  21: goja.loadVal(0)
>     compiler.go:153:  22: goja._dup({})
>     compiler.go:153:  23: goja.getPropCallee(substr)
>     compiler.go:153:  24: goja.loadVal(1)
>     compiler.go:153:  25: goja.loadVal(2)
>     compiler.go:153:  26: goja.call(2)
>     compiler.go:153:  27: goja.loadVal(3)
>     compiler.go:153:  28: goja.loadVal(4)
>     compiler.go:153:  29: goja.call(3)
>     compiler.go:153:  30: goja._pop({})
>     compiler.go:153:  31: goja.getVar1(assert)
>     compiler.go:153:  32: goja._dup({})
>     compiler.go:153:  33: goja.getPropCallee(sameValue)
>     compiler.go:153:  34: goja.loadVal(0)
>     compiler.go:153:  35: goja._dup({})
>     compiler.go:153:  36: goja.getPropCallee(substr)
>     compiler.go:153:  37: goja.loadVal(5)
>     compiler.go:153:  38: goja.loadVal(2)
>     compiler.go:153:  39: goja.call(2)
>     compiler.go:153:  40: goja.loadVal(3)
>     compiler.go:153:  41: goja.loadVal(6)
>     compiler.go:153:  42: goja.call(3)
>     compiler.go:153:  43: goja._pop({})
>     compiler.go:153:  44: goja.getVar1(assert)
>     compiler.go:153:  45: goja._dup({})
>     compiler.go:153:  46: goja.getPropCallee(sameValue)
>     compiler.go:153:  47: goja.loadVal(0)
>     compiler.go:153:  48: goja._dup({})
>     compiler.go:153:  49: goja.getPropCallee(substr)
>     compiler.go:153:  50: goja.loadVal(7)
>     compiler.go:153:  51: goja.loadVal(2)
>     compiler.go:153:  52: goja.call(2)
>     compiler.go:153:  53: goja.loadVal(3)
>     compiler.go:153:  54: goja.loadVal(8)
>     compiler.go:153:  55: goja.call(3)
>     compiler.go:153:  56: goja._pop({})
>     compiler.go:153:  57: goja.getVar1(assert)
>     compiler.go:153:  58: goja._dup({})
>     compiler.go:153:  59: goja.getPropCallee(sameValue)
>     compiler.go:153:  60: goja.loadVal(0)
>     compiler.go:153:  61: goja._dup({})
>     compiler.go:153:  62: goja.getPropCallee(substr)
>     compiler.go:153:  63: goja.loadVal(9)
>     compiler.go:153:  64: goja.loadVal(2)
>     compiler.go:153:  65: goja.call(2)
>     compiler.go:153:  66: goja.loadVal(3)
>     compiler.go:153:  67: goja.loadVal(10)
>     compiler.go:153:  68: goja.call(3)
>     compiler.go:153:  69: goja._pop({})
>     compiler.go:153:  70: goja.getVar1(assert)
>     compiler.go:153:  71: goja._dup({})
>     compiler.go:153:  72: goja.getPropCallee(sameValue)
>     compiler.go:153:  73: goja.loadVal(0)
>     compiler.go:153:  74: goja._dup({})
>     compiler.go:153:  75: goja.getPropCallee(substr)
>     compiler.go:153:  76: goja.loadVal(1)
>     compiler.go:153:  77: goja.getVar1(NaN)
>     compiler.go:153:  78: goja.call(2)
>     compiler.go:153:  79: goja.loadVal(3)
>     compiler.go:153:  80: goja.loadVal(11)
>     compiler.go:153:  81: goja.call(3)
>     compiler.go:153:  82: goja._pop({})
>     compiler.go:153:  83: goja.getVar1(assert)
>     compiler.go:153:  84: goja._dup({})
>     compiler.go:153:  85: goja.getPropCallee(sameValue)
>     compiler.go:153:  86: goja.loadVal(0)
>     compiler.go:153:  87: goja._dup({})
>     compiler.go:153:  88: goja.getPropCallee(substr)
>     compiler.go:153:  89: goja.loadVal(5)
>     compiler.go:153:  90: goja.getVar1(NaN)
>     compiler.go:153:  91: goja.call(2)
>     compiler.go:153:  92: goja.loadVal(3)
>     compiler.go:153:  93: goja.loadVal(12)
>     compiler.go:153:  94: goja.call(3)
>     compiler.go:153:  95: goja._pop({})
>     compiler.go:153:  96: goja.getVar1(assert)
>     compiler.go:153:  97: goja._dup({})
>     compiler.go:153:  98: goja.getPropCallee(sameValue)
>     compiler.go:153:  99: goja.loadVal(0)
>     compiler.go:153:  100: goja._dup({})
>     compiler.go:153:  101: goja.getPropCallee(substr)
>     compiler.go:153:  102: goja.loadVal(7)
>     compiler.go:153:  103: goja.getVar1(NaN)
>     compiler.go:153:  104: goja.call(2)
>     compiler.go:153:  105: goja.loadVal(3)
>     compiler.go:153:  106: goja.loadVal(13)
>     compiler.go:153:  107: goja.call(3)
>     compiler.go:153:  108: goja._pop({})
>     compiler.go:153:  109: goja.getVar1(assert)
>     compiler.go:153:  110: goja._dup({})
>     compiler.go:153:  111: goja.getPropCallee(sameValue)
>     compiler.go:153:  112: goja.loadVal(0)
>     compiler.go:153:  113: goja._dup({})
>     compiler.go:153:  114: goja.getPropCallee(substr)
>     compiler.go:153:  115: goja.loadVal(9)
>     compiler.go:153:  116: goja.getVar1(NaN)
>     compiler.go:153:  117: goja.call(2)
>     compiler.go:153:  118: goja.loadVal(3)
>     compiler.go:153:  119: goja.loadVal(14)
>     compiler.go:153:  120: goja.call(3)
>     compiler.go:153:  121: goja._pop({})
>     compiler.go:153:  122: goja.getVar1(assert)
>     compiler.go:153:  123: goja._dup({})
>     compiler.go:153:  124: goja.getPropCallee(sameValue)
>     compiler.go:153:  125: goja.loadVal(0)
>     compiler.go:153:  126: goja._dup({})
>     compiler.go:153:  127: goja.getPropCallee(substr)
>     compiler.go:153:  128: goja.loadVal(1)
>     compiler.go:153:  129: goja.loadVal(3)
>     compiler.go:153:  130: goja.call(2)
>     compiler.go:153:  131: goja.loadVal(3)
>     compiler.go:153:  132: goja.loadVal(15)
>     compiler.go:153:  133: goja.call(3)
>     compiler.go:153:  134: goja._pop({})
>     compiler.go:153:  135: goja.getVar1(assert)
>     compiler.go:153:  136: goja._dup({})
>     compiler.go:153:  137: goja.getPropCallee(sameValue)
>     compiler.go:153:  138: goja.loadVal(0)
>     compiler.go:153:  139: goja._dup({})
>     compiler.go:153:  140: goja.getPropCallee(substr)
>     compiler.go:153:  141: goja.loadVal(5)
>     compiler.go:153:  142: goja.loadVal(3)
>     compiler.go:153:  143: goja.call(2)
>     compiler.go:153:  144: goja.loadVal(3)
>     compiler.go:153:  145: goja.loadVal(16)
>     compiler.go:153:  146: goja.call(3)
>     compiler.go:153:  147: goja._pop({})
>     compiler.go:153:  148: goja.getVar1(assert)
>     compiler.go:153:  149: goja._dup({})
>     compiler.go:153:  150: goja.getPropCallee(sameValue)
>     compiler.go:153:  151: goja.loadVal(0)
>     compiler.go:153:  152: goja._dup({})
>     compiler.go:153:  153: goja.getPropCallee(substr)
>     compiler.go:153:  154: goja.loadVal(7)
>     compiler.go:153:  155: goja.loadVal(3)
>     compiler.go:153:  156: goja.call(2)
>     compiler.go:153:  157: goja.loadVal(3)
>     compiler.go:153:  158: goja.loadVal(17)
>     compiler.go:153:  159: goja.call(3)
>     compiler.go:153:  160: goja._pop({})
>     compiler.go:153:  161: goja.getVar1(assert)
>     compiler.go:153:  162: goja._dup({})
>     compiler.go:153:  163: goja.getPropCallee(sameValue)
>     compiler.go:153:  164: goja.loadVal(0)
>     compiler.go:153:  165: goja._dup({})
>     compiler.go:153:  166: goja.getPropCallee(substr)
>     compiler.go:153:  167: goja.loadVal(9)
>     compiler.go:153:  168: goja.loadVal(3)
>     compiler.go:153:  169: goja.call(2)
>     compiler.go:153:  170: goja.loadVal(3)
>     compiler.go:153:  171: goja.loadVal(18)
>     compiler.go:153:  172: goja.call(3)
>     compiler.go:153:  173: goja._pop({})
>     compiler.go:153:  174: goja.getVar1(assert)
>     compiler.go:153:  175: goja._dup({})
>     compiler.go:153:  176: goja.getPropCallee(sameValue)
>     compiler.go:153:  177: goja.loadVal(0)
>     compiler.go:153:  178: goja._dup({})
>     compiler.go:153:  179: goja.getPropCallee(substr)
>     compiler.go:153:  180: goja.loadVal(1)
>     compiler.go:153:  181: goja.loadVal(19)
>     compiler.go:153:  182: goja.call(2)
>     compiler.go:153:  183: goja.loadVal(3)
>     compiler.go:153:  184: goja.loadVal(20)
>     compiler.go:153:  185: goja.call(3)
>     compiler.go:153:  186: goja._pop({})
>     compiler.go:153:  187: goja.getVar1(assert)
>     compiler.go:153:  188: goja._dup({})
>     compiler.go:153:  189: goja.getPropCallee(sameValue)
>     compiler.go:153:  190: goja.loadVal(0)
>     compiler.go:153:  191: goja._dup({})
>     compiler.go:153:  192: goja.getPropCallee(substr)
>     compiler.go:153:  193: goja.loadVal(5)
>     compiler.go:153:  194: goja.loadVal(19)
>     compiler.go:153:  195: goja.call(2)
>     compiler.go:153:  196: goja.loadVal(3)
>     compiler.go:153:  197: goja.loadVal(21)
>     compiler.go:153:  198: goja.call(3)
>     compiler.go:153:  199: goja._pop({})
>     compiler.go:153:  200: goja.getVar1(assert)
>     compiler.go:153:  201: goja._dup({})
>     compiler.go:153:  202: goja.getPropCallee(sameValue)
>     compiler.go:153:  203: goja.loadVal(0)
>     compiler.go:153:  204: goja._dup({})
>     compiler.go:153:  205: goja.getPropCallee(substr)
>     compiler.go:153:  206: goja.loadVal(7)
>     compiler.go:153:  207: goja.loadVal(19)
>     compiler.go:153:  208: goja.call(2)
>     compiler.go:153:  209: goja.loadVal(3)
>     compiler.go:153:  210: goja.loadVal(22)
>     compiler.go:153:  211: goja.call(3)
>     compiler.go:153:  212: goja._pop({})
>     compiler.go:153:  213: goja.getVar1(assert)
>     compiler.go:153:  214: goja._dup({})
>     compiler.go:153:  215: goja.getPropCallee(sameValue)
>     compiler.go:153:  216: goja.loadVal(0)
>     compiler.go:153:  217: goja._dup({})
>     compiler.go:153:  218: goja.getPropCallee(substr)
>     compiler.go:153:  219: goja.loadVal(9)
>     compiler.go:153:  220: goja.loadVal(19)
>     compiler.go:153:  221: goja.call(2)
>     compiler.go:153:  222: goja.loadVal(3)
>     compiler.go:153:  223: goja.loadVal(23)
>     compiler.go:153:  224: goja.call(3)
>     compiler.go:153:  225: goja._pop({})
>     compiler.go:153:  226: goja.getVar1(assert)
>     compiler.go:153:  227: goja._dup({})
>     compiler.go:153:  228: goja.getPropCallee(sameValue)
>     compiler.go:153:  229: goja.loadVal(0)
>     compiler.go:153:  230: goja._dup({})
>     compiler.go:153:  231: goja.getPropCallee(substr)
>     compiler.go:153:  232: goja.loadVal(1)
>     compiler.go:153:  233: goja.loadVal(5)
>     compiler.go:153:  234: goja._neg({})
>     compiler.go:153:  235: goja.call(2)
>     compiler.go:153:  236: goja.loadVal(3)
>     compiler.go:153:  237: goja.loadVal(24)
>     compiler.go:153:  238: goja.call(3)
>     compiler.go:153:  239: goja._pop({})
>     compiler.go:153:  240: goja.getVar1(assert)
>     compiler.go:153:  241: goja._dup({})
>     compiler.go:153:  242: goja.getPropCallee(sameValue)
>     compiler.go:153:  243: goja.loadVal(0)
>     compiler.go:153:  244: goja._dup({})
>     compiler.go:153:  245: goja.getPropCallee(substr)
>     compiler.go:153:  246: goja.loadVal(1)
>     compiler.go:153:  247: goja.loadVal(7)
>     compiler.go:153:  248: goja._neg({})
>     compiler.go:153:  249: goja.call(2)
>     compiler.go:153:  250: goja.loadVal(3)
>     compiler.go:153:  251: goja.loadVal(25)
>     compiler.go:153:  252: goja.call(3)
>     compiler.go:153:  253: goja._pop({})
>     compiler.go:153:  254: goja.getVar1(assert)
>     compiler.go:153:  255: goja._dup({})
>     compiler.go:153:  256: goja.getPropCallee(sameValue)
>     compiler.go:153:  257: goja.loadVal(0)
>     compiler.go:153:  258: goja._dup({})
>     compiler.go:153:  259: goja.getPropCallee(substr)
>     compiler.go:153:  260: goja.loadVal(1)
>     compiler.go:153:  261: goja.loadVal(9)
>     compiler.go:153:  262: goja._neg({})
>     compiler.go:153:  263: goja.call(2)
>     compiler.go:153:  264: goja.loadVal(3)
>     compiler.go:153:  265: goja.loadVal(26)
>     compiler.go:153:  266: goja.call(3)
>     compiler.go:153:  267: goja._pop({})
>     compiler.go:153:  268: goja.getVar1(assert)
>     compiler.go:153:  269: goja._dup({})
>     compiler.go:153:  270: goja.getPropCallee(sameValue)
>     compiler.go:153:  271: goja.loadVal(0)
>     compiler.go:153:  272: goja._dup({})
>     compiler.go:153:  273: goja.getPropCallee(substr)
>     compiler.go:153:  274: goja.loadVal(1)
>     compiler.go:153:  275: goja.loadVal(27)
>     compiler.go:153:  276: goja._neg({})
>     compiler.go:153:  277: goja.call(2)
>     compiler.go:153:  278: goja.loadVal(3)
>     compiler.go:153:  279: goja.loadVal(28)
>     compiler.go:153:  280: goja.call(3)
>     compiler.go:153:  281: goja._pop({})
>     compiler.go:153:  282: goja.getVar1(assert)
>     compiler.go:153:  283: goja._dup({})
>     compiler.go:153:  284: goja.getPropCallee(sameValue)
>     compiler.go:153:  285: goja.loadVal(0)
>     compiler.go:153:  286: goja._dup({})
>     compiler.go:153:  287: goja.getPropCallee(substr)
>     compiler.go:153:  288: goja.loadVal(5)
>     compiler.go:153:  289: goja.loadVal(5)
>     compiler.go:153:  290: goja._neg({})
>     compiler.go:153:  291: goja.call(2)
>     compiler.go:153:  292: goja.loadVal(3)
>     compiler.go:153:  293: goja.loadVal(29)
>     compiler.go:153:  294: goja.call(3)
>     compiler.go:153:  295: goja._pop({})
>     compiler.go:153:  296: goja.getVar1(assert)
>     compiler.go:153:  297: goja._dup({})
>     compiler.go:153:  298: goja.getPropCallee(sameValue)
>     compiler.go:153:  299: goja.loadVal(0)
>     compiler.go:153:  300: goja._dup({})
>     compiler.go:153:  301: goja.getPropCallee(substr)
>     compiler.go:153:  302: goja.loadVal(5)
>     compiler.go:153:  303: goja.loadVal(7)
>     compiler.go:153:  304: goja._neg({})
>     compiler.go:153:  305: goja.call(2)
>     compiler.go:153:  306: goja.loadVal(3)
>     compiler.go:153:  307: goja.loadVal(30)
>     compiler.go:153:  308: goja.call(3)
>     compiler.go:153:  309: goja._pop({})
>     compiler.go:153:  310: goja.getVar1(assert)
>     compiler.go:153:  311: goja._dup({})
>     compiler.go:153:  312: goja.getPropCallee(sameValue)
>     compiler.go:153:  313: goja.loadVal(0)
>     compiler.go:153:  314: goja._dup({})
>     compiler.go:153:  315: goja.getPropCallee(substr)
>     compiler.go:153:  316: goja.loadVal(5)
>     compiler.go:153:  317: goja.loadVal(9)
>     compiler.go:153:  318: goja._neg({})
>     compiler.go:153:  319: goja.call(2)
>     compiler.go:153:  320: goja.loadVal(3)
>     compiler.go:153:  321: goja.loadVal(31)
>     compiler.go:153:  322: goja.call(3)
>     compiler.go:153:  323: goja._pop({})
>     compiler.go:153:  324: goja.getVar1(assert)
>     compiler.go:153:  325: goja._dup({})
>     compiler.go:153:  326: goja.getPropCallee(sameValue)
>     compiler.go:153:  327: goja.loadVal(0)
>     compiler.go:153:  328: goja._dup({})
>     compiler.go:153:  329: goja.getPropCallee(substr)
>     compiler.go:153:  330: goja.loadVal(5)
>     compiler.go:153:  331: goja.loadVal(27)
>     compiler.go:153:  332: goja._neg({})
>     compiler.go:153:  333: goja.call(2)
>     compiler.go:153:  334: goja.loadVal(3)
>     compiler.go:153:  335: goja.loadVal(32)
>     compiler.go:153:  336: goja.call(3)
>     compiler.go:153:  337: goja._pop({})
>     compiler.go:153:  338: goja.getVar1(assert)
>     compiler.go:153:  339: goja._dup({})
>     compiler.go:153:  340: goja.getPropCallee(sameValue)
>     compiler.go:153:  341: goja.loadVal(0)
>     compiler.go:153:  342: goja._dup({})
>     compiler.go:153:  343: goja.getPropCallee(substr)
>     compiler.go:153:  344: goja.loadVal(7)
>     compiler.go:153:  345: goja.loadVal(5)
>     compiler.go:153:  346: goja._neg({})
>     compiler.go:153:  347: goja.call(2)
>     compiler.go:153:  348: goja.loadVal(3)
>     compiler.go:153:  349: goja.loadVal(33)
>     compiler.go:153:  350: goja.call(3)
>     compiler.go:153:  351: goja._pop({})
>     compiler.go:153:  352: goja.getVar1(assert)
>     compiler.go:153:  353: goja._dup({})
>     compiler.go:153:  354: goja.getPropCallee(sameValue)
>     compiler.go:153:  355: goja.loadVal(0)
>     compiler.go:153:  356: goja._dup({})
>     compiler.go:153:  357: goja.getPropCallee(substr)
>     compiler.go:153:  358: goja.loadVal(7)
>     compiler.go:153:  359: goja.loadVal(7)
>     compiler.go:153:  360: goja._neg({})
>     compiler.go:153:  361: goja.call(2)
>     compiler.go:153:  362: goja.loadVal(3)
>     compiler.go:153:  363: goja.loadVal(34)
>     compiler.go:153:  364: goja.call(3)
>     compiler.go:153:  365: goja._pop({})
>     compiler.go:153:  366: goja.getVar1(assert)
>     compiler.go:153:  367: goja._dup({})
>     compiler.go:153:  368: goja.getPropCallee(sameValue)
>     compiler.go:153:  369: goja.loadVal(0)
>     compiler.go:153:  370: goja._dup({})
>     compiler.go:153:  371: goja.getPropCallee(substr)
>     compiler.go:153:  372: goja.loadVal(7)
>     compiler.go:153:  373: goja.loadVal(9)
>     compiler.go:153:  374: goja._neg({})
>     compiler.go:153:  375: goja.call(2)
>     compiler.go:153:  376: goja.loadVal(3)
>     compiler.go:153:  377: goja.loadVal(35)
>     compiler.go:153:  378: goja.call(3)
>     compiler.go:153:  379: goja._pop({})
>     compiler.go:153:  380: goja.getVar1(assert)
>     compiler.go:153:  381: goja._dup({})
>     compiler.go:153:  382: goja.getPropCallee(sameValue)
>     compiler.go:153:  383: goja.loadVal(0)
>     compiler.go:153:  384: goja._dup({})
>     compiler.go:153:  385: goja.getPropCallee(substr)
>     compiler.go:153:  386: goja.loadVal(7)
>     compiler.go:153:  387: goja.loadVal(27)
>     compiler.go:153:  388: goja._neg({})
>     compiler.go:153:  389: goja.call(2)
>     compiler.go:153:  390: goja.loadVal(3)
>     compiler.go:153:  391: goja.loadVal(36)
>     compiler.go:153:  392: goja.call(3)
>     compiler.go:153:  393: goja._pop({})
>     compiler.go:153:  394: goja.getVar1(assert)
>     compiler.go:153:  395: goja._dup({})
>     compiler.go:153:  396: goja.getPropCallee(sameValue)
>     compiler.go:153:  397: goja.loadVal(0)
>     compiler.go:153:  398: goja._dup({})
>     compiler.go:153:  399: goja.getPropCallee(substr)
>     compiler.go:153:  400: goja.loadVal(9)
>     compiler.go:153:  401: goja.loadVal(5)
>     compiler.go:153:  402: goja._neg({})
>     compiler.go:153:  403: goja.call(2)
>     compiler.go:153:  404: goja.loadVal(3)
>     compiler.go:153:  405: goja.loadVal(37)
>     compiler.go:153:  406: goja.call(3)
>     compiler.go:153:  407: goja._pop({})
>     compiler.go:153:  408: goja.getVar1(assert)
>     compiler.go:153:  409: goja._dup({})
>     compiler.go:153:  410: goja.getPropCallee(sameValue)
>     compiler.go:153:  411: goja.loadVal(0)
>     compiler.go:153:  412: goja._dup({})
>     compiler.go:153:  413: goja.getPropCallee(substr)
>     compiler.go:153:  414: goja.loadVal(9)
>     compiler.go:153:  415: goja.loadVal(7)
>     compiler.go:153:  416: goja._neg({})
>     compiler.go:153:  417: goja.call(2)
>     compiler.go:153:  418: goja.loadVal(3)
>     compiler.go:153:  419: goja.loadVal(38)
>     compiler.go:153:  420: goja.call(3)
>     compiler.go:153:  421: goja._pop({})
>     compiler.go:153:  422: goja.getVar1(assert)
>     compiler.go:153:  423: goja._dup({})
>     compiler.go:153:  424: goja.getPropCallee(sameValue)
>     compiler.go:153:  425: goja.loadVal(0)
>     compiler.go:153:  426: goja._dup({})
>     compiler.go:153:  427: goja.getPropCallee(substr)
>     compiler.go:153:  428: goja.loadVal(9)
>     compiler.go:153:  429: goja.loadVal(9)
>     compiler.go:153:  430: goja._neg({})
>     compiler.go:153:  431: goja.call(2)
>     compiler.go:153:  432: goja.loadVal(3)
>     compiler.go:153:  433: goja.loadVal(39)
>     compiler.go:153:  434: goja.call(3)
>     compiler.go:153:  435: goja._pop({})
>     compiler.go:153:  436: goja.getVar1(assert)
>     compiler.go:153:  437: goja._dup({})
>     compiler.go:153:  438: goja.getPropCallee(sameValue)
>     compiler.go:153:  439: goja.loadVal(0)
>     compiler.go:153:  440: goja._dup({})
>     compiler.go:153:  441: goja.getPropCallee(substr)
>     compiler.go:153:  442: goja.loadVal(9)
>     compiler.go:153:  443: goja.loadVal(27)
>     compiler.go:153:  444: goja._neg({})
>     compiler.go:153:  445: goja.call(2)
>     compiler.go:153:  446: goja.loadVal(3)
>     compiler.go:153:  447: goja.loadVal(40)
>     compiler.go:153:  448: goja.call(3)
>     compiler.go:153:  449: goja._pop({})
>     compiler.go:153:  450: goja.getVar1(assert)
>     compiler.go:153:  451: goja._dup({})
>     compiler.go:153:  452: goja.getPropCallee(sameValue)
>     compiler.go:153:  453: goja.loadVal(0)
>     compiler.go:153:  454: goja._dup({})
>     compiler.go:153:  455: goja.getPropCallee(substr)
>     compiler.go:153:  456: goja.loadVal(1)
>     compiler.go:153:  457: goja.loadVal(5)
>     compiler.go:153:  458: goja.call(2)
>     compiler.go:153:  459: goja.loadVal(41)
>     compiler.go:153:  460: goja.loadVal(42)
>     compiler.go:153:  461: goja.call(3)
>     compiler.go:153:  462: goja._pop({})
>     compiler.go:153:  463: goja.getVar1(assert)
>     compiler.go:153:  464: goja._dup({})
>     compiler.go:153:  465: goja.getPropCallee(sameValue)
>     compiler.go:153:  466: goja.loadVal(0)
>     compiler.go:153:  467: goja._dup({})
>     compiler.go:153:  468: goja.getPropCallee(substr)
>     compiler.go:153:  469: goja.loadVal(1)
>     compiler.go:153:  470: goja.loadVal(7)
>     compiler.go:153:  471: goja.call(2)
>     compiler.go:153:  472: goja.loadVal(43)
>     compiler.go:153:  473: goja.loadVal(42)
>     compiler.go:153:  474: goja.call(3)
>     compiler.go:153:  475: goja._pop({})
>     compiler.go:153:  476: goja.getVar1(assert)
>     compiler.go:153:  477: goja._dup({})
>     compiler.go:153:  478: goja.getPropCallee(sameValue)
>     compiler.go:153:  479: goja.loadVal(0)
>     compiler.go:153:  480: goja._dup({})
>     compiler.go:153:  481: goja.getPropCallee(substr)
>     compiler.go:153:  482: goja.loadVal(1)
>     compiler.go:153:  483: goja.loadVal(9)
>     compiler.go:153:  484: goja.call(2)
>     compiler.go:153:  485: goja.loadVal(0)
>     compiler.go:153:  486: goja.loadVal(42)
>     compiler.go:153:  487: goja.call(3)
>     compiler.go:153:  488: goja._pop({})
>     compiler.go:153:  489: goja.getVar1(assert)
>     compiler.go:153:  490: goja._dup({})
>     compiler.go:153:  491: goja.getPropCallee(sameValue)
>     compiler.go:153:  492: goja.loadVal(0)
>     compiler.go:153:  493: goja._dup({})
>     compiler.go:153:  494: goja.getPropCallee(substr)
>     compiler.go:153:  495: goja.loadVal(1)
>     compiler.go:153:  496: goja.loadVal(27)
>     compiler.go:153:  497: goja.call(2)
>     compiler.go:153:  498: goja.loadVal(0)
>     compiler.go:153:  499: goja.loadVal(42)
>     compiler.go:153:  500: goja.call(3)
>     compiler.go:153:  501: goja._pop({})
>     compiler.go:153:  502: goja.getVar1(assert)
>     compiler.go:153:  503: goja._dup({})
>     compiler.go:153:  504: goja.getPropCallee(sameValue)
>     compiler.go:153:  505: goja.loadVal(0)
>     compiler.go:153:  506: goja._dup({})
>     compiler.go:153:  507: goja.getPropCallee(substr)
>     compiler.go:153:  508: goja.loadVal(5)
>     compiler.go:153:  509: goja.loadVal(5)
>     compiler.go:153:  510: goja.call(2)
>     compiler.go:153:  511: goja.loadVal(44)
>     compiler.go:153:  512: goja.loadVal(45)
>     compiler.go:153:  513: goja.call(3)
>     compiler.go:153:  514: goja._pop({})
>     compiler.go:153:  515: goja.getVar1(assert)
>     compiler.go:153:  516: goja._dup({})
>     compiler.go:153:  517: goja.getPropCallee(sameValue)
>     compiler.go:153:  518: goja.loadVal(0)
>     compiler.go:153:  519: goja._dup({})
>     compiler.go:153:  520: goja.getPropCallee(substr)
>     compiler.go:153:  521: goja.loadVal(5)
>     compiler.go:153:  522: goja.loadVal(7)
>     compiler.go:153:  523: goja.call(2)
>     compiler.go:153:  524: goja.loadVal(46)
>     compiler.go:153:  525: goja.loadVal(45)
>     compiler.go:153:  526: goja.call(3)
>     compiler.go:153:  527: goja._pop({})
>     compiler.go:153:  528: goja.getVar1(assert)
>     compiler.go:153:  529: goja._dup({})
>     compiler.go:153:  530: goja.getPropCallee(sameValue)
>     compiler.go:153:  531: goja.loadVal(0)
>     compiler.go:153:  532: goja._dup({})
>     compiler.go:153:  533: goja.getPropCallee(substr)
>     compiler.go:153:  534: goja.loadVal(5)
>     compiler.go:153:  535: goja.loadVal(9)
>     compiler.go:153:  536: goja.call(2)
>     compiler.go:153:  537: goja.loadVal(46)
>     compiler.go:153:  538: goja.loadVal(45)
>     compiler.go:153:  539: goja.call(3)
>     compiler.go:153:  540: goja._pop({})
>     compiler.go:153:  541: goja.getVar1(assert)
>     compiler.go:153:  542: goja._dup({})
>     compiler.go:153:  543: goja.getPropCallee(sameValue)
>     compiler.go:153:  544: goja.loadVal(0)
>     compiler.go:153:  545: goja._dup({})
>     compiler.go:153:  546: goja.getPropCallee(substr)
>     compiler.go:153:  547: goja.loadVal(5)
>     compiler.go:153:  548: goja.loadVal(27)
>     compiler.go:153:  549: goja.call(2)
>     compiler.go:153:  550: goja.loadVal(46)
>     compiler.go:153:  551: goja.loadVal(45)
>     compiler.go:153:  552: goja.call(3)
>     compiler.go:153:  553: goja._pop({})
>     compiler.go:153:  554: goja.getVar1(assert)
>     compiler.go:153:  555: goja._dup({})
>     compiler.go:153:  556: goja.getPropCallee(sameValue)
>     compiler.go:153:  557: goja.loadVal(0)
>     compiler.go:153:  558: goja._dup({})
>     compiler.go:153:  559: goja.getPropCallee(substr)
>     compiler.go:153:  560: goja.loadVal(7)
>     compiler.go:153:  561: goja.loadVal(5)
>     compiler.go:153:  562: goja.call(2)
>     compiler.go:153:  563: goja.loadVal(47)
>     compiler.go:153:  564: goja.loadVal(48)
>     compiler.go:153:  565: goja.call(3)
>     compiler.go:153:  566: goja._pop({})
>     compiler.go:153:  567: goja.getVar1(assert)
>     compiler.go:153:  568: goja._dup({})
>     compiler.go:153:  569: goja.getPropCallee(sameValue)
>     compiler.go:153:  570: goja.loadVal(0)
>     compiler.go:153:  571: goja._dup({})
>     compiler.go:153:  572: goja.getPropCallee(substr)
>     compiler.go:153:  573: goja.loadVal(7)
>     compiler.go:153:  574: goja.loadVal(7)
>     compiler.go:153:  575: goja.call(2)
>     compiler.go:153:  576: goja.loadVal(47)
>     compiler.go:153:  577: goja.loadVal(48)
>     compiler.go:153:  578: goja.call(3)
>     compiler.go:153:  579: goja._pop({})
>     compiler.go:153:  580: goja.getVar1(assert)
>     compiler.go:153:  581: goja._dup({})
>     compiler.go:153:  582: goja.getPropCallee(sameValue)
>     compiler.go:153:  583: goja.loadVal(0)
>     compiler.go:153:  584: goja._dup({})
>     compiler.go:153:  585: goja.getPropCallee(substr)
>     compiler.go:153:  586: goja.loadVal(7)
>     compiler.go:153:  587: goja.loadVal(9)
>     compiler.go:153:  588: goja.call(2)
>     compiler.go:153:  589: goja.loadVal(47)
>     compiler.go:153:  590: goja.loadVal(48)
>     compiler.go:153:  591: goja.call(3)
>     compiler.go:153:  592: goja._pop({})
>     compiler.go:153:  593: goja.getVar1(assert)
>     compiler.go:153:  594: goja._dup({})
>     compiler.go:153:  595: goja.getPropCallee(sameValue)
>     compiler.go:153:  596: goja.loadVal(0)
>     compiler.go:153:  597: goja._dup({})
>     compiler.go:153:  598: goja.getPropCallee(substr)
>     compiler.go:153:  599: goja.loadVal(7)
>     compiler.go:153:  600: goja.loadVal(27)
>     compiler.go:153:  601: goja.call(2)
>     compiler.go:153:  602: goja.loadVal(47)
>     compiler.go:153:  603: goja.loadVal(48)
>     compiler.go:153:  604: goja.call(3)
>     compiler.go:153:  605: goja._pop({})
>     compiler.go:153:  606: goja.getVar1(assert)
>     compiler.go:153:  607: goja._dup({})
>     compiler.go:153:  608: goja.getPropCallee(sameValue)
>     compiler.go:153:  609: goja.loadVal(0)
>     compiler.go:153:  610: goja._dup({})
>     compiler.go:153:  611: goja.getPropCallee(substr)
>     compiler.go:153:  612: goja.loadVal(9)
>     compiler.go:153:  613: goja.loadVal(5)
>     compiler.go:153:  614: goja.call(2)
>     compiler.go:153:  615: goja.loadVal(3)
>     compiler.go:153:  616: goja.loadVal(49)
>     compiler.go:153:  617: goja.call(3)
>     compiler.go:153:  618: goja._pop({})
>     compiler.go:153:  619: goja.getVar1(assert)
>     compiler.go:153:  620: goja._dup({})
>     compiler.go:153:  621: goja.getPropCallee(sameValue)
>     compiler.go:153:  622: goja.loadVal(0)
>     compiler.go:153:  623: goja._dup({})
>     compiler.go:153:  624: goja.getPropCallee(substr)
>     compiler.go:153:  625: goja.loadVal(9)
>     compiler.go:153:  626: goja.loadVal(7)
>     compiler.go:153:  627: goja.call(2)
>     compiler.go:153:  628: goja.loadVal(3)
>     compiler.go:153:  629: goja.loadVal(49)
>     compiler.go:153:  630: goja.call(3)
>     compiler.go:153:  631: goja._pop({})
>     compiler.go:153:  632: goja.getVar1(assert)
>     compiler.go:153:  633: goja._dup({})
>     compiler.go:153:  634: goja.getPropCallee(sameValue)
>     compiler.go:153:  635: goja.loadVal(0)
>     compiler.go:153:  636: goja._dup({})
>     compiler.go:153:  637: goja.getPropCallee(substr)
>     compiler.go:153:  638: goja.loadVal(9)
>     compiler.go:153:  639: goja.loadVal(9)
>     compiler.go:153:  640: goja.call(2)
>     compiler.go:153:  641: goja.loadVal(3)
>     compiler.go:153:  642: goja.loadVal(49)
>     compiler.go:153:  643: goja.call(3)
>     compiler.go:153:  644: goja._pop({})
>     compiler.go:153:  645: goja.getVar1(assert)
>     compiler.go:153:  646: goja._dup({})
>     compiler.go:153:  647: goja.getPropCallee(sameValue)
>     compiler.go:153:  648: goja.loadVal(0)
>     compiler.go:153:  649: goja._dup({})
>     compiler.go:153:  650: goja.getPropCallee(substr)
>     compiler.go:153:  651: goja.loadVal(9)
>     compiler.go:153:  652: goja.loadVal(27)
>     compiler.go:153:  653: goja.call(2)
>     compiler.go:153:  654: goja.loadVal(3)
>     compiler.go:153:  655: goja.loadVal(49)
>     compiler.go:153:  656: goja.call(3)
>     compiler.go:153:  657: goja._pop({})
>     compiler.go:153:  658: goja.getVar1(assert)
>     compiler.go:153:  659: goja._dup({})
>     compiler.go:153:  660: goja.getPropCallee(sameValue)
>     compiler.go:153:  661: goja.loadVal(0)
>     compiler.go:153:  662: goja._dup({})
>     compiler.go:153:  663: goja.getPropCallee(substr)
>     compiler.go:153:  664: goja.loadVal(1)
>     compiler.go:153:  665: goja.call(1)
>     compiler.go:153:  666: goja.loadVal(0)
>     compiler.go:153:  667: goja.loadVal(50)
>     compiler.go:153:  668: goja.call(3)
>     compiler.go:153:  669: goja._pop({})
>     compiler.go:153:  670: goja.getVar1(assert)
>     compiler.go:153:  671: goja._dup({})
>     compiler.go:153:  672: goja.getPropCallee(sameValue)
>     compiler.go:153:  673: goja.loadVal(0)
>     compiler.go:153:  674: goja._dup({})
>     compiler.go:153:  675: goja.getPropCallee(substr)
>     compiler.go:153:  676: goja.loadVal(5)
>     compiler.go:153:  677: goja.call(1)
>     compiler.go:153:  678: goja.loadVal(46)
>     compiler.go:153:  679: goja.loadVal(51)
>     compiler.go:153:  680: goja.call(3)
>     compiler.go:153:  681: goja._pop({})
>     compiler.go:153:  682: goja.getVar1(assert)
>     compiler.go:153:  683: goja._dup({})
>     compiler.go:153:  684: goja.getPropCallee(sameValue)
>     compiler.go:153:  685: goja.loadVal(0)
>     compiler.go:153:  686: goja._dup({})
>     compiler.go:153:  687: goja.getPropCallee(substr)
>     compiler.go:153:  688: goja.loadVal(7)
>     compiler.go:153:  689: goja.call(1)
>     compiler.go:153:  690: goja.loadVal(47)
>     compiler.go:153:  691: goja.loadVal(52)
>     compiler.go:153:  692: goja.call(3)
>     compiler.go:153:  693: goja._pop({})
>     compiler.go:153:  694: goja.getVar1(assert)
>     compiler.go:153:  695: goja._dup({})
>     compiler.go:153:  696: goja.getPropCallee(sameValue)
>     compiler.go:153:  697: goja.loadVal(0)
>     compiler.go:153:  698: goja._dup({})
>     compiler.go:153:  699: goja.getPropCallee(substr)
>     compiler.go:153:  700: goja.loadVal(9)
>     compiler.go:153:  701: goja.call(1)
>     compiler.go:153:  702: goja.loadVal(3)
>     compiler.go:153:  703: goja.loadVal(53)
>     compiler.go:153:  704: goja.call(3)
>     compiler.go:153:  705: goja._pop({})
>     compiler.go:153:  706: goja.getVar1(assert)
>     compiler.go:153:  707: goja._dup({})
>     compiler.go:153:  708: goja.getPropCallee(sameValue)
>     compiler.go:153:  709: goja.loadVal(0)
>     compiler.go:153:  710: goja._dup({})
>     compiler.go:153:  711: goja.getPropCallee(substr)
>     compiler.go:153:  712: goja.loadVal(1)
>     compiler.go:153:  713: goja.getVar1(undefined)
>     compiler.go:153:  714: goja.call(2)
>     compiler.go:153:  715: goja.loadVal(0)
>     compiler.go:153:  716: goja.loadVal(54)
>     compiler.go:153:  717: goja.call(3)
>     compiler.go:153:  718: goja._pop({})
>     compiler.go:153:  719: goja.getVar1(assert)
>     compiler.go:153:  720: goja._dup({})
>     compiler.go:153:  721: goja.getPropCallee(sameValue)
>     compiler.go:153:  722: goja.loadVal(0)
>     compiler.go:153:  723: goja._dup({})
>     compiler.go:153:  724: goja.getPropCallee(substr)
>     compiler.go:153:  725: goja.loadVal(5)
>     compiler.go:153:  726: goja.getVar1(undefined)
>     compiler.go:153:  727: goja.call(2)
>     compiler.go:153:  728: goja.loadVal(46)
>     compiler.go:153:  729: goja.loadVal(55)
>     compiler.go:153:  730: goja.call(3)
>     compiler.go:153:  731: goja._pop({})
>     compiler.go:153:  732: goja.getVar1(assert)
>     compiler.go:153:  733: goja._dup({})
>     compiler.go:153:  734: goja.getPropCallee(sameValue)
>     compiler.go:153:  735: goja.loadVal(0)
>     compiler.go:153:  736: goja._dup({})
>     compiler.go:153:  737: goja.getPropCallee(substr)
>     compiler.go:153:  738: goja.loadVal(7)
>     compiler.go:153:  739: goja.getVar1(undefined)
>     compiler.go:153:  740: goja.call(2)
>     compiler.go:153:  741: goja.loadVal(47)
>     compiler.go:153:  742: goja.loadVal(56)
>     compiler.go:153:  743: goja.call(3)
>     compiler.go:153:  744: goja._pop({})
>     compiler.go:153:  745: goja.getVar1(assert)
>     compiler.go:153:  746: goja._dup({})
>     compiler.go:153:  747: goja.getPropCallee(sameValue)
>     compiler.go:153:  748: goja.loadVal(0)
>     compiler.go:153:  749: goja._dup({})
>     compiler.go:153:  750: goja.getPropCallee(substr)
>     compiler.go:153:  751: goja.loadVal(9)
>     compiler.go:153:  752: goja.getVar1(undefined)
>     compiler.go:153:  753: goja.call(2)
>     compiler.go:153:  754: goja.loadVal(3)
>     compiler.go:153:  755: goja.loadVal(57)
>     compiler.go:153:  756: goja.call(3)
>     compiler.go:153:  757: goja._halt({})
>     compiler_test.go:60: stack size: 11
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSubstr (0.01s)
> === RUN   TestEmptyProgram
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja._halt({})
>     compiler_test.go:60: stack size: 1
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestEmptyProgram (0.00s)
> === RUN   TestErrorProto
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(e)
>     compiler.go:153:  1: goja.resolveVar1(e)
>     compiler.go:153:  2: goja.getVar1(TypeError)
>     compiler.go:153:  3: goja._new(0)
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.getVar1(e)
>     compiler.go:153:  7: goja.getProp(name)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 1
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestErrorProto (0.00s)
> === RUN   TestThis1
>     compiler.go:151: values: [42]
>     compiler.go:153:  0: goja.bindName(independent)
>     compiler.go:153:  1: goja.bindName(o)
>     compiler.go:153:  2: goja.bindName(rv)
>     compiler.go:153:  3: goja.resolveVar1(independent)
>     compiler.go:153:  4: *goja.newFunc(&{0xa181bc0 independent 0 false 2 49})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja.getProp(prop)
>     compiler.go:153: > 4: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(o)
>     compiler.go:153:  8: goja._newObject({})
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.getVar1(o)
>     compiler.go:153:  12: goja._newObject({})
>     compiler.go:153:  13: goja.getVar1(independent)
>     compiler.go:153:  14: goja.setProp1(g)
>     compiler.go:153:  15: goja.loadVal(0)
>     compiler.go:153:  16: goja.setProp1(prop)
>     compiler.go:153:  17: goja.setProp(b)
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.resolveVar1(rv)
>     compiler.go:153:  20: goja.getVar1(o)
>     compiler.go:153:  21: goja.getProp(b)
>     compiler.go:153:  22: goja._dup({})
>     compiler.go:153:  23: goja.getPropCallee(g)
>     compiler.go:153:  24: goja.call(0)
>     compiler.go:153:  25: goja._putValue({})
>     compiler.go:153:  26: goja._pop({})
>     compiler.go:153:  27: goja._loadUndef({})
>     compiler.go:153:  28: goja._halt({})
>     compiler_test.go:27: stack size: 3
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestThis1 (0.00s)
> === RUN   TestThis2
>     compiler.go:151: values: [37]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja.setProp1(prop)
>     compiler.go:153:  6: *goja.newFunc(&{0xa01a4b0  0 false 28 66})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja.getProp(prop)
>     compiler.go:153: > 4: goja._retStashless({})
>     compiler.go:153:  7: goja.setProp1(f)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.resolveVar1(rv)
>     compiler.go:153:  11: goja.getVar1(o)
>     compiler.go:153:  12: goja._dup({})
>     compiler.go:153:  13: goja.getPropCallee(f)
>     compiler.go:153:  14: goja.call(0)
>     compiler.go:153:  15: goja._putValue({})
>     compiler.go:153:  16: goja._pop({})
>     compiler.go:153:  17: goja._loadUndef({})
>     compiler.go:153:  18: goja._halt({})
>     compiler_test.go:27: stack size: 3
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestThis2 (0.00s)
> === RUN   TestThisStrict
>     compiler.go:151: values: [x 5]
>     compiler.go:153:  0: goja.getVar1(Object)
>     compiler.go:153:  1: goja._dup({})
>     compiler.go:153:  2: goja.getPropCallee(defineProperty)
>     compiler.go:153:  3: goja.getVar1(Object)
>     compiler.go:153:  4: goja.getProp(prototype)
>     compiler.go:153:  5: goja.loadVal(0)
>     compiler.go:153:  6: goja._newObject({})
>     compiler.go:153:  7: *goja.newFunc(&{0xa01a870  0 true 70 98})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.loadStack(0)
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  8: goja.setProp1(get)
>     compiler.go:153:  9: goja.call(3)
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja.getProp(x)
>     compiler.go:153:  13: goja.loadVal(1)
>     compiler.go:153:  14: goja._op_strict_eq({})
>     compiler.go:153:  15: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestThisStrict (0.00s)
> === RUN   TestThisNoStrict
>     compiler.go:151: values: [x 5]
>     compiler.go:153:  0: goja.getVar1(Object)
>     compiler.go:153:  1: goja._dup({})
>     compiler.go:153:  2: goja.getPropCallee(defineProperty)
>     compiler.go:153:  3: goja.getVar1(Object)
>     compiler.go:153:  4: goja.getProp(prototype)
>     compiler.go:153:  5: goja.loadVal(0)
>     compiler.go:153:  6: goja._newObject({})
>     compiler.go:153:  7: *goja.newFunc(&{0xa01ac30  0 false 54 82})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja._retStashless({})
>     compiler.go:153:  8: goja.setProp1(get)
>     compiler.go:153:  9: goja.call(3)
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja.getProp(x)
>     compiler.go:153:  13: goja.loadVal(1)
>     compiler.go:153:  14: goja._op_eq({})
>     compiler.go:153:  15: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestThisNoStrict (0.00s)
> === RUN   TestCallLessArgs
>     compiler.go:151: values: [1 2]
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa01b020 A 3 false 1 79})
>     compiler.go:151: values: [ ]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja._loadUndef({})
>     compiler.go:153: > 2: goja.getVar1Callee(String)
>     compiler.go:153: > 3: goja.loadStack(-1)
>     compiler.go:153: > 4: goja.call(1)
>     compiler.go:153: > 5: goja.loadVal(0)
>     compiler.go:153: > 6: goja._add({})
>     compiler.go:153: > 7: goja._loadUndef({})
>     compiler.go:153: > 8: goja.getVar1Callee(String)
>     compiler.go:153: > 9: goja.loadStack(-2)
>     compiler.go:153: > 10: goja.call(1)
>     compiler.go:153: > 11: goja._add({})
>     compiler.go:153: > 12: goja.loadVal(0)
>     compiler.go:153: > 13: goja._add({})
>     compiler.go:153: > 14: goja._loadUndef({})
>     compiler.go:153: > 15: goja.getVar1Callee(String)
>     compiler.go:153: > 16: goja.loadStack(-3)
>     compiler.go:153: > 17: goja.call(1)
>     compiler.go:153: > 18: goja._add({})
>     compiler.go:153: > 19: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.loadVal(0)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja.call(2)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja._loadUndef({})
>     compiler.go:153:  15: goja._halt({})
>     compiler_test.go:27: stack size: 9
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestCallLessArgs (0.00s)
> === RUN   TestCallMoreArgs
>     compiler.go:151: values: [1 2 3]
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa01b3b0 A 2 false 1 52})
>     compiler.go:151: values: [4]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 2})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja.loadStack(-2)
>     compiler.go:153: > 6: goja._sub({})
>     compiler.go:153: > 7: goja.loadStack(1)
>     compiler.go:153: > 8: goja._add({})
>     compiler.go:153: > 9: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.loadVal(0)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja.loadVal(2)
>     compiler.go:153:  12: goja.call(3)
>     compiler.go:153:  13: goja._putValue({})
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja._loadUndef({})
>     compiler.go:153:  16: goja._halt({})
>     compiler_test.go:27: stack size: 8
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestCallMoreArgs (0.00s)
> === RUN   TestCallMoreArgsDynamic
>     compiler.go:151: values: [1 2 3]
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa01b740 A 2 false 1 81})
>     compiler.go:151: values: [4]
>     compiler.go:153: > 0: goja.enterFunc(2)
>     compiler.go:153: > 1: goja.bindName(a)
>     compiler.go:153: > 2: goja.bindName(b)
>     compiler.go:153: > 3: goja.bindName(c)
>     compiler.go:153: > 4: goja._boxThis({})
>     compiler.go:153: > 5: goja.loadVal(0)
>     compiler.go:153: > 6: goja.setLocal(2)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja.getVar1(a)
>     compiler.go:153: > 9: goja.getVar1(b)
>     compiler.go:153: > 10: goja._sub({})
>     compiler.go:153: > 11: goja.getVar1(c)
>     compiler.go:153: > 12: goja._add({})
>     compiler.go:153: > 13: goja._ret({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.loadVal(0)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja.loadVal(2)
>     compiler.go:153:  12: goja.call(3)
>     compiler.go:153:  13: goja._putValue({})
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja._loadUndef({})
>     compiler.go:153:  16: goja._halt({})
>     compiler_test.go:27: stack size: 5
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestCallMoreArgsDynamic (0.00s)
> === RUN   TestCallLessArgsDynamic
>     compiler.go:151: values: [1 2]
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa01bc20 A 3 false 1 131})
>     compiler.go:151: values: [ ]
>     compiler.go:153: > 0: goja.enterFunc(3)
>     compiler.go:153: > 1: goja.bindName(a)
>     compiler.go:153: > 2: goja.bindName(b)
>     compiler.go:153: > 3: goja.bindName(c)
>     compiler.go:153: > 4: goja.bindName(B)
>     compiler.go:153: > 5: *goja.newFunc(&{0xa01bc50 B 0 false 45 74})
>     compiler.go:151: values: []
>     compiler.go:153: >> 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: >> 1: goja.getLocal(0)
>     compiler.go:153: >> 2: goja._retStashless({})
>     compiler.go:153: > 6: goja.setLocal(3)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja._loadUndef({})
>     compiler.go:153: > 9: goja.getVar1Callee(String)
>     compiler.go:153: > 10: goja.getLocal(0)
>     compiler.go:153: > 11: goja.call(1)
>     compiler.go:153: > 12: goja.loadVal(0)
>     compiler.go:153: > 13: goja._add({})
>     compiler.go:153: > 14: goja._loadUndef({})
>     compiler.go:153: > 15: goja.getVar1Callee(String)
>     compiler.go:153: > 16: goja.getLocal(1)
>     compiler.go:153: > 17: goja.call(1)
>     compiler.go:153: > 18: goja._add({})
>     compiler.go:153: > 19: goja.loadVal(0)
>     compiler.go:153: > 20: goja._add({})
>     compiler.go:153: > 21: goja._loadUndef({})
>     compiler.go:153: > 22: goja.getVar1Callee(String)
>     compiler.go:153: > 23: goja.getLocal(2)
>     compiler.go:153: > 24: goja.call(1)
>     compiler.go:153: > 25: goja._add({})
>     compiler.go:153: > 26: goja._ret({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.loadVal(0)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja.call(2)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja._loadUndef({})
>     compiler.go:153:  15: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestCallLessArgsDynamic (0.00s)
> === RUN   TestCallLessArgsDynamicLocalVar
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa272180 f 1 false 2 82})
>     compiler.go:151: values: [42]
>     compiler.go:153: > 0: goja.enterFunc(1)
>     compiler.go:153: > 1: goja.bindName(param)
>     compiler.go:153: > 2: goja.bindName(a)
>     compiler.go:153: > 3: goja._boxThis({})
>     compiler.go:153: > 4: goja.loadVal(0)
>     compiler.go:153: > 5: goja.setLocal(1)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.getVar1(a)
>     compiler.go:153: > 8: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestCallLessArgsDynamicLocalVar (0.00s)
> === RUN   TestNativeCall
>     compiler.go:151: values: [1 test 42]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(o)
>     compiler.go:153:  3: goja._loadUndef({})
>     compiler.go:153:  4: goja.getVar1Callee(Object)
>     compiler.go:153:  5: goja.loadVal(0)
>     compiler.go:153:  6: goja.call(1)
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.getVar1(Object)
>     compiler.go:153:  10: goja._dup({})
>     compiler.go:153:  11: goja.getPropCallee(defineProperty)
>     compiler.go:153:  12: goja.getVar1(o)
>     compiler.go:153:  13: goja.loadVal(1)
>     compiler.go:153:  14: goja._newObject({})
>     compiler.go:153:  15: goja.loadVal(2)
>     compiler.go:153:  16: goja.setProp1(value)
>     compiler.go:153:  17: goja.call(3)
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.resolveVar1(rv)
>     compiler.go:153:  20: goja.getVar1(o)
>     compiler.go:153:  21: goja.getProp(test)
>     compiler.go:153:  22: goja._putValue({})
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja._loadUndef({})
>     compiler.go:153:  25: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestNativeCall (0.00s)
> === RUN   TestJSCall
>     compiler.go:151: values: [1 42 test]
>     compiler.go:153:  0: goja.bindName(getter)
>     compiler.go:153:  1: goja.bindName(o)
>     compiler.go:153:  2: goja.bindName(rv)
>     compiler.go:153:  3: goja.resolveVar1(getter)
>     compiler.go:153:  4: *goja.newFunc(&{0xa272900 getter 0 false 2 41})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja.getProp(x)
>     compiler.go:153: > 4: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(o)
>     compiler.go:153:  8: goja._loadUndef({})
>     compiler.go:153:  9: goja.getVar1Callee(Object)
>     compiler.go:153:  10: goja.loadVal(0)
>     compiler.go:153:  11: goja.call(1)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.getVar1(o)
>     compiler.go:153:  15: goja.loadVal(1)
>     compiler.go:153:  16: goja.setProp(x)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.getVar1(Object)
>     compiler.go:153:  19: goja._dup({})
>     compiler.go:153:  20: goja.getPropCallee(defineProperty)
>     compiler.go:153:  21: goja.getVar1(o)
>     compiler.go:153:  22: goja.loadVal(2)
>     compiler.go:153:  23: goja._newObject({})
>     compiler.go:153:  24: goja.getVar1(getter)
>     compiler.go:153:  25: goja.setProp1(get)
>     compiler.go:153:  26: goja.call(3)
>     compiler.go:153:  27: goja._pop({})
>     compiler.go:153:  28: goja.resolveVar1(rv)
>     compiler.go:153:  29: goja.getVar1(o)
>     compiler.go:153:  30: goja.getProp(test)
>     compiler.go:153:  31: goja._putValue({})
>     compiler.go:153:  32: goja._pop({})
>     compiler.go:153:  33: goja._loadUndef({})
>     compiler.go:153:  34: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestJSCall (0.00s)
> === RUN   TestLoop1
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa272d20 A 0 false 2 117})
>     compiler.go:151: values: [1 0 2]
>     compiler.go:153: > 0: goja.enterFuncStashless({2 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadVal(1)
>     compiler.go:153: > 5: goja.storeStack(2)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadStack(2)
>     compiler.go:153: > 8: goja.loadVal(0)
>     compiler.go:153: > 9: goja._op_lt({})
>     compiler.go:153: > 10: goja.jne(9)
>     compiler.go:153: > 11: goja.loadVal(2)
>     compiler.go:153: > 12: goja.storeStack(1)
>     compiler.go:153: > 13: goja._pop({})
>     compiler.go:153: > 14: goja.loadStack(2)
>     compiler.go:153: > 15: goja._inc({})
>     compiler.go:153: > 16: goja.storeStack(2)
>     compiler.go:153: > 17: goja._pop({})
>     compiler.go:153: > 18: goja.jump(-11)
>     compiler.go:153: > 19: goja.loadStack(1)
>     compiler.go:153: > 20: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja._loadUndef({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestLoop1 (0.00s)
> === RUN   TestLoopBreak
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa2730e0 A 0 false 2 134})
>     compiler.go:151: values: [1 0 2]
>     compiler.go:153: > 0: goja.enterFuncStashless({2 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadVal(1)
>     compiler.go:153: > 5: goja.storeStack(2)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadStack(2)
>     compiler.go:153: > 8: goja.loadVal(0)
>     compiler.go:153: > 9: goja._op_lt({})
>     compiler.go:153: > 10: goja.jne(10)
>     compiler.go:153: > 11: goja.jump(9)
>     compiler.go:153: > 12: goja.loadVal(2)
>     compiler.go:153: > 13: goja.storeStack(1)
>     compiler.go:153: > 14: goja._pop({})
>     compiler.go:153: > 15: goja.loadStack(2)
>     compiler.go:153: > 16: goja._inc({})
>     compiler.go:153: > 17: goja.storeStack(2)
>     compiler.go:153: > 18: goja._pop({})
>     compiler.go:153: > 19: goja.jump(-12)
>     compiler.go:153: > 20: goja.loadStack(1)
>     compiler.go:153: > 21: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja._loadUndef({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestLoopBreak (0.00s)
> === RUN   TestForLoopOptionalExpr
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa2734a0 A 0 false 2 115})
>     compiler.go:151: values: [1 2]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.jump(5)
>     compiler.go:153: > 5: goja.loadVal(1)
>     compiler.go:153: > 6: goja.storeStack(1)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja.jump(-4)
>     compiler.go:153: > 9: goja.loadStack(1)
>     compiler.go:153: > 10: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja._loadUndef({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestForLoopOptionalExpr (0.00s)
> === RUN   TestBlockBreak
>     compiler.go:151: values: [0 1 2 3]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.resolveVar1(rv)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.resolveVar1(rv)
>     compiler.go:153:  6: goja.loadVal(1)
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.resolveVar1(rv)
>     compiler.go:153:  10: goja.loadVal(2)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja.jump(5)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.resolveVar1(rv)
>     compiler.go:153:  15: goja.loadVal(3)
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._halt({})
>     compiler_test.go:27: stack size: 1
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestBlockBreak (0.00s)
> === RUN   TestTry
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa273b90 A 0 false 2 115})
>     compiler.go:151: values: [1 2 3 4]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.try({8 13 false})
>     compiler.go:153: > 5: goja.loadVal(1)
>     compiler.go:153: > 6: goja.storeStack(1)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja._halt({})
>     compiler.go:153: > 9: goja.jump(13)
>     compiler.go:153: > 10: <nil>(<nil>)
>     compiler.go:153: > 11: <nil>(<nil>)
>     compiler.go:153: > 12: goja.loadVal(2)
>     compiler.go:153: > 13: goja.storeStack(1)
>     compiler.go:153: > 14: goja._pop({})
>     compiler.go:153: > 15: goja._halt({})
>     compiler.go:153: > 16: goja.jump(6)
>     compiler.go:153: > 17: goja.loadVal(3)
>     compiler.go:153: > 18: goja.storeStack(1)
>     compiler.go:153: > 19: goja._pop({})
>     compiler.go:153: > 20: goja._halt({})
>     compiler.go:153: > 21: goja._retFinally({})
>     compiler.go:153: > 22: goja.loadStack(1)
>     compiler.go:153: > 23: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja._loadUndef({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestTry (0.00s)
> === RUN   TestTryCatch
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa332030 A 0 false 2 89})
>     compiler.go:151: values: [4]
>     compiler.go:153: > 0: goja.enterFuncStashless({2 0})
>     compiler.go:153: > 1: goja.try({5 0 false})
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._throw({})
>     compiler.go:153: > 4: goja._halt({})
>     compiler.go:153: > 5: goja.jump(7)
>     compiler.go:153: > 6: goja.storeStack(2)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja.loadStack(2)
>     compiler.go:153: > 9: goja.storeStack(1)
>     compiler.go:153: > 10: goja._pop({})
>     compiler.go:153: > 11: goja._halt({})
>     compiler.go:153: > 12: goja.loadStack(1)
>     compiler.go:153: > 13: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(rv)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja._loadUndef({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:27: stack size: 5
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestTryCatch (0.00s)
> === RUN   TestTryExceptionInCatch
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.bindName(rv)
>     compiler.go:153:  2: goja.resolveVar1(A)
>     compiler.go:153:  3: *goja.newFunc(&{0xa3323c0 A 0 false 2 91})
>     compiler.go:151: values: [4 5]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.try({7 0 false})
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._throw({})
>     compiler.go:153: > 4: goja._halt({})
>     compiler.go:153: > 5: goja.jump(6)
>     compiler.go:153: > 6: <nil>(<nil>)
>     compiler.go:153: > 7: <nil>(<nil>)
>     compiler.go:153: > 8: goja.loadVal(1)
>     compiler.go:153: > 9: goja._throw({})
>     compiler.go:153: > 10: goja._halt({})
>     compiler.go:153: > 11: goja.loadStack(1)
>     compiler.go:153: > 12: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.try({8 0 true})
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(A)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja._halt({})
>     compiler.go:153:  12: goja.jump(8)
>     compiler.go:153:  13: <nil>(<nil>)
>     compiler.go:153:  14: goja.enterCatch(e)
>     compiler.go:153:  15: goja.resolveVar1(rv)
>     compiler.go:153:  16: goja.getLocal(0)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja._halt({})
>     compiler.go:153:  20: goja._loadUndef({})
>     compiler.go:153:  21: goja._halt({})
>     compiler_test.go:27: stack size: 5
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestTryExceptionInCatch (0.00s)
> === RUN   TestTryContinueInFinally
>     compiler.go:151: values: [0 2 ex1 1]
>     compiler.go:153:  0: goja.bindName(c3)
>     compiler.go:153:  1: goja.bindName(fin3)
>     compiler.go:153:  2: goja.resolveVar1(c3)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(fin3)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(c3)
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja._op_lt({})
>     compiler.go:153:  13: goja.jne(29)
>     compiler.go:153:  14: goja.try({6 15 true})
>     compiler.go:153:  15: goja.loadVal(2)
>     compiler.go:153:  16: goja._throw({})
>     compiler.go:153:  17: goja._halt({})
>     compiler.go:153:  18: goja.jump(19)
>     compiler.go:153:  19: <nil>(<nil>)
>     compiler.go:153:  20: goja.enterCatch(er1)
>     compiler.go:153:  21: goja.resolveVar1(c3)
>     compiler.go:153:  22: goja._getValue({})
>     compiler.go:153:  23: goja.loadVal(3)
>     compiler.go:153:  24: goja._add({})
>     compiler.go:153:  25: goja._putValue({})
>     compiler.go:153:  26: goja._pop({})
>     compiler.go:153:  27: goja._halt({})
>     compiler.go:153:  28: goja.jump(9)
>     compiler.go:153:  29: goja.resolveVar1(fin3)
>     compiler.go:153:  30: goja.loadVal(3)
>     compiler.go:153:  31: goja._putValue({})
>     compiler.go:153:  32: goja._pop({})
>     compiler.go:153:  33: goja._halt({})
>     compiler.go:153:  34: goja.jump(-24)
>     compiler.go:153:  35: goja._halt({})
>     compiler.go:153:  36: goja._retFinally({})
>     compiler.go:153:  37: goja.resolveVar1(fin3)
>     compiler.go:153:  38: goja.loadVal(0)
>     compiler.go:153:  39: goja._putValue({})
>     compiler.go:153:  40: goja._pop({})
>     compiler.go:153:  41: goja.jump(-31)
>     compiler.go:153:  42: goja.getVar1(fin3)
>     compiler.go:153:  43: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 2
> --- PASS: TestTryContinueInFinally (0.00s)
> === RUN   TestCatchLexicalEnv
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa332b70 F 0 false 2 85})
>     compiler.go:151: values: [1]
>     compiler.go:153: > 0: goja.enterFuncStashless({2 0})
>     compiler.go:153: > 1: goja.try({5 0 false})
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._throw({})
>     compiler.go:153: > 4: goja._halt({})
>     compiler.go:153: > 5: goja.jump(7)
>     compiler.go:153: > 6: goja.storeStack(2)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja.loadStack(2)
>     compiler.go:153: > 9: goja.storeStack(1)
>     compiler.go:153: > 10: goja._pop({})
>     compiler.go:153: > 11: goja._halt({})
>     compiler.go:153: > 12: goja.loadStack(1)
>     compiler.go:153: > 13: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestCatchLexicalEnv (0.00s)
> === RUN   TestThrowType
>     compiler.go:151: values: [null object]
>     compiler.go:153:  0: goja.bindName(Exception)
>     compiler.go:153:  1: goja.bindName(A)
>     compiler.go:153:  2: goja.bindName(thrown)
>     compiler.go:153:  3: goja.bindName(rv)
>     compiler.go:153:  4: goja.resolveVar1(Exception)
>     compiler.go:153:  5: *goja.newFunc(&{0xa332f30 Exception 1 false 2 60})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja.loadStack(-1)
>     compiler.go:153: > 4: goja.setProp(message)
>     compiler.go:153: > 5: goja._pop({})
>     compiler.go:153: > 6: goja._loadUndef({})
>     compiler.go:153: > 7: goja._retStashless({})
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.resolveVar1(A)
>     compiler.go:153:  9: *goja.newFunc(&{0xa332f60 A 0 false 64 153})
>     compiler.go:151: values: [boo!]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.try({7 0 false})
>     compiler.go:153: > 2: goja.getVar1(Exception)
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._new(1)
>     compiler.go:153: > 5: goja._throw({})
>     compiler.go:153: > 6: goja._halt({})
>     compiler.go:153: > 7: goja.jump(7)
>     compiler.go:153: > 8: goja.storeStack(1)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadStack(1)
>     compiler.go:153: > 11: goja._halt({})
>     compiler.go:153: > 12: goja._retStashless({})
>     compiler.go:153: > 13: goja._halt({})
>     compiler.go:153: > 14: goja._loadUndef({})
>     compiler.go:153: > 15: goja._retStashless({})
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.resolveVar1(thrown)
>     compiler.go:153:  13: goja._loadUndef({})
>     compiler.go:153:  14: goja.getVar1Callee(A)
>     compiler.go:153:  15: goja.call(0)
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.resolveVar1(rv)
>     compiler.go:153:  19: goja.getVar1(thrown)
>     compiler.go:153:  20: goja.loadVal(0)
>     compiler.go:153:  21: goja._op_strict_neq({})
>     compiler.go:153:  22: goja.jneq1(6)
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja.getVar1Callee(thrown)
>     compiler.go:153:  25: goja._typeof({})
>     compiler.go:153:  26: goja.loadVal(1)
>     compiler.go:153:  27: goja._op_strict_eq({})
>     compiler.go:153:  28: goja.jneq1(6)
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.getVar1(thrown)
>     compiler.go:153:  31: goja.getProp(constructor)
>     compiler.go:153:  32: goja.getVar1(Exception)
>     compiler.go:153:  33: goja._op_strict_eq({})
>     compiler.go:153:  34: goja._putValue({})
>     compiler.go:153:  35: goja._pop({})
>     compiler.go:153:  36: goja._loadUndef({})
>     compiler.go:153:  37: goja._halt({})
>     compiler_test.go:27: stack size: 9
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestThrowType (0.00s)
> === RUN   TestThrowConstructorName
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(Exception)
>     compiler.go:153:  1: goja.bindName(A)
>     compiler.go:153:  2: goja.resolveVar1(Exception)
>     compiler.go:153:  3: *goja.newFunc(&{0xa333380 Exception 1 false 2 60})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja.loadStack(-1)
>     compiler.go:153: > 4: goja.setProp(message)
>     compiler.go:153: > 5: goja._pop({})
>     compiler.go:153: > 6: goja._loadUndef({})
>     compiler.go:153: > 7: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(A)
>     compiler.go:153:  7: *goja.newFunc(&{0xa3333b0 A 0 false 64 153})
>     compiler.go:151: values: [boo!]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.try({7 0 false})
>     compiler.go:153: > 2: goja.getVar1(Exception)
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._new(1)
>     compiler.go:153: > 5: goja._throw({})
>     compiler.go:153: > 6: goja._halt({})
>     compiler.go:153: > 7: goja.jump(7)
>     compiler.go:153: > 8: goja.storeStack(1)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadStack(1)
>     compiler.go:153: > 11: goja._halt({})
>     compiler.go:153: > 12: goja._retStashless({})
>     compiler.go:153: > 13: goja._halt({})
>     compiler.go:153: > 14: goja._loadUndef({})
>     compiler.go:153: > 15: goja._retStashless({})
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja._loadUndef({})
>     compiler.go:153:  11: goja.getVar1Callee(A)
>     compiler.go:153:  12: goja.call(0)
>     compiler.go:153:  13: goja.getProp(constructor)
>     compiler.go:153:  14: goja.getProp(name)
>     compiler.go:153:  15: goja._halt({})
>     compiler_test.go:60: stack size: 9
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestThrowConstructorName (0.00s)
> === RUN   TestThrowNativeConstructorName
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.resolveVar1(A)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3337a0 A 0 false 4 87})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.try({6 0 false})
>     compiler.go:153: > 2: goja.getVar1(TypeError)
>     compiler.go:153: > 3: goja._new(0)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._halt({})
>     compiler.go:153: > 6: goja.jump(7)
>     compiler.go:153: > 7: goja.storeStack(1)
>     compiler.go:153: > 8: goja._pop({})
>     compiler.go:153: > 9: goja.loadStack(1)
>     compiler.go:153: > 10: goja._halt({})
>     compiler.go:153: > 11: goja._retStashless({})
>     compiler.go:153: > 12: goja._halt({})
>     compiler.go:153: > 13: goja._loadUndef({})
>     compiler.go:153: > 14: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(A)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja.getProp(constructor)
>     compiler.go:153:  9: goja.getProp(name)
>     compiler.go:153:  10: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestThrowNativeConstructorName (0.00s)
> === RUN   TestEmptyTryNoCatch
>     compiler.go:151: values: [false true]
>     compiler.go:153:  0: goja.bindName(called)
>     compiler.go:153:  1: goja.resolveVar1(called)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.try({0 4 true})
>     compiler.go:153:  6: goja._halt({})
>     compiler.go:153:  7: goja.jump(8)
>     compiler.go:153:  8: goja.jump(7)
>     compiler.go:153:  9: goja.resolveVar1(called)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja._halt({})
>     compiler.go:153:  14: goja._retFinally({})
>     compiler.go:153:  15: goja.getVar1(called)
>     compiler.go:153:  16: goja._halt({})
>     compiler_test.go:60: stack size: 1
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestEmptyTryNoCatch (0.00s)
> === RUN   TestIfElse
>     compiler.go:151: values: [passed failed]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.getVar1(rv)
>     compiler.go:153:  2: goja.getVar1(undefined)
>     compiler.go:153:  3: goja._op_strict_eq({})
>     compiler.go:153:  4: goja.jne(5)
>     compiler.go:153:  5: goja.resolveVar1(rv)
>     compiler.go:153:  6: goja.loadVal(0)
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja.jump(4)
>     compiler.go:153:  9: goja.resolveVar1(rv)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._halt({})
>     compiler_test.go:27: stack size: 2
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestIfElse (0.00s)
> === RUN   TestIfElseRetVal
>     compiler.go:151: values: [passed failed]
>     compiler.go:153:  0: goja.bindName(x)
>     compiler.go:153:  1: goja.getVar1(x)
>     compiler.go:153:  2: goja.getVar1(undefined)
>     compiler.go:153:  3: goja._op_strict_eq({})
>     compiler.go:153:  4: goja.jne(3)
>     compiler.go:153:  5: goja.loadVal(0)
>     compiler.go:153:  6: goja.jump(2)
>     compiler.go:153:  7: goja.loadVal(1)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestIfElseRetVal (0.00s)
> === RUN   TestBreakOutOfTry
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.resolveVar1(A)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3be5a0 A 0 false 2 146})
>     compiler.go:151: values: [1 2 3 4]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.try({8 13 false})
>     compiler.go:153: > 5: goja.loadVal(1)
>     compiler.go:153: > 6: goja.storeStack(1)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja._halt({})
>     compiler.go:153: > 9: goja.jump(15)
>     compiler.go:153: > 10: <nil>(<nil>)
>     compiler.go:153: > 11: <nil>(<nil>)
>     compiler.go:153: > 12: goja.loadVal(2)
>     compiler.go:153: > 13: goja.storeStack(1)
>     compiler.go:153: > 14: goja._pop({})
>     compiler.go:153: > 15: goja._halt({})
>     compiler.go:153: > 16: goja.jump(8)
>     compiler.go:153: > 17: goja._halt({})
>     compiler.go:153: > 18: goja.jump(6)
>     compiler.go:153: > 19: goja.loadVal(3)
>     compiler.go:153: > 20: goja.storeStack(1)
>     compiler.go:153: > 21: goja._pop({})
>     compiler.go:153: > 22: goja._halt({})
>     compiler.go:153: > 23: goja._retFinally({})
>     compiler.go:153: > 24: goja.loadStack(1)
>     compiler.go:153: > 25: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(A)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestBreakOutOfTry (0.00s)
> === RUN   TestReturnOutOfTryNested
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.resolveVar1(A)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3be990 A 0 false 2 122})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: *goja.newFunc(&{0xa3be9c0 nested 0 false 19 100})
>     compiler.go:151: values: [1 2]
>     compiler.go:153: >> 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: >> 1: goja.try({8 0 false})
>     compiler.go:153: >> 2: goja.loadVal(0)
>     compiler.go:153: >> 3: goja._halt({})
>     compiler.go:153: >> 4: goja._retStashless({})
>     compiler.go:153: >> 5: goja._halt({})
>     compiler.go:153: >> 6: goja.jump(7)
>     compiler.go:153: >> 7: <nil>(<nil>)
>     compiler.go:153: >> 8: <nil>(<nil>)
>     compiler.go:153: >> 9: goja.loadVal(1)
>     compiler.go:153: >> 10: goja._halt({})
>     compiler.go:153: >> 11: goja._retStashless({})
>     compiler.go:153: >> 12: goja._halt({})
>     compiler.go:153: >> 13: goja._loadUndef({})
>     compiler.go:153: >> 14: goja._retStashless({})
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja._loadUndef({})
>     compiler.go:153: > 5: goja.loadStack(1)
>     compiler.go:153: > 6: goja.call(0)
>     compiler.go:153: > 7: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(A)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestReturnOutOfTryNested (0.00s)
> === RUN   TestContinueLoop
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.resolveVar1(A)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3bed80 A 0 false 2 123})
>     compiler.go:151: values: [0 5 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({2 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadVal(0)
>     compiler.go:153: > 5: goja.storeStack(2)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadStack(2)
>     compiler.go:153: > 8: goja.loadVal(1)
>     compiler.go:153: > 9: goja._op_lt({})
>     compiler.go:153: > 10: goja.jne(15)
>     compiler.go:153: > 11: goja.loadStack(2)
>     compiler.go:153: > 12: goja.loadVal(2)
>     compiler.go:153: > 13: goja._op_gt({})
>     compiler.go:153: > 14: goja.jne(2)
>     compiler.go:153: > 15: goja.jump(5)
>     compiler.go:153: > 16: goja.loadStack(1)
>     compiler.go:153: > 17: goja._inc({})
>     compiler.go:153: > 18: goja.storeStack(1)
>     compiler.go:153: > 19: goja._pop({})
>     compiler.go:153: > 20: goja.loadStack(2)
>     compiler.go:153: > 21: goja._inc({})
>     compiler.go:153: > 22: goja.storeStack(2)
>     compiler.go:153: > 23: goja._pop({})
>     compiler.go:153: > 24: goja.jump(-17)
>     compiler.go:153: > 25: goja.loadStack(1)
>     compiler.go:153: > 26: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(A)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestContinueLoop (0.00s)
> === RUN   TestContinueOutOfTry
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(A)
>     compiler.go:153:  1: goja.resolveVar1(A)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3bf140 A 0 false 2 171})
>     compiler.go:151: values: [0 5 1 99]
>     compiler.go:153: > 0: goja.enterFuncStashless({2 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadVal(0)
>     compiler.go:153: > 5: goja.storeStack(2)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadStack(2)
>     compiler.go:153: > 8: goja.loadVal(1)
>     compiler.go:153: > 9: goja._op_lt({})
>     compiler.go:153: > 10: goja.jne(25)
>     compiler.go:153: > 11: goja.try({11 0 false})
>     compiler.go:153: > 12: goja.loadStack(2)
>     compiler.go:153: > 13: goja.loadVal(2)
>     compiler.go:153: > 14: goja._op_gt({})
>     compiler.go:153: > 15: goja.jne(3)
>     compiler.go:153: > 16: goja._halt({})
>     compiler.go:153: > 17: goja.jump(13)
>     compiler.go:153: > 18: goja._halt({})
>     compiler.go:153: > 19: goja.jump(7)
>     compiler.go:153: > 20: <nil>(<nil>)
>     compiler.go:153: > 21: <nil>(<nil>)
>     compiler.go:153: > 22: goja.loadVal(3)
>     compiler.go:153: > 23: goja._halt({})
>     compiler.go:153: > 24: goja._retStashless({})
>     compiler.go:153: > 25: goja._halt({})
>     compiler.go:153: > 26: goja.loadStack(1)
>     compiler.go:153: > 27: goja._inc({})
>     compiler.go:153: > 28: goja.storeStack(1)
>     compiler.go:153: > 29: goja._pop({})
>     compiler.go:153: > 30: goja.loadStack(2)
>     compiler.go:153: > 31: goja._inc({})
>     compiler.go:153: > 32: goja.storeStack(2)
>     compiler.go:153: > 33: goja._pop({})
>     compiler.go:153: > 34: goja.jump(-27)
>     compiler.go:153: > 35: goja.loadStack(1)
>     compiler.go:153: > 36: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(A)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestContinueOutOfTry (0.00s)
> === RUN   TestThisInCatch
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(O)
>     compiler.go:153:  1: goja.bindName(f)
>     compiler.go:153:  2: goja.bindName(o)
>     compiler.go:153:  3: goja.resolveVar1(O)
>     compiler.go:153:  4: *goja.newFunc(&{0xa3bf530 O 0 false 2 85})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.try({7 0 false})
>     compiler.go:153: > 3: goja._loadUndef({})
>     compiler.go:153: > 4: goja.getVar1Callee(f)
>     compiler.go:153: > 5: goja.call(0)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja._halt({})
>     compiler.go:153: > 8: goja.jump(11)
>     compiler.go:153: > 9: goja.storeStack(1)
>     compiler.go:153: > 10: goja._pop({})
>     compiler.go:153: > 11: goja.loadStack(0)
>     compiler.go:153: > 12: goja.loadStack(1)
>     compiler.go:153: > 13: goja._dup({})
>     compiler.go:153: > 14: goja.getPropCallee(toString)
>     compiler.go:153: > 15: goja.call(0)
>     compiler.go:153: > 16: goja.setProp(value)
>     compiler.go:153: > 17: goja._pop({})
>     compiler.go:153: > 18: goja._halt({})
>     compiler.go:153: > 19: goja._loadUndef({})
>     compiler.go:153: > 20: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(f)
>     compiler.go:153:  8: *goja.newFunc(&{0xa3bf590 f 0 false 88 119})
>     compiler.go:151: values: [ex]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja._throw({})
>     compiler.go:153: > 3: goja._loadUndef({})
>     compiler.go:153: > 4: goja._retStashless({})
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.resolveVar1(o)
>     compiler.go:153:  12: goja.getVar1(O)
>     compiler.go:153:  13: goja._new(0)
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja.getVar1(o)
>     compiler.go:153:  17: goja.getProp(value)
>     compiler.go:153:  18: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestThisInCatch (0.00s)
> === RUN   TestNestedTry
>     compiler.go:151: values: [ex1 ex2]
>     compiler.go:153:  0: goja.bindName(ex)
>     compiler.go:153:  1: goja.try({6 0 true})
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._throw({})
>     compiler.go:153:  4: goja._halt({})
>     compiler.go:153:  5: goja.jump(16)
>     compiler.go:153:  6: <nil>(<nil>)
>     compiler.go:153:  7: goja.enterCatch(er1)
>     compiler.go:153:  8: goja.try({6 0 true})
>     compiler.go:153:  9: goja.loadVal(1)
>     compiler.go:153:  10: goja._throw({})
>     compiler.go:153:  11: goja._halt({})
>     compiler.go:153:  12: goja.jump(8)
>     compiler.go:153:  13: <nil>(<nil>)
>     compiler.go:153:  14: goja.enterCatch(er1)
>     compiler.go:153:  15: goja.resolveVar1(ex)
>     compiler.go:153:  16: goja.getLocal(0)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja._halt({})
>     compiler.go:153:  20: goja._halt({})
>     compiler.go:153:  21: goja.getVar1(ex)
>     compiler.go:153:  22: goja._halt({})
>     compiler_test.go:60: stack size: 1
>     compiler_test.go:61: stashAllocs: 2
> --- PASS: TestNestedTry (0.00s)
> === RUN   TestNestedTryInStashlessFunc
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3be720 f 0 false 2 199})
>     compiler.go:151: values: [ex1 ex2]
>     compiler.go:153: > 0: goja.enterFuncStashless({4 0})
>     compiler.go:153: > 1: goja.try({5 0 false})
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._throw({})
>     compiler.go:153: > 4: goja._halt({})
>     compiler.go:153: > 5: goja.jump(18)
>     compiler.go:153: > 6: goja.storeStack(4)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja.try({5 0 false})
>     compiler.go:153: > 9: goja.loadVal(1)
>     compiler.go:153: > 10: goja._throw({})
>     compiler.go:153: > 11: goja._halt({})
>     compiler.go:153: > 12: goja.jump(7)
>     compiler.go:153: > 13: goja.storeStack(3)
>     compiler.go:153: > 14: goja._pop({})
>     compiler.go:153: > 15: goja.loadStack(3)
>     compiler.go:153: > 16: goja.storeStack(2)
>     compiler.go:153: > 17: goja._pop({})
>     compiler.go:153: > 18: goja._halt({})
>     compiler.go:153: > 19: goja.loadStack(4)
>     compiler.go:153: > 20: goja.storeStack(1)
>     compiler.go:153: > 21: goja._pop({})
>     compiler.go:153: > 22: goja._halt({})
>     compiler.go:153: > 23: goja.loadStack(1)
>     compiler.go:153: > 24: goja.loadVal(0)
>     compiler.go:153: > 25: goja._op_eq({})
>     compiler.go:153: > 26: goja.jneq1(5)
>     compiler.go:153: > 27: goja._pop({})
>     compiler.go:153: > 28: goja.loadStack(2)
>     compiler.go:153: > 29: goja.loadVal(1)
>     compiler.go:153: > 30: goja._op_eq({})
>     compiler.go:153: > 31: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 8
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestNestedTryInStashlessFunc (0.00s)
> === RUN   TestEvalInCatchInStashlessFunc
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3beae0 f 0 false 2 109})
>     compiler.go:151: values: [ex1 ex = er1]
>     compiler.go:153: > 0: goja.enterFunc(0)
>     compiler.go:153: > 1: goja.bindName(ex)
>     compiler.go:153: > 2: goja.try({6 0 true})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._halt({})
>     compiler.go:153: > 6: goja.jump(9)
>     compiler.go:153: > 7: <nil>(<nil>)
>     compiler.go:153: > 8: goja.enterCatch(er1)
>     compiler.go:153: > 9: goja._loadUndef({})
>     compiler.go:153: > 10: goja.getVar1Callee(eval)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja.callEval(1)
>     compiler.go:153: > 13: goja._pop({})
>     compiler.go:153: > 14: goja._halt({})
>     compiler.go:153: > 15: goja.getVar1(ex)
>     compiler.go:153: > 16: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 2
> --- PASS: TestEvalInCatchInStashlessFunc (0.00s)
> === RUN   TestCatchClosureInStashlessFunc
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3bef90 f 0 false 2 119})
>     compiler.go:151: values: [ex1]
>     compiler.go:153: > 0: goja.enterFunc(0)
>     compiler.go:153: > 1: goja.bindName(ex)
>     compiler.go:153: > 2: goja.try({6 0 true})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._halt({})
>     compiler.go:153: > 6: goja.jump(7)
>     compiler.go:153: > 7: <nil>(<nil>)
>     compiler.go:153: > 8: goja.enterCatch(er1)
>     compiler.go:153: > 9: *goja.newFunc(&{0xa3beff0  0 false 79 112})
>     compiler.go:151: values: []
>     compiler.go:153: >> 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: >> 1: goja.getLocal(0)
>     compiler.go:153: >> 2: goja._retStashless({})
>     compiler.go:153: > 10: goja._halt({})
>     compiler.go:153: > 11: goja._ret({})
>     compiler.go:153: > 12: goja._halt({})
>     compiler.go:153: > 13: goja._loadUndef({})
>     compiler.go:153: > 14: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja._loadUndef({})
>     compiler.go:153:  7: goja.getVar1Callee(f)
>     compiler.go:153:  8: goja.call(0)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 2
> --- PASS: TestCatchClosureInStashlessFunc (0.00s)
> === RUN   TestCatchVarNotUsedInStashlessFunc
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3bf3e0 f 0 false 2 102})
>     compiler.go:151: values: [ex1 ok]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.try({7 0 false})
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._throw({})
>     compiler.go:153: > 4: goja._halt({})
>     compiler.go:153: > 5: goja.jump(7)
>     compiler.go:153: > 6: <nil>(<nil>)
>     compiler.go:153: > 7: <nil>(<nil>)
>     compiler.go:153: > 8: goja.loadVal(1)
>     compiler.go:153: > 9: goja.storeStack(1)
>     compiler.go:153: > 10: goja._pop({})
>     compiler.go:153: > 11: goja._halt({})
>     compiler.go:153: > 12: goja.loadStack(1)
>     compiler.go:153: > 13: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestCatchVarNotUsedInStashlessFunc (0.00s)
> === RUN   TestNew
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(O)
>     compiler.go:153:  1: goja.resolveVar1(O)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3bf890 O 0 false 2 34})
>     compiler.go:151: values: [42]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.loadStack(0)
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja.setProp(x)
>     compiler.go:153: > 5: goja._pop({})
>     compiler.go:153: > 6: goja._loadUndef({})
>     compiler.go:153: > 7: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.getVar1(O)
>     compiler.go:153:  6: goja._new(0)
>     compiler.go:153:  7: goja.getProp(x)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestNew (0.00s)
> === RUN   TestStringConstructor
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa3bfc80 F 0 false 2 63})
>     compiler.go:151: values: [33   cows]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._loadUndef({})
>     compiler.go:153: > 2: goja.getVar1Callee(String)
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja.call(1)
>     compiler.go:153: > 5: goja.loadVal(1)
>     compiler.go:153: > 6: goja._add({})
>     compiler.go:153: > 7: goja._loadUndef({})
>     compiler.go:153: > 8: goja.getVar1Callee(String)
>     compiler.go:153: > 9: goja.loadVal(2)
>     compiler.go:153: > 10: goja.call(1)
>     compiler.go:153: > 11: goja._add({})
>     compiler.go:153: > 12: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestStringConstructor (0.00s)
> === RUN   TestError
>     compiler.go:151: values: [test Error]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.bindName(e)
>     compiler.go:153:  2: goja.bindName(rv)
>     compiler.go:153:  3: goja.resolveVar1(F)
>     compiler.go:153:  4: *goja.newFunc(&{0xa180120 F 0 false 2 47})
>     compiler.go:151: values: [test]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.getVar1(Error)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(e)
>     compiler.go:153:  8: goja._loadUndef({})
>     compiler.go:153:  9: goja.getVar1Callee(F)
>     compiler.go:153:  10: goja.call(0)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.resolveVar1(rv)
>     compiler.go:153:  14: goja.getVar1(e)
>     compiler.go:153:  15: goja.getProp(message)
>     compiler.go:153:  16: goja.loadVal(0)
>     compiler.go:153:  17: goja._op_eq({})
>     compiler.go:153:  18: goja.jneq1(6)
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.getVar1(e)
>     compiler.go:153:  21: goja.getProp(name)
>     compiler.go:153:  22: goja.loadVal(1)
>     compiler.go:153:  23: goja._op_eq({})
>     compiler.go:153:  24: goja._putValue({})
>     compiler.go:153:  25: goja._pop({})
>     compiler.go:153:  26: goja._loadUndef({})
>     compiler.go:153:  27: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestError (0.00s)
> === RUN   TestTypeError
>     compiler.go:151: values: [test TypeError]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.bindName(e)
>     compiler.go:153:  2: goja.resolveVar1(F)
>     compiler.go:153:  3: *goja.newFunc(&{0xa1804e0 F 0 false 2 51})
>     compiler.go:151: values: [test]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.getVar1(TypeError)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(e)
>     compiler.go:153:  7: goja._loadUndef({})
>     compiler.go:153:  8: goja.getVar1Callee(F)
>     compiler.go:153:  9: goja.call(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.getVar1(e)
>     compiler.go:153:  13: goja.getProp(message)
>     compiler.go:153:  14: goja.loadVal(0)
>     compiler.go:153:  15: goja._op_eq({})
>     compiler.go:153:  16: goja.jneq1(6)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.getVar1(e)
>     compiler.go:153:  19: goja.getProp(name)
>     compiler.go:153:  20: goja.loadVal(1)
>     compiler.go:153:  21: goja._op_eq({})
>     compiler.go:153:  22: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestTypeError (0.00s)
> === RUN   TestToString
>     compiler.go:151: values: [42  ### ]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(o1)
>     compiler.go:153:  2: goja.resolveVar1(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja.setProp1(x)
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.getVar1(o)
>     compiler.go:153:  9: *goja.newFunc(&{0xa1808a0  0 false 33 73})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja._loadUndef({})
>     compiler.go:153: > 3: goja.getVar1Callee(String)
>     compiler.go:153: > 4: goja.loadStack(0)
>     compiler.go:153: > 5: goja.getProp(x)
>     compiler.go:153: > 6: goja.call(1)
>     compiler.go:153: > 7: goja._retStashless({})
>     compiler.go:153:  10: goja.setProp(toString)
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.resolveVar1(o1)
>     compiler.go:153:  13: goja._newObject({})
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja.getVar1(o)
>     compiler.go:153:  17: goja._dup({})
>     compiler.go:153:  18: goja.getPropCallee(toString)
>     compiler.go:153:  19: goja.call(0)
>     compiler.go:153:  20: goja.loadVal(1)
>     compiler.go:153:  21: goja._add({})
>     compiler.go:153:  22: goja.getVar1(o1)
>     compiler.go:153:  23: goja._dup({})
>     compiler.go:153:  24: goja.getPropCallee(toString)
>     compiler.go:153:  25: goja.call(0)
>     compiler.go:153:  26: goja._add({})
>     compiler.go:153:  27: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestToString (0.00s)
> === RUN   TestEvalOrder
>     compiler.go:151: values: [0 ]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(trace)
>     compiler.go:153:  2: goja.bindName(F1)
>     compiler.go:153:  3: goja.bindName(F2)
>     compiler.go:153:  4: goja.bindName(F3)
>     compiler.go:153:  5: goja.bindName(rv)
>     compiler.go:153:  6: goja.resolveVar1(F1)
>     compiler.go:153:  7: *goja.newFunc(&{0xa180d80 F1 0 false 64 121})
>     compiler.go:151: values: [First!]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.getVar1(o)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.resolveVar1(F2)
>     compiler.go:153:  11: *goja.newFunc(&{0xa180db0 F2 0 false 124 184})
>     compiler.go:151: values: [Second! f]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadVal(1)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.resolveVar1(F3)
>     compiler.go:153:  15: *goja.newFunc(&{0xa180de0 F3 0 false 187 229})
>     compiler.go:151: values: [Third!]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja._loadUndef({})
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.resolveVar1(o)
>     compiler.go:153:  19: goja._newObject({})
>     compiler.go:153:  20: *goja.newFunc(&{0xa180e10  0 false 14 36})
>     compiler.go:151: values: [42]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  21: goja.setProp1(f)
>     compiler.go:153:  22: goja.loadVal(0)
>     compiler.go:153:  23: goja.setProp1(x)
>     compiler.go:153:  24: goja._putValue({})
>     compiler.go:153:  25: goja._pop({})
>     compiler.go:153:  26: goja.resolveVar1(trace)
>     compiler.go:153:  27: goja.loadVal(1)
>     compiler.go:153:  28: goja._putValue({})
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.resolveVar1(rv)
>     compiler.go:153:  31: goja._loadUndef({})
>     compiler.go:153:  32: goja.getVar1Callee(F1)
>     compiler.go:153:  33: goja.call(0)
>     compiler.go:153:  34: goja._dup({})
>     compiler.go:153:  35: goja._loadUndef({})
>     compiler.go:153:  36: goja.getVar1Callee(F2)
>     compiler.go:153:  37: goja.call(0)
>     compiler.go:153:  38: goja._getElemCallee({})
>     compiler.go:153:  39: goja._loadUndef({})
>     compiler.go:153:  40: goja.getVar1Callee(F3)
>     compiler.go:153:  41: goja.call(0)
>     compiler.go:153:  42: goja.call(1)
>     compiler.go:153:  43: goja._putValue({})
>     compiler.go:153:  44: goja._pop({})
>     compiler.go:153:  45: goja.resolveVar1(rv)
>     compiler.go:153:  46: goja._loadUndef({})
>     compiler.go:153:  47: goja._getValue({})
>     compiler.go:153:  48: goja.getVar1(trace)
>     compiler.go:153:  49: goja._add({})
>     compiler.go:153:  50: goja.rdupN(1)
>     compiler.go:153:  51: goja._putValue({})
>     compiler.go:153:  52: goja._pop({})
>     compiler.go:153:  53: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestEvalOrder (0.00s)
> === RUN   TestPostfixIncBracket
>     compiler.go:151: values: [42 ]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(trace)
>     compiler.go:153:  2: goja.bindName(F1)
>     compiler.go:153:  3: goja.bindName(F2)
>     compiler.go:153:  4: goja.bindName(rv)
>     compiler.go:153:  5: goja.resolveVar1(F1)
>     compiler.go:153:  6: *goja.newFunc(&{0xa181200 F1 0 false 38 95})
>     compiler.go:151: values: [First!]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.getVar1(o)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.resolveVar1(F2)
>     compiler.go:153:  10: *goja.newFunc(&{0xa181230 F2 0 false 98 158})
>     compiler.go:151: values: [Second! x]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadVal(1)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.resolveVar1(o)
>     compiler.go:153:  14: goja._newObject({})
>     compiler.go:153:  15: goja.loadVal(0)
>     compiler.go:153:  16: goja.setProp1(x)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.resolveVar1(trace)
>     compiler.go:153:  20: goja.loadVal(1)
>     compiler.go:153:  21: goja._putValue({})
>     compiler.go:153:  22: goja._pop({})
>     compiler.go:153:  23: goja.resolveVar1(rv)
>     compiler.go:153:  24: goja._loadUndef({})
>     compiler.go:153:  25: goja._loadUndef({})
>     compiler.go:153:  26: goja.getVar1Callee(F1)
>     compiler.go:153:  27: goja.call(0)
>     compiler.go:153:  28: goja._loadUndef({})
>     compiler.go:153:  29: goja.getVar1Callee(F2)
>     compiler.go:153:  30: goja.call(0)
>     compiler.go:153:  31: goja.dupN(1)
>     compiler.go:153:  32: goja.dupN(1)
>     compiler.go:153:  33: goja._getElem({})
>     compiler.go:153:  34: goja._toNumber({})
>     compiler.go:153:  35: goja.rdupN(3)
>     compiler.go:153:  36: goja._inc({})
>     compiler.go:153:  37: goja._setElem({})
>     compiler.go:153:  38: goja._pop({})
>     compiler.go:153:  39: goja._putValue({})
>     compiler.go:153:  40: goja._pop({})
>     compiler.go:153:  41: goja.resolveVar1(rv)
>     compiler.go:153:  42: goja._loadUndef({})
>     compiler.go:153:  43: goja._getValue({})
>     compiler.go:153:  44: goja.getVar1(trace)
>     compiler.go:153:  45: goja.getVar1(o)
>     compiler.go:153:  46: goja.getProp(x)
>     compiler.go:153:  47: goja._add({})
>     compiler.go:153:  48: goja._add({})
>     compiler.go:153:  49: goja.rdupN(1)
>     compiler.go:153:  50: goja._putValue({})
>     compiler.go:153:  51: goja._pop({})
>     compiler.go:153:  52: goja._halt({})
>     compiler_test.go:27: stack size: 6
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestPostfixIncBracket (0.00s)
> === RUN   TestPostfixIncDot
>     compiler.go:151: values: [42 ]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(trace)
>     compiler.go:153:  2: goja.bindName(F1)
>     compiler.go:153:  3: goja.bindName(rv)
>     compiler.go:153:  4: goja.resolveVar1(F1)
>     compiler.go:153:  5: *goja.newFunc(&{0xa1815f0 F1 0 false 38 95})
>     compiler.go:151: values: [First!]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.getVar1(o)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.resolveVar1(o)
>     compiler.go:153:  9: goja._newObject({})
>     compiler.go:153:  10: goja.loadVal(0)
>     compiler.go:153:  11: goja.setProp1(x)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.resolveVar1(trace)
>     compiler.go:153:  15: goja.loadVal(1)
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.resolveVar1(rv)
>     compiler.go:153:  19: goja._loadUndef({})
>     compiler.go:153:  20: goja._loadUndef({})
>     compiler.go:153:  21: goja.getVar1Callee(F1)
>     compiler.go:153:  22: goja.call(0)
>     compiler.go:153:  23: goja._dup({})
>     compiler.go:153:  24: goja.getProp(x)
>     compiler.go:153:  25: goja._toNumber({})
>     compiler.go:153:  26: goja.rdupN(2)
>     compiler.go:153:  27: goja._inc({})
>     compiler.go:153:  28: goja.setProp(x)
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja._putValue({})
>     compiler.go:153:  31: goja._pop({})
>     compiler.go:153:  32: goja.resolveVar1(rv)
>     compiler.go:153:  33: goja._loadUndef({})
>     compiler.go:153:  34: goja._getValue({})
>     compiler.go:153:  35: goja.getVar1(trace)
>     compiler.go:153:  36: goja.getVar1(o)
>     compiler.go:153:  37: goja.getProp(x)
>     compiler.go:153:  38: goja._add({})
>     compiler.go:153:  39: goja._add({})
>     compiler.go:153:  40: goja.rdupN(1)
>     compiler.go:153:  41: goja._putValue({})
>     compiler.go:153:  42: goja._pop({})
>     compiler.go:153:  43: goja._halt({})
>     compiler_test.go:27: stack size: 5
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestPostfixIncDot (0.00s)
> === RUN   TestPrefixIncBracket
>     compiler.go:151: values: [42 ]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(trace)
>     compiler.go:153:  2: goja.bindName(F1)
>     compiler.go:153:  3: goja.bindName(F2)
>     compiler.go:153:  4: goja.bindName(rv)
>     compiler.go:153:  5: goja.resolveVar1(F1)
>     compiler.go:153:  6: *goja.newFunc(&{0xa1819e0 F1 0 false 38 95})
>     compiler.go:151: values: [First!]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.getVar1(o)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.resolveVar1(F2)
>     compiler.go:153:  10: *goja.newFunc(&{0xa181a10 F2 0 false 98 158})
>     compiler.go:151: values: [Second! x]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadVal(1)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.resolveVar1(o)
>     compiler.go:153:  14: goja._newObject({})
>     compiler.go:153:  15: goja.loadVal(0)
>     compiler.go:153:  16: goja.setProp1(x)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.resolveVar1(trace)
>     compiler.go:153:  20: goja.loadVal(1)
>     compiler.go:153:  21: goja._putValue({})
>     compiler.go:153:  22: goja._pop({})
>     compiler.go:153:  23: goja.resolveVar1(rv)
>     compiler.go:153:  24: goja._loadUndef({})
>     compiler.go:153:  25: goja.getVar1Callee(F1)
>     compiler.go:153:  26: goja.call(0)
>     compiler.go:153:  27: goja._loadUndef({})
>     compiler.go:153:  28: goja.getVar1Callee(F2)
>     compiler.go:153:  29: goja.call(0)
>     compiler.go:153:  30: goja.dupN(1)
>     compiler.go:153:  31: goja.dupN(1)
>     compiler.go:153:  32: goja._getElem({})
>     compiler.go:153:  33: goja._toNumber({})
>     compiler.go:153:  34: goja._inc({})
>     compiler.go:153:  35: goja._setElem({})
>     compiler.go:153:  36: goja._putValue({})
>     compiler.go:153:  37: goja._pop({})
>     compiler.go:153:  38: goja.resolveVar1(rv)
>     compiler.go:153:  39: goja._loadUndef({})
>     compiler.go:153:  40: goja._getValue({})
>     compiler.go:153:  41: goja.getVar1(trace)
>     compiler.go:153:  42: goja.getVar1(o)
>     compiler.go:153:  43: goja.getProp(x)
>     compiler.go:153:  44: goja._add({})
>     compiler.go:153:  45: goja._add({})
>     compiler.go:153:  46: goja.rdupN(1)
>     compiler.go:153:  47: goja._putValue({})
>     compiler.go:153:  48: goja._pop({})
>     compiler.go:153:  49: goja._halt({})
>     compiler_test.go:27: stack size: 5
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestPrefixIncBracket (0.00s)
> === RUN   TestPrefixIncDot
>     compiler.go:151: values: [42 ]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(trace)
>     compiler.go:153:  2: goja.bindName(F1)
>     compiler.go:153:  3: goja.bindName(rv)
>     compiler.go:153:  4: goja.resolveVar1(F1)
>     compiler.go:153:  5: *goja.newFunc(&{0xa181dd0 F1 0 false 38 95})
>     compiler.go:151: values: [First!]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.getVar1(o)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.resolveVar1(o)
>     compiler.go:153:  9: goja._newObject({})
>     compiler.go:153:  10: goja.loadVal(0)
>     compiler.go:153:  11: goja.setProp1(x)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.resolveVar1(trace)
>     compiler.go:153:  15: goja.loadVal(1)
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.resolveVar1(rv)
>     compiler.go:153:  19: goja._loadUndef({})
>     compiler.go:153:  20: goja.getVar1Callee(F1)
>     compiler.go:153:  21: goja.call(0)
>     compiler.go:153:  22: goja._dup({})
>     compiler.go:153:  23: goja.getProp(x)
>     compiler.go:153:  24: goja._toNumber({})
>     compiler.go:153:  25: goja._inc({})
>     compiler.go:153:  26: goja.setProp(x)
>     compiler.go:153:  27: goja._putValue({})
>     compiler.go:153:  28: goja._pop({})
>     compiler.go:153:  29: goja.resolveVar1(rv)
>     compiler.go:153:  30: goja._loadUndef({})
>     compiler.go:153:  31: goja._getValue({})
>     compiler.go:153:  32: goja.getVar1(trace)
>     compiler.go:153:  33: goja.getVar1(o)
>     compiler.go:153:  34: goja.getProp(x)
>     compiler.go:153:  35: goja._add({})
>     compiler.go:153:  36: goja._add({})
>     compiler.go:153:  37: goja.rdupN(1)
>     compiler.go:153:  38: goja._putValue({})
>     compiler.go:153:  39: goja._pop({})
>     compiler.go:153:  40: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 0
> --- PASS: TestPrefixIncDot (0.00s)
> === RUN   TestPostDecObj
>     compiler.go:151: values: [false 1 true]
>     compiler.go:153:  0: goja.bindName(object)
>     compiler.go:153:  1: goja.bindName(y)
>     compiler.go:153:  2: goja.bindName(ok)
>     compiler.go:153:  3: goja.resolveVar1(object)
>     compiler.go:153:  4: goja._newObject({})
>     compiler.go:153:  5: *goja.newFunc(&{0xa01a660  0 false 25 46})
>     compiler.go:151: values: [1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  6: goja.setProp1(valueOf)
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.resolveVar1(y)
>     compiler.go:153:  10: goja.resolveVar1(object)
>     compiler.go:153:  11: goja._loadUndef({})
>     compiler.go:153:  12: goja._getValue({})
>     compiler.go:153:  13: goja._toNumber({})
>     compiler.go:153:  14: goja.rdupN(1)
>     compiler.go:153:  15: goja._dec({})
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.resolveVar1(ok)
>     compiler.go:153:  21: goja.loadVal(0)
>     compiler.go:153:  22: goja._putValue({})
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja.getVar1(y)
>     compiler.go:153:  25: goja.loadVal(1)
>     compiler.go:153:  26: goja._op_strict_eq({})
>     compiler.go:153:  27: goja.jne(5)
>     compiler.go:153:  28: goja.resolveVar1(ok)
>     compiler.go:153:  29: goja.loadVal(2)
>     compiler.go:153:  30: goja._putValue({})
>     compiler.go:153:  31: goja._pop({})
>     compiler.go:153:  32: goja.getVar1(ok)
>     compiler.go:153:  33: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestPostDecObj (0.00s)
> === RUN   TestPropAcc1
>     compiler.go:151: values: [1 1]
>     compiler.go:153:  0: goja.loadVal(0)
>     compiler.go:153:  1: goja._dup({})
>     compiler.go:153:  2: goja.getPropCallee(toString)
>     compiler.go:153:  3: goja.call(0)
>     compiler.go:153:  4: goja.loadVal(1)
>     compiler.go:153:  5: goja._op_strict_eq({})
>     compiler.go:153:  6: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestPropAcc1 (0.00s)
> === RUN   TestEvalDirect
>     compiler.go:151: values: [false]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.bindName(foo)
>     compiler.go:153:  2: goja.bindName(o)
>     compiler.go:153:  3: goja.bindName(f)
>     compiler.go:153:  4: goja.resolveVar1(foo)
>     compiler.go:153:  5: *goja.newFunc(&{0xa01ad20 foo 0 false 23 51})
>     compiler.go:151: values: [true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(rv)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.resolveVar1(f)
>     compiler.go:153:  9: *goja.newFunc(&{0xa01ad50 f 0 false 76 162})
>     compiler.go:151: values: [o.bar( foo() );]
>     compiler.go:153: > 0: goja.enterFunc(0)
>     compiler.go:153: > 1: goja._boxThis({})
>     compiler.go:153: > 2: goja.try({9 0 true})
>     compiler.go:153: > 3: goja._loadUndef({})
>     compiler.go:153: > 4: goja.getVar1Callee(eval)
>     compiler.go:153: > 5: goja.loadVal(0)
>     compiler.go:153: > 6: goja.callEval(1)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja._halt({})
>     compiler.go:153: > 9: goja.jump(4)
>     compiler.go:153: > 10: <nil>(<nil>)
>     compiler.go:153: > 11: goja.enterCatch(e)
>     compiler.go:153: > 12: goja._halt({})
>     compiler.go:153: > 13: goja._loadUndef({})
>     compiler.go:153: > 14: goja._ret({})
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.resolveVar1(rv)
>     compiler.go:153:  13: goja.loadVal(0)
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja.resolveVar1(o)
>     compiler.go:153:  17: goja._newObject({})
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja._loadUndef({})
>     compiler.go:153:  21: goja.getVar1Callee(f)
>     compiler.go:153:  22: goja.call(0)
>     compiler.go:153:  23: goja._halt({})
>     compiler_test.go:27: stack size: 11
>     compiler_test.go:28: stashAllocs: 2
> --- PASS: TestEvalDirect (0.00s)
> === RUN   TestEvalRet
>     compiler.go:151: values: [for (var i = 0; i < 3; i++) {i}]
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja.getVar1Callee(eval)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja.callEval(1)
>     compiler.go:153:  4: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestEvalRet (0.00s)
> === RUN   TestEvalFunctionDecl
>     compiler.go:151: values: [function F() {}]
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja.getVar1Callee(eval)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja.callEval(1)
>     compiler.go:153:  4: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestEvalFunctionDecl (0.00s)
> === RUN   TestEvalFunctionExpr
>     compiler.go:151: values: [(function F() {return 42;})]
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja._loadUndef({})
>     compiler.go:153:  2: goja.getVar1Callee(eval)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja.callEval(1)
>     compiler.go:153:  5: goja.call(0)
>     compiler.go:153:  6: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestEvalFunctionExpr (0.00s)
> === RUN   TestLoopRet
>     compiler.go:151: values: [0 20 1]
>     compiler.go:153:  0: goja.bindName(i)
>     compiler.go:153:  1: goja.resolveVar1(i)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1(i)
>     compiler.go:153:  7: goja.loadVal(1)
>     compiler.go:153:  8: goja._op_lt({})
>     compiler.go:153:  9: goja.jne(18)
>     compiler.go:153:  10: goja.getVar1(i)
>     compiler.go:153:  11: goja.loadVal(2)
>     compiler.go:153:  12: goja._op_gt({})
>     compiler.go:153:  13: goja.jne(5)
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja._loadUndef({})
>     compiler.go:153:  16: goja.jump(11)
>     compiler.go:153:  17: goja.jump(2)
>     compiler.go:153:  18: goja.getVar1(i)
>     compiler.go:153:  19: goja.rdupN(1)
>     compiler.go:153:  20: goja._pop({})
>     compiler.go:153:  21: goja.resolveVar1(i)
>     compiler.go:153:  22: goja._getValue({})
>     compiler.go:153:  23: goja._inc({})
>     compiler.go:153:  24: goja._putValue({})
>     compiler.go:153:  25: goja._pop({})
>     compiler.go:153:  26: goja.jump(-20)
>     compiler.go:153:  27: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestLoopRet (0.00s)
> === RUN   TestLoopRet1
>     compiler.go:151: values: [0 20]
>     compiler.go:153:  0: goja.bindName(i)
>     compiler.go:153:  1: goja.resolveVar1(i)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1(i)
>     compiler.go:153:  7: goja.loadVal(1)
>     compiler.go:153:  8: goja._op_lt({})
>     compiler.go:153:  9: goja.jne(10)
>     compiler.go:153:  10: goja._loadUndef({})
>     compiler.go:153:  11: goja.rdupN(1)
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.resolveVar1(i)
>     compiler.go:153:  14: goja._getValue({})
>     compiler.go:153:  15: goja._inc({})
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.jump(-12)
>     compiler.go:153:  19: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestLoopRet1 (0.00s)
> === RUN   TestInstanceof
>     compiler.go:151: values: [true]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.try({8 0 true})
>     compiler.go:153:  2: goja._loadUndef({})
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja.call(0)
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja._halt({})
>     compiler.go:153:  7: goja.jump(10)
>     compiler.go:153:  8: <nil>(<nil>)
>     compiler.go:153:  9: goja.enterCatch(e)
>     compiler.go:153:  10: goja.resolveVar1(rv)
>     compiler.go:153:  11: goja.getLocal(0)
>     compiler.go:153:  12: goja.getVar1(TypeError)
>     compiler.go:153:  13: goja._op_instanceof({})
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja._halt({})
>     compiler.go:153:  17: goja._loadUndef({})
>     compiler.go:153:  18: goja._halt({})
>     compiler_test.go:27: stack size: 2
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestInstanceof (0.00s)
> === RUN   TestStrictAssign
>     compiler.go:151: values: [false  ]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.bindName(called)
>     compiler.go:153:  2: goja.bindName(F)
>     compiler.go:153:  3: goja.resolveVar1Strict(F)
>     compiler.go:153:  4: *goja.newFunc(&{0xa1f29c0 F 0 true 47 93})
>     compiler.go:151: values: [true 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1Strict(called)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja.loadVal(1)
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1Strict(called)
>     compiler.go:153:  8: goja.loadVal(0)
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.try({10 0 true})
>     compiler.go:153:  12: goja.resolveVar1Strict(x)
>     compiler.go:153:  13: goja._loadUndef({})
>     compiler.go:153:  14: goja.getVar1Callee(F)
>     compiler.go:153:  15: goja.call(0)
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja._halt({})
>     compiler.go:153:  19: goja.jump(10)
>     compiler.go:153:  20: <nil>(<nil>)
>     compiler.go:153:  21: goja.enterCatch(e)
>     compiler.go:153:  22: goja.resolveVar1Strict(rv)
>     compiler.go:153:  23: goja.getLocal(0)
>     compiler.go:153:  24: goja.getVar1(ReferenceError)
>     compiler.go:153:  25: goja._op_instanceof({})
>     compiler.go:153:  26: goja._putValue({})
>     compiler.go:153:  27: goja._pop({})
>     compiler.go:153:  28: goja._halt({})
>     compiler.go:153:  29: goja.resolveVar1Strict(rv)
>     compiler.go:153:  30: goja._loadUndef({})
>     compiler.go:153:  31: goja._getValue({})
>     compiler.go:153:  32: goja.loadVal(1)
>     compiler.go:153:  33: goja.getVar1(called)
>     compiler.go:153:  34: goja._add({})
>     compiler.go:153:  35: goja._add({})
>     compiler.go:153:  36: goja.rdupN(1)
>     compiler.go:153:  37: goja._putValue({})
>     compiler.go:153:  38: goja._pop({})
>     compiler.go:153:  39: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestStrictAssign (0.00s)
> === RUN   TestStrictScope
>     compiler.go:151: values: [false 1  ]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.bindName(called)
>     compiler.go:153:  2: goja.bindName(F)
>     compiler.go:153:  3: goja.resolveVar1(F)
>     compiler.go:153:  4: *goja.newFunc(&{0xa1f2de0 F 0 true 32 74})
>     compiler.go:151: values: [1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1Strict(x)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(called)
>     compiler.go:153:  8: goja.loadVal(0)
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.try({8 0 true})
>     compiler.go:153:  12: goja._loadUndef({})
>     compiler.go:153:  13: goja.getVar1Callee(F)
>     compiler.go:153:  14: goja.call(0)
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja._halt({})
>     compiler.go:153:  17: goja.jump(10)
>     compiler.go:153:  18: <nil>(<nil>)
>     compiler.go:153:  19: goja.enterCatch(e)
>     compiler.go:153:  20: goja.resolveVar1(rv)
>     compiler.go:153:  21: goja.getLocal(0)
>     compiler.go:153:  22: goja.getVar1(ReferenceError)
>     compiler.go:153:  23: goja._op_instanceof({})
>     compiler.go:153:  24: goja._putValue({})
>     compiler.go:153:  25: goja._pop({})
>     compiler.go:153:  26: goja._halt({})
>     compiler.go:153:  27: goja.resolveVar1(x)
>     compiler.go:153:  28: goja.loadVal(1)
>     compiler.go:153:  29: goja._putValue({})
>     compiler.go:153:  30: goja._pop({})
>     compiler.go:153:  31: goja.resolveVar1(rv)
>     compiler.go:153:  32: goja._loadUndef({})
>     compiler.go:153:  33: goja._getValue({})
>     compiler.go:153:  34: goja.loadVal(2)
>     compiler.go:153:  35: goja.getVar1(x)
>     compiler.go:153:  36: goja._add({})
>     compiler.go:153:  37: goja._add({})
>     compiler.go:153:  38: goja.rdupN(1)
>     compiler.go:153:  39: goja._putValue({})
>     compiler.go:153:  40: goja._pop({})
>     compiler.go:153:  41: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestStrictScope (0.00s)
> === RUN   TestStringObj
>     compiler.go:151: values: [test 0 2 1]
>     compiler.go:153:  0: goja.bindName(s)
>     compiler.go:153:  1: goja.resolveVar1(s)
>     compiler.go:153:  2: goja.getVar1(String)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._new(1)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.getVar1(s)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja._getElem({})
>     compiler.go:153:  10: goja.getVar1(s)
>     compiler.go:153:  11: goja.loadVal(2)
>     compiler.go:153:  12: goja._getElem({})
>     compiler.go:153:  13: goja._add({})
>     compiler.go:153:  14: goja.getVar1(s)
>     compiler.go:153:  15: goja.loadVal(3)
>     compiler.go:153:  16: goja._getElem({})
>     compiler.go:153:  17: goja._add({})
>     compiler.go:153:  18: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestStringObj (0.00s)
> === RUN   TestStringPrimitive
>     compiler.go:151: values: [test 0 2 1]
>     compiler.go:153:  0: goja.bindName(s)
>     compiler.go:153:  1: goja.resolveVar1(s)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.getVar1(s)
>     compiler.go:153:  6: goja.loadVal(1)
>     compiler.go:153:  7: goja._getElem({})
>     compiler.go:153:  8: goja.getVar1(s)
>     compiler.go:153:  9: goja.loadVal(2)
>     compiler.go:153:  10: goja._getElem({})
>     compiler.go:153:  11: goja._add({})
>     compiler.go:153:  12: goja.getVar1(s)
>     compiler.go:153:  13: goja.loadVal(3)
>     compiler.go:153:  14: goja._getElem({})
>     compiler.go:153:  15: goja._add({})
>     compiler.go:153:  16: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestStringPrimitive (0.00s)
> === RUN   TestCallGlobalObject
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.try({8 0 true})
>     compiler.go:153:  2: goja._loadUndef({})
>     compiler.go:153:  3: goja._loadGlobalObject({})
>     compiler.go:153:  4: goja.call(0)
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja._halt({})
>     compiler.go:153:  7: goja.jump(10)
>     compiler.go:153:  8: <nil>(<nil>)
>     compiler.go:153:  9: goja.enterCatch(e)
>     compiler.go:153:  10: goja.resolveVar1(rv)
>     compiler.go:153:  11: goja.getLocal(0)
>     compiler.go:153:  12: goja.getVar1(TypeError)
>     compiler.go:153:  13: goja._op_instanceof({})
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja._halt({})
>     compiler.go:153:  17: goja._loadUndef({})
>     compiler.go:153:  18: goja._halt({})
>     compiler_test.go:27: stack size: 2
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestCallGlobalObject (0.00s)
> === RUN   TestFuncLength
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa1f3bf0 F 2 false 2 24})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja._loadUndef({})
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.getVar1(F)
>     compiler.go:153:  6: goja.getProp(length)
>     compiler.go:153:  7: goja._halt({})
>     compiler_test.go:60: stack size: 1
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestFuncLength (0.00s)
> === RUN   TestNativeFuncLength
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.getVar1(eval)
>     compiler.go:153:  1: goja.getProp(length)
>     compiler.go:153:  2: goja.getVar1(Object)
>     compiler.go:153:  3: goja.getProp(defineProperty)
>     compiler.go:153:  4: goja.getProp(length)
>     compiler.go:153:  5: goja._add({})
>     compiler.go:153:  6: goja.getVar1(String)
>     compiler.go:153:  7: goja.getProp(length)
>     compiler.go:153:  8: goja._add({})
>     compiler.go:153:  9: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestNativeFuncLength (0.00s)
> === RUN   TestArguments
>     compiler.go:151: values: [1 2 3]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa272360 F 0 false 2 67})
>     compiler.go:151: values: [  1]
>     compiler.go:153: > 0: goja.enterFunc(0)
>     compiler.go:153: > 1: goja.bindName(arguments)
>     compiler.go:153: > 2: goja.createArgs(0)
>     compiler.go:153: > 3: goja.setLocalP(0)
>     compiler.go:153: > 4: goja.getLocal(0)
>     compiler.go:153: > 5: goja.getProp(length)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._add({})
>     compiler.go:153: > 8: goja.getLocal(0)
>     compiler.go:153: > 9: goja.loadVal(1)
>     compiler.go:153: > 10: goja._getElem({})
>     compiler.go:153: > 11: goja._add({})
>     compiler.go:153: > 12: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.loadVal(2)
>     compiler.go:153:  10: goja.call(3)
>     compiler.go:153:  11: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestArguments (0.00s)
> === RUN   TestArgumentsPut
>     compiler.go:151: values: [5 2]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa272750 F 2 false 2 67})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFunc(2)
>     compiler.go:153: > 1: goja.bindName(x)
>     compiler.go:153: > 2: goja.bindName(y)
>     compiler.go:153: > 3: goja.bindName(arguments)
>     compiler.go:153: > 4: goja.createArgs(2)
>     compiler.go:153: > 5: goja.setLocalP(2)
>     compiler.go:153: > 6: goja.getLocal(2)
>     compiler.go:153: > 7: goja.loadVal(0)
>     compiler.go:153: > 8: goja.dupN(1)
>     compiler.go:153: > 9: goja.dupN(1)
>     compiler.go:153: > 10: goja._getElem({})
>     compiler.go:153: > 11: goja.getLocal(2)
>     compiler.go:153: > 12: goja.loadVal(1)
>     compiler.go:153: > 13: goja._getElem({})
>     compiler.go:153: > 14: goja._sub({})
>     compiler.go:153: > 15: goja._setElem({})
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.getLocal(0)
>     compiler.go:153: > 18: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.call(2)
>     compiler.go:153:  10: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestArgumentsPut (0.00s)
> === RUN   TestArgumentsPutStrict
>     compiler.go:151: values: [5 2]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa272b40 F 2 true 2 83})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFunc(2)
>     compiler.go:153: > 1: goja.bindName(x)
>     compiler.go:153: > 2: goja.bindName(y)
>     compiler.go:153: > 3: goja.bindName(arguments)
>     compiler.go:153: > 4: goja.createArgsStrict(2)
>     compiler.go:153: > 5: goja.setLocalP(2)
>     compiler.go:153: > 6: goja.getLocal(2)
>     compiler.go:153: > 7: goja.loadVal(0)
>     compiler.go:153: > 8: goja.dupN(1)
>     compiler.go:153: > 9: goja.dupN(1)
>     compiler.go:153: > 10: goja._getElem({})
>     compiler.go:153: > 11: goja.getLocal(2)
>     compiler.go:153: > 12: goja.loadVal(1)
>     compiler.go:153: > 13: goja._getElem({})
>     compiler.go:153: > 14: goja._sub({})
>     compiler.go:153: > 15: goja._setElemStrict({})
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.getLocal(0)
>     compiler.go:153: > 18: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.call(2)
>     compiler.go:153:  10: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestArgumentsPutStrict (0.00s)
> === RUN   TestArgumentsExtra
>     compiler.go:151: values: [1 2 42]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa272f30 F 2 false 2 46})
>     compiler.go:151: values: [2]
>     compiler.go:153: > 0: goja.enterFunc(2)
>     compiler.go:153: > 1: goja.bindName(x)
>     compiler.go:153: > 2: goja.bindName(y)
>     compiler.go:153: > 3: goja.bindName(arguments)
>     compiler.go:153: > 4: goja.createArgs(2)
>     compiler.go:153: > 5: goja.setLocalP(2)
>     compiler.go:153: > 6: goja.getLocal(2)
>     compiler.go:153: > 7: goja.loadVal(0)
>     compiler.go:153: > 8: goja._getElem({})
>     compiler.go:153: > 9: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.loadVal(2)
>     compiler.go:153:  10: goja.call(3)
>     compiler.go:153:  11: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestArgumentsExtra (0.00s)
> === RUN   TestArgumentsExist
>     compiler.go:151: values: [1 42]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa273320 F 2 false 2 51})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-2)
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.call(2)
>     compiler.go:153:  10: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestArgumentsExist (0.00s)
> === RUN   TestArgumentsDelete
>     compiler.go:151: values: [1]
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa2736b0 f 1 false 2 76})
>     compiler.go:151: values: [0 42]
>     compiler.go:153: > 0: goja.enterFunc(1)
>     compiler.go:153: > 1: goja.bindName(x)
>     compiler.go:153: > 2: goja.bindName(arguments)
>     compiler.go:153: > 3: goja.createArgs(1)
>     compiler.go:153: > 4: goja.setLocalP(1)
>     compiler.go:153: > 5: goja.getLocal(1)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._deleteElem({})
>     compiler.go:153: > 8: goja._pop({})
>     compiler.go:153: > 9: goja.getLocal(1)
>     compiler.go:153: > 10: goja.loadVal(0)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja._setElem({})
>     compiler.go:153: > 13: goja._pop({})
>     compiler.go:153: > 14: goja.getLocal(0)
>     compiler.go:153: > 15: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.call(1)
>     compiler.go:153:  9: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestArgumentsDelete (0.00s)
> === RUN   TestWith
>     compiler.go:151: values: [1 41]
>     compiler.go:153:  0: goja.bindName(b)
>     compiler.go:153:  1: goja.bindName(o)
>     compiler.go:153:  2: goja.resolveVar1(b)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(o)
>     compiler.go:153:  7: goja._newObject({})
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.setProp1(a)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.getVar1(o)
>     compiler.go:153:  13: goja._enterWith({})
>     compiler.go:153:  14: goja.resolveVar1(a)
>     compiler.go:153:  15: goja._getValue({})
>     compiler.go:153:  16: goja.getVar1(b)
>     compiler.go:153:  17: goja._add({})
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja._leaveWith({})
>     compiler.go:153:  21: goja.getVar1(o)
>     compiler.go:153:  22: goja.getProp(a)
>     compiler.go:153:  23: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestWith (0.00s)
> === RUN   TestWithInFunc
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa273e60 F 0 false 2 115})
>     compiler.go:151: values: [1 0 40]
>     compiler.go:153: > 0: goja.enterFunc(0)
>     compiler.go:153: > 1: goja.bindName(b)
>     compiler.go:153: > 2: goja.bindName(c)
>     compiler.go:153: > 3: goja.bindName(o)
>     compiler.go:153: > 4: goja.loadVal(0)
>     compiler.go:153: > 5: goja.setLocal(0)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.loadVal(1)
>     compiler.go:153: > 8: goja.setLocal(1)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja._newObject({})
>     compiler.go:153: > 11: goja.loadVal(2)
>     compiler.go:153: > 12: goja.setProp1(a)
>     compiler.go:153: > 13: goja.loadVal(0)
>     compiler.go:153: > 14: goja.setProp1(c)
>     compiler.go:153: > 15: goja.setLocal(2)
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.getLocal(2)
>     compiler.go:153: > 18: goja._enterWith({})
>     compiler.go:153: > 19: goja.resolveVar1(a)
>     compiler.go:153: > 20: goja._getValue({})
>     compiler.go:153: > 21: goja.getVar({b 16777216 false})
>     compiler.go:153: > 22: goja.getVar({c 16777217 false})
>     compiler.go:153: > 23: goja._add({})
>     compiler.go:153: > 24: goja._add({})
>     compiler.go:153: > 25: goja._putValue({})
>     compiler.go:153: > 26: goja._pop({})
>     compiler.go:153: > 27: goja._leaveWith({})
>     compiler.go:153: > 28: goja.getLocal(2)
>     compiler.go:153: > 29: goja.getProp(a)
>     compiler.go:153: > 30: goja._ret({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 2
> --- PASS: TestWithInFunc (0.00s)
> === RUN   TestAssignNonExtendable
>     compiler.go:151: values: [42]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.bindName(o)
>     compiler.go:153:  2: goja.resolveVar1Strict(F)
>     compiler.go:153:  3: *goja.newFunc(&{0xa2f03c0 F 0 true 18 53})
>     compiler.go:151: values: [1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.loadStack(0)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja.setPropStrict(x)
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1Strict(o)
>     compiler.go:153:  7: goja.getVar1(F)
>     compiler.go:153:  8: goja._new(0)
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.getVar1(Object)
>     compiler.go:153:  12: goja._dup({})
>     compiler.go:153:  13: goja.getPropCallee(preventExtensions)
>     compiler.go:153:  14: goja.getVar1(o)
>     compiler.go:153:  15: goja.call(1)
>     compiler.go:153:  16: goja._pop({})
>     compiler.go:153:  17: goja.getVar1(o)
>     compiler.go:153:  18: goja.loadVal(0)
>     compiler.go:153:  19: goja.setPropStrict(x)
>     compiler.go:153:  20: goja._pop({})
>     compiler.go:153:  21: goja.getVar1(o)
>     compiler.go:153:  22: goja.getProp(x)
>     compiler.go:153:  23: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestAssignNonExtendable (0.00s)
> === RUN   TestAssignNonExtendable1
>     compiler.go:151: values: [42  ]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.bindName(o)
>     compiler.go:153:  2: goja.bindName(rv)
>     compiler.go:153:  3: goja.resolveVar1Strict(F)
>     compiler.go:153:  4: *goja.newFunc(&{0xa2f07b0 F 0 true 18 35})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._loadUndef({})
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1Strict(o)
>     compiler.go:153:  8: goja.getVar1(F)
>     compiler.go:153:  9: goja._new(0)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.getVar1(Object)
>     compiler.go:153:  13: goja._dup({})
>     compiler.go:153:  14: goja.getPropCallee(preventExtensions)
>     compiler.go:153:  15: goja.getVar1(o)
>     compiler.go:153:  16: goja.call(1)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.try({8 0 true})
>     compiler.go:153:  19: goja.getVar1(o)
>     compiler.go:153:  20: goja.loadVal(0)
>     compiler.go:153:  21: goja.setPropStrict(x)
>     compiler.go:153:  22: goja._pop({})
>     compiler.go:153:  23: goja._halt({})
>     compiler.go:153:  24: goja.jump(11)
>     compiler.go:153:  25: <nil>(<nil>)
>     compiler.go:153:  26: goja.enterCatch(e)
>     compiler.go:153:  27: goja.resolveVar1Strict(rv)
>     compiler.go:153:  28: goja.getLocal(0)
>     compiler.go:153:  29: goja.getProp(constructor)
>     compiler.go:153:  30: goja.getVar1(TypeError)
>     compiler.go:153:  31: goja._op_strict_eq({})
>     compiler.go:153:  32: goja._putValue({})
>     compiler.go:153:  33: goja._pop({})
>     compiler.go:153:  34: goja._halt({})
>     compiler.go:153:  35: goja.resolveVar1Strict(rv)
>     compiler.go:153:  36: goja._loadUndef({})
>     compiler.go:153:  37: goja._getValue({})
>     compiler.go:153:  38: goja.loadVal(1)
>     compiler.go:153:  39: goja.getVar1(o)
>     compiler.go:153:  40: goja.getProp(x)
>     compiler.go:153:  41: goja._add({})
>     compiler.go:153:  42: goja._add({})
>     compiler.go:153:  43: goja.rdupN(1)
>     compiler.go:153:  44: goja._putValue({})
>     compiler.go:153:  45: goja._pop({})
>     compiler.go:153:  46: goja._halt({})
>     compiler_test.go:27: stack size: 4
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestAssignNonExtendable1 (0.00s)
> === RUN   TestAssignStrict
>     compiler.go:151: values: [eval = 42]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.try({9 0 true})
>     compiler.go:153:  2: goja._loadUndef({})
>     compiler.go:153:  3: goja.getVar1Callee(eval)
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja.callEvalStrict(1)
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja._halt({})
>     compiler.go:153:  8: goja.jump(10)
>     compiler.go:153:  9: <nil>(<nil>)
>     compiler.go:153:  10: goja.enterCatch(e)
>     compiler.go:153:  11: goja.resolveVar1Strict(rv)
>     compiler.go:153:  12: goja.getLocal(0)
>     compiler.go:153:  13: goja.getVar1(SyntaxError)
>     compiler.go:153:  14: goja._op_instanceof({})
>     compiler.go:153:  15: goja._putValue({})
>     compiler.go:153:  16: goja._pop({})
>     compiler.go:153:  17: goja._halt({})
>     compiler.go:153:  18: goja._loadUndef({})
>     compiler.go:153:  19: goja._halt({})
>     compiler_test.go:27: stack size: 3
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestAssignStrict (0.00s)
> === RUN   TestIllegalArgmentName
>     compiler.go:151: values: [function F(eval) {}]
>     compiler.go:153:  0: goja.bindName(rv)
>     compiler.go:153:  1: goja.try({9 0 true})
>     compiler.go:153:  2: goja._loadUndef({})
>     compiler.go:153:  3: goja.getVar1Callee(eval)
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja.callEvalStrict(1)
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja._halt({})
>     compiler.go:153:  8: goja.jump(10)
>     compiler.go:153:  9: <nil>(<nil>)
>     compiler.go:153:  10: goja.enterCatch(e)
>     compiler.go:153:  11: goja.resolveVar1Strict(rv)
>     compiler.go:153:  12: goja.getLocal(0)
>     compiler.go:153:  13: goja.getVar1(SyntaxError)
>     compiler.go:153:  14: goja._op_instanceof({})
>     compiler.go:153:  15: goja._putValue({})
>     compiler.go:153:  16: goja._pop({})
>     compiler.go:153:  17: goja._halt({})
>     compiler.go:153:  18: goja._loadUndef({})
>     compiler.go:153:  19: goja._halt({})
>     compiler_test.go:27: stack size: 3
>     compiler_test.go:28: stashAllocs: 1
> --- PASS: TestIllegalArgmentName (0.00s)
> === RUN   TestFunction
>     compiler.go:151: values: [ return ' one' arg return ' ' + arg two]
>     compiler.go:153:  0: goja.bindName(f0)
>     compiler.go:153:  1: goja.bindName(f1)
>     compiler.go:153:  2: goja.bindName(f2)
>     compiler.go:153:  3: goja.resolveVar1(f0)
>     compiler.go:153:  4: goja._loadUndef({})
>     compiler.go:153:  5: goja.getVar1Callee(Function)
>     compiler.go:153:  6: goja.loadVal(0)
>     compiler.go:153:  7: goja.call(1)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.resolveVar1(f1)
>     compiler.go:153:  11: goja._loadUndef({})
>     compiler.go:153:  12: goja.getVar1Callee(Function)
>     compiler.go:153:  13: goja.loadVal(1)
>     compiler.go:153:  14: goja.call(1)
>     compiler.go:153:  15: goja._putValue({})
>     compiler.go:153:  16: goja._pop({})
>     compiler.go:153:  17: goja.resolveVar1(f2)
>     compiler.go:153:  18: goja._loadUndef({})
>     compiler.go:153:  19: goja.getVar1Callee(Function)
>     compiler.go:153:  20: goja.loadVal(2)
>     compiler.go:153:  21: goja.loadVal(3)
>     compiler.go:153:  22: goja.call(2)
>     compiler.go:153:  23: goja._putValue({})
>     compiler.go:153:  24: goja._pop({})
>     compiler.go:153:  25: goja._loadUndef({})
>     compiler.go:153:  26: goja.getVar1Callee(f0)
>     compiler.go:153:  27: goja.call(0)
>     compiler.go:153:  28: goja._loadUndef({})
>     compiler.go:153:  29: goja.getVar1Callee(f1)
>     compiler.go:153:  30: goja.call(0)
>     compiler.go:153:  31: goja._add({})
>     compiler.go:153:  32: goja._loadUndef({})
>     compiler.go:153:  33: goja.getVar1Callee(f2)
>     compiler.go:153:  34: goja.loadVal(4)
>     compiler.go:153:  35: goja.call(1)
>     compiler.go:153:  36: goja._add({})
>     compiler.go:153:  37: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestFunction (0.00s)
> === RUN   TestFunction1
>     compiler.go:151: values: [1]
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa2f1950 f1 1 false 11 96})
>     compiler.go:151: values: [0 true 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 1})
>     compiler.go:153: > 1: goja._loadCallee({})
>     compiler.go:153: > 2: goja.storeStackP(1)
>     compiler.go:153: > 3: goja.loadStack(-1)
>     compiler.go:153: > 4: goja.loadVal(0)
>     compiler.go:153: > 5: goja._op_eq({})
>     compiler.go:153: > 6: goja.jne(3)
>     compiler.go:153: > 7: goja.loadVal(1)
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153: > 9: goja._loadUndef({})
>     compiler.go:153: > 10: goja.loadStack(1)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja.loadVal(2)
>     compiler.go:153: > 13: goja._sub({})
>     compiler.go:153: > 14: goja.call(1)
>     compiler.go:153: > 15: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.call(1)
>     compiler.go:153:  9: goja._halt({})
>     compiler_test.go:60: stack size: 10
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestFunction1 (0.00s)
> === RUN   TestFunction2
>     compiler.go:151: values: [ 1]
>     compiler.go:153:  0: goja.bindName(trace)
>     compiler.go:153:  1: goja.bindName(f)
>     compiler.go:153:  2: goja.bindName(f1)
>     compiler.go:153:  3: goja.bindName(f2)
>     compiler.go:153:  4: goja.resolveVar1(f)
>     compiler.go:153:  5: *goja.newFunc(&{0xa2f1d10 f 1 false 19 147})
>     compiler.go:151: values: [f( ) 0 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja._add({})
>     compiler.go:153: > 6: goja.loadVal(1)
>     compiler.go:153: > 7: goja._add({})
>     compiler.go:153: > 8: goja._add({})
>     compiler.go:153: > 9: goja._putValue({})
>     compiler.go:153: > 10: goja._pop({})
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja.loadVal(2)
>     compiler.go:153: > 13: goja._op_eq({})
>     compiler.go:153: > 14: goja.jne(3)
>     compiler.go:153: > 15: goja._loadUndef({})
>     compiler.go:153: > 16: goja._retStashless({})
>     compiler.go:153: > 17: goja._loadUndef({})
>     compiler.go:153: > 18: goja.getVar1Callee(f)
>     compiler.go:153: > 19: goja.loadStack(-1)
>     compiler.go:153: > 20: goja.loadVal(3)
>     compiler.go:153: > 21: goja._sub({})
>     compiler.go:153: > 22: goja.call(1)
>     compiler.go:153: > 23: goja._retStashless({})
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.resolveVar1(f1)
>     compiler.go:153:  9: *goja.newFunc(&{0xa2f1d40 f1 0 false 150 189})
>     compiler.go:151: values: [f1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(trace)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._add({})
>     compiler.go:153: > 5: goja._putValue({})
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja._loadUndef({})
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.resolveVar1(trace)
>     compiler.go:153:  13: goja.loadVal(0)
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja.resolveVar1(f2)
>     compiler.go:153:  17: goja.getVar1(f)
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.resolveVar1(f)
>     compiler.go:153:  21: goja.getVar1(f1)
>     compiler.go:153:  22: goja._putValue({})
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja._loadUndef({})
>     compiler.go:153:  25: goja.getVar1Callee(f2)
>     compiler.go:153:  26: goja.loadVal(1)
>     compiler.go:153:  27: goja.call(1)
>     compiler.go:153:  28: goja._pop({})
>     compiler.go:153:  29: goja.getVar1(trace)
>     compiler.go:153:  30: goja._halt({})
>     compiler_test.go:60: stack size: 8
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestFunction2 (0.00s)
> === RUN   TestFunctionToString
>     compiler.go:151: values: [arg1 arg2 return 42]
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja.getVar1Callee(Function)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja.loadVal(1)
>     compiler.go:153:  4: goja.loadVal(2)
>     compiler.go:153:  5: goja.call(3)
>     compiler.go:153:  6: goja._dup({})
>     compiler.go:153:  7: goja.getPropCallee(toString)
>     compiler.go:153:  8: goja.call(0)
>     compiler.go:153:  9: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestFunctionToString (0.00s)
> === RUN   TestObjectLiteral
>     compiler.go:151: values: [false 42]
>     compiler.go:153:  0: goja.bindName(getterCalled)
>     compiler.go:153:  1: goja.bindName(setterCalled)
>     compiler.go:153:  2: goja.bindName(o)
>     compiler.go:153:  3: goja.resolveVar1(getterCalled)
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(setterCalled)
>     compiler.go:153:  8: goja.loadVal(0)
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.resolveVar1(o)
>     compiler.go:153:  12: goja._newObject({})
>     compiler.go:153:  13: *goja.newFunc(&{0xa372600  0 false 70 95})
>     compiler.go:151: values: [true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(getterCalled)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  14: goja.setPropGetter(x)
>     compiler.go:153:  15: *goja.newFunc(&{0xa372630  0 false 101 126})
>     compiler.go:151: values: [true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(setterCalled)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  16: goja.setPropSetter(x)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.getVar1(o)
>     compiler.go:153:  20: goja.getProp(x)
>     compiler.go:153:  21: goja._pop({})
>     compiler.go:153:  22: goja.getVar1(o)
>     compiler.go:153:  23: goja.loadVal(1)
>     compiler.go:153:  24: goja.setProp(x)
>     compiler.go:153:  25: goja._pop({})
>     compiler.go:153:  26: goja.getVar1(getterCalled)
>     compiler.go:153:  27: goja.jneq1(3)
>     compiler.go:153:  28: goja._pop({})
>     compiler.go:153:  29: goja.getVar1(setterCalled)
>     compiler.go:153:  30: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestObjectLiteral (0.00s)
> === RUN   TestConst
>     compiler.go:151: values: [true -Infinity false]
>     compiler.go:153:  0: goja.bindName(v1)
>     compiler.go:153:  1: goja.bindName(v2)
>     compiler.go:153:  2: goja.bindName(v3)
>     compiler.go:153:  3: goja.bindName(v4)
>     compiler.go:153:  4: goja.resolveVar1(v1)
>     compiler.go:153:  5: goja.loadVal(0)
>     compiler.go:153:  6: goja._putValue({})
>     compiler.go:153:  7: goja._pop({})
>     compiler.go:153:  8: goja.resolveVar1(v2)
>     compiler.go:153:  9: goja.loadVal(1)
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.resolveVar1(v3)
>     compiler.go:153:  13: goja.getVar1(v1)
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja.resolveVar1(v4)
>     compiler.go:153:  17: goja.loadVal(2)
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.getVar1(v1)
>     compiler.go:153:  21: goja.loadVal(0)
>     compiler.go:153:  22: goja._op_strict_eq({})
>     compiler.go:153:  23: goja.jneq1(6)
>     compiler.go:153:  24: goja._pop({})
>     compiler.go:153:  25: goja.getVar1(v2)
>     compiler.go:153:  26: goja.getVar1(Infinity)
>     compiler.go:153:  27: goja._neg({})
>     compiler.go:153:  28: goja._op_strict_eq({})
>     compiler.go:153:  29: goja.jneq1(5)
>     compiler.go:153:  30: goja._pop({})
>     compiler.go:153:  31: goja.getVar1(v3)
>     compiler.go:153:  32: goja.getVar1(v1)
>     compiler.go:153:  33: goja._op_strict_eq({})
>     compiler.go:153:  34: goja.jneq1(5)
>     compiler.go:153:  35: goja._pop({})
>     compiler.go:153:  36: goja.getVar1(v4)
>     compiler.go:153:  37: goja.loadVal(2)
>     compiler.go:153:  38: goja._op_strict_eq({})
>     compiler.go:153:  39: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestConst (0.00s)
> === RUN   TestConstWhile
>     compiler.go:151: values: [0 9 10]
>     compiler.go:153:  0: goja.bindName(c)
>     compiler.go:153:  1: goja.resolveVar1(c)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.resolveVar1(c)
>     compiler.go:153:  6: goja._loadUndef({})
>     compiler.go:153:  7: goja._getValue({})
>     compiler.go:153:  8: goja._toNumber({})
>     compiler.go:153:  9: goja._inc({})
>     compiler.go:153:  10: goja.rdupN(1)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.loadVal(1)
>     compiler.go:153:  14: goja._op_gt({})
>     compiler.go:153:  15: goja.jne(2)
>     compiler.go:153:  16: goja.jump(2)
>     compiler.go:153:  17: goja.jump(-12)
>     compiler.go:153:  18: goja.getVar1(c)
>     compiler.go:153:  19: goja.loadVal(2)
>     compiler.go:153:  20: goja._op_strict_eq({})
>     compiler.go:153:  21: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestConstWhile (0.00s)
> === RUN   TestConstWhileThrow
>     compiler.go:151: values: [false Value is not an object: true]
>     compiler.go:153:  0: goja.bindName(thrown)
>     compiler.go:153:  1: goja.resolveVar1(thrown)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.try({8 0 true})
>     compiler.go:153:  6: goja.getVar1(TypeError)
>     compiler.go:153:  7: goja.loadVal(1)
>     compiler.go:153:  8: goja._new(1)
>     compiler.go:153:  9: goja._throw({})
>     compiler.go:153:  10: goja._halt({})
>     compiler.go:153:  11: goja.jump(10)
>     compiler.go:153:  12: <nil>(<nil>)
>     compiler.go:153:  13: goja.enterCatch(e)
>     compiler.go:153:  14: goja.resolveVar1(thrown)
>     compiler.go:153:  15: goja.getLocal(0)
>     compiler.go:153:  16: goja.getVar1(TypeError)
>     compiler.go:153:  17: goja._op_instanceof({})
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja._halt({})
>     compiler.go:153:  21: goja.getVar1(thrown)
>     compiler.go:153:  22: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestConstWhileThrow (0.00s)
> === RUN   TestDupParams
>     compiler.go:151: values: [1 2]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa372750 F 3 false 2 38})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja.loadStack(-3)
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja.call(2)
>     compiler.go:153:  10: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestDupParams (0.00s)
> === RUN   TestUseUnsuppliedParam
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(getMessage)
>     compiler.go:153:  1: goja.resolveVar1(getMessage)
>     compiler.go:153:  2: *goja.newFunc(&{0xa372ae0 getMessage 1 false 2 130})
>     compiler.go:151: values: [  123 456]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.getVar1(undefined)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(4)
>     compiler.go:153: > 5: goja.loadVal(0)
>     compiler.go:153: > 6: goja.storeStack(-1)
>     compiler.go:153: > 7: goja._pop({})
>     compiler.go:153: > 8: goja.loadStack(-1)
>     compiler.go:153: > 9: goja.loadVal(1)
>     compiler.go:153: > 10: goja._add({})
>     compiler.go:153: > 11: goja.storeStack(-1)
>     compiler.go:153: > 12: goja._pop({})
>     compiler.go:153: > 13: goja.loadStack(-1)
>     compiler.go:153: > 14: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(getMessage)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestUseUnsuppliedParam (0.00s)
> === RUN   TestForInLoop
>     compiler.go:151: values: [42 44 45 false x y Already has X true Already has Y]
>     compiler.go:153:  0: goja.bindName(Proto)
>     compiler.go:153:  1: goja.bindName(o)
>     compiler.go:153:  2: goja.bindName(hasX)
>     compiler.go:153:  3: goja.bindName(hasY)
>     compiler.go:153:  4: goja.bindName(i)
>     compiler.go:153:  5: goja.resolveVar1(Proto)
>     compiler.go:153:  6: *goja.newFunc(&{0xa372e40 Proto 0 false 2 21})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja._loadUndef({})
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.getVar1(Proto)
>     compiler.go:153:  10: goja.getProp(prototype)
>     compiler.go:153:  11: goja.loadVal(0)
>     compiler.go:153:  12: goja.setProp(x)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.resolveVar1(o)
>     compiler.go:153:  15: goja.getVar1(Proto)
>     compiler.go:153:  16: goja._new(0)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.getVar1(o)
>     compiler.go:153:  20: goja.loadVal(1)
>     compiler.go:153:  21: goja.setProp(y)
>     compiler.go:153:  22: goja._pop({})
>     compiler.go:153:  23: goja.getVar1(o)
>     compiler.go:153:  24: goja.loadVal(2)
>     compiler.go:153:  25: goja.setProp(x)
>     compiler.go:153:  26: goja._pop({})
>     compiler.go:153:  27: goja.resolveVar1(hasX)
>     compiler.go:153:  28: goja.loadVal(3)
>     compiler.go:153:  29: goja._putValue({})
>     compiler.go:153:  30: goja._pop({})
>     compiler.go:153:  31: goja.resolveVar1(hasY)
>     compiler.go:153:  32: goja.loadVal(3)
>     compiler.go:153:  33: goja._putValue({})
>     compiler.go:153:  34: goja._pop({})
>     compiler.go:153:  35: goja.getVar1(o)
>     compiler.go:153:  36: goja._enumerate({})
>     compiler.go:153:  37: goja.enumNext(43)
>     compiler.go:153:  38: goja.resolveVar1(i)
>     compiler.go:153:  39: goja._enumGet({})
>     compiler.go:153:  40: goja._putValue({})
>     compiler.go:153:  41: goja._pop({})
>     compiler.go:153:  42: goja.getVar1(i)
>     compiler.go:153:  43: goja._dup({})
>     compiler.go:153:  44: goja.loadVal(4)
>     compiler.go:153:  45: goja._op_strict_eq({})
>     compiler.go:153:  46: goja.jne(3)
>     compiler.go:153:  47: goja._pop({})
>     compiler.go:153:  48: goja.jump(9)
>     compiler.go:153:  49: goja._dup({})
>     compiler.go:153:  50: goja.loadVal(5)
>     compiler.go:153:  51: goja._op_strict_eq({})
>     compiler.go:153:  52: goja.jne(3)
>     compiler.go:153:  53: goja._pop({})
>     compiler.go:153:  54: goja.jump(14)
>     compiler.go:153:  55: goja._pop({})
>     compiler.go:153:  56: goja.jump(23)
>     compiler.go:153:  57: goja.getVar1(hasX)
>     compiler.go:153:  58: goja.jne(5)
>     compiler.go:153:  59: goja.getVar1(Error)
>     compiler.go:153:  60: goja.loadVal(6)
>     compiler.go:153:  61: goja._new(1)
>     compiler.go:153:  62: goja._throw({})
>     compiler.go:153:  63: goja.resolveVar1(hasX)
>     compiler.go:153:  64: goja.loadVal(7)
>     compiler.go:153:  65: goja._putValue({})
>     compiler.go:153:  66: goja._pop({})
>     compiler.go:153:  67: goja.jump(12)
>     compiler.go:153:  68: goja.getVar1(hasY)
>     compiler.go:153:  69: goja.jne(5)
>     compiler.go:153:  70: goja.getVar1(Error)
>     compiler.go:153:  71: goja.loadVal(8)
>     compiler.go:153:  72: goja._new(1)
>     compiler.go:153:  73: goja._throw({})
>     compiler.go:153:  74: goja.resolveVar1(hasY)
>     compiler.go:153:  75: goja.loadVal(7)
>     compiler.go:153:  76: goja._putValue({})
>     compiler.go:153:  77: goja._pop({})
>     compiler.go:153:  78: goja.jump(1)
>     compiler.go:153:  79: goja.jump(-42)
>     compiler.go:153:  80: goja._enumPop({})
>     compiler.go:153:  81: goja.getVar1(hasX)
>     compiler.go:153:  82: goja.jneq1(3)
>     compiler.go:153:  83: goja._pop({})
>     compiler.go:153:  84: goja.getVar1(hasY)
>     compiler.go:153:  85: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestForInLoop (0.00s)
> === RUN   TestForInLoopRet
>     compiler.go:151: values: [1 2 true]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(i)
>     compiler.go:153:  2: goja.resolveVar1(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.getVar1(o)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.setProp(x)
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(o)
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja.setProp(y)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.getVar1(o)
>     compiler.go:153:  15: goja._enumerate({})
>     compiler.go:153:  16: goja._loadUndef({})
>     compiler.go:153:  17: goja.enumNext(9)
>     compiler.go:153:  18: goja.resolveVar1(i)
>     compiler.go:153:  19: goja._enumGet({})
>     compiler.go:153:  20: goja._putValue({})
>     compiler.go:153:  21: goja._pop({})
>     compiler.go:153:  22: goja.loadVal(2)
>     compiler.go:153:  23: goja.rdupN(1)
>     compiler.go:153:  24: goja._pop({})
>     compiler.go:153:  25: goja.jump(-8)
>     compiler.go:153:  26: goja._enumPop({})
>     compiler.go:153:  27: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestForInLoopRet (0.00s)
> === RUN   TestWhileLoopResult
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja._loadUndef({})
>     compiler.go:153:  1: goja._halt({})
>     compiler_test.go:60: stack size: 1
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestWhileLoopResult (0.00s)
> === RUN   TestSwitch
>     compiler.go:151: values: [0 1 2 4]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa373c50 F 1 false 2 165})
>     compiler.go:151: values: [0 1 2 3]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 1})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja._dup({})
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_eq({})
>     compiler.go:153: > 8: goja.jne(3)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.jump(21)
>     compiler.go:153: > 11: goja._dup({})
>     compiler.go:153: > 12: goja.loadVal(1)
>     compiler.go:153: > 13: goja._op_strict_eq({})
>     compiler.go:153: > 14: goja.jne(3)
>     compiler.go:153: > 15: goja._pop({})
>     compiler.go:153: > 16: goja.jump(19)
>     compiler.go:153: > 17: goja._dup({})
>     compiler.go:153: > 18: goja.loadVal(2)
>     compiler.go:153: > 19: goja._op_strict_eq({})
>     compiler.go:153: > 20: goja.jne(3)
>     compiler.go:153: > 21: goja._pop({})
>     compiler.go:153: > 22: goja.jump(21)
>     compiler.go:153: > 23: goja._dup({})
>     compiler.go:153: > 24: goja.loadVal(3)
>     compiler.go:153: > 25: goja._op_strict_eq({})
>     compiler.go:153: > 26: goja.jne(3)
>     compiler.go:153: > 27: goja._pop({})
>     compiler.go:153: > 28: goja.jump(20)
>     compiler.go:153: > 29: goja._pop({})
>     compiler.go:153: > 30: goja.jump(9)
>     compiler.go:153: > 31: goja.loadStack(1)
>     compiler.go:153: > 32: goja._inc({})
>     compiler.go:153: > 33: goja.storeStack(1)
>     compiler.go:153: > 34: goja._pop({})
>     compiler.go:153: > 35: goja.loadStack(1)
>     compiler.go:153: > 36: goja._inc({})
>     compiler.go:153: > 37: goja.storeStack(1)
>     compiler.go:153: > 38: goja._pop({})
>     compiler.go:153: > 39: goja.loadStack(1)
>     compiler.go:153: > 40: goja._inc({})
>     compiler.go:153: > 41: goja.storeStack(1)
>     compiler.go:153: > 42: goja._pop({})
>     compiler.go:153: > 43: goja.loadStack(1)
>     compiler.go:153: > 44: goja._inc({})
>     compiler.go:153: > 45: goja.storeStack(1)
>     compiler.go:153: > 46: goja._pop({})
>     compiler.go:153: > 47: goja.jump(5)
>     compiler.go:153: > 48: goja.loadStack(1)
>     compiler.go:153: > 49: goja._inc({})
>     compiler.go:153: > 50: goja.storeStack(1)
>     compiler.go:153: > 51: goja._pop({})
>     compiler.go:153: > 52: goja.loadStack(1)
>     compiler.go:153: > 53: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.call(1)
>     compiler.go:153:  9: goja._loadUndef({})
>     compiler.go:153:  10: goja.getVar1Callee(F)
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja.call(1)
>     compiler.go:153:  13: goja._add({})
>     compiler.go:153:  14: goja._loadUndef({})
>     compiler.go:153:  15: goja.getVar1Callee(F)
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja.call(1)
>     compiler.go:153:  18: goja._add({})
>     compiler.go:153:  19: goja._loadUndef({})
>     compiler.go:153:  20: goja.getVar1Callee(F)
>     compiler.go:153:  21: goja.loadVal(3)
>     compiler.go:153:  22: goja.call(1)
>     compiler.go:153:  23: goja._add({})
>     compiler.go:153:  24: goja._halt({})
>     compiler_test.go:60: stack size: 8
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSwitch (0.00s)
> === RUN   TestSwitchDefFirst
>     compiler.go:151: values: [0 1 2 4]
>     compiler.go:153:  0: goja.bindName(F)
>     compiler.go:153:  1: goja.resolveVar1(F)
>     compiler.go:153:  2: *goja.newFunc(&{0xa01a4e0 F 1 false 2 165})
>     compiler.go:151: values: [0 1 2 3]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 1})
>     compiler.go:153: > 1: goja.loadVal(0)
>     compiler.go:153: > 2: goja.storeStack(1)
>     compiler.go:153: > 3: goja._pop({})
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja._dup({})
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_eq({})
>     compiler.go:153: > 8: goja.jne(3)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.jump(24)
>     compiler.go:153: > 11: goja._dup({})
>     compiler.go:153: > 12: goja.loadVal(1)
>     compiler.go:153: > 13: goja._op_strict_eq({})
>     compiler.go:153: > 14: goja.jne(3)
>     compiler.go:153: > 15: goja._pop({})
>     compiler.go:153: > 16: goja.jump(22)
>     compiler.go:153: > 17: goja._dup({})
>     compiler.go:153: > 18: goja.loadVal(2)
>     compiler.go:153: > 19: goja._op_strict_eq({})
>     compiler.go:153: > 20: goja.jne(3)
>     compiler.go:153: > 21: goja._pop({})
>     compiler.go:153: > 22: goja.jump(20)
>     compiler.go:153: > 23: goja._dup({})
>     compiler.go:153: > 24: goja.loadVal(3)
>     compiler.go:153: > 25: goja._op_strict_eq({})
>     compiler.go:153: > 26: goja.jne(3)
>     compiler.go:153: > 27: goja._pop({})
>     compiler.go:153: > 28: goja.jump(19)
>     compiler.go:153: > 29: goja._pop({})
>     compiler.go:153: > 30: goja.loadStack(1)
>     compiler.go:153: > 31: goja._inc({})
>     compiler.go:153: > 32: goja.storeStack(1)
>     compiler.go:153: > 33: goja._pop({})
>     compiler.go:153: > 34: goja.loadStack(1)
>     compiler.go:153: > 35: goja._inc({})
>     compiler.go:153: > 36: goja.storeStack(1)
>     compiler.go:153: > 37: goja._pop({})
>     compiler.go:153: > 38: goja.loadStack(1)
>     compiler.go:153: > 39: goja._inc({})
>     compiler.go:153: > 40: goja.storeStack(1)
>     compiler.go:153: > 41: goja._pop({})
>     compiler.go:153: > 42: goja.loadStack(1)
>     compiler.go:153: > 43: goja._inc({})
>     compiler.go:153: > 44: goja.storeStack(1)
>     compiler.go:153: > 45: goja._pop({})
>     compiler.go:153: > 46: goja.jump(5)
>     compiler.go:153: > 47: goja.loadStack(1)
>     compiler.go:153: > 48: goja._inc({})
>     compiler.go:153: > 49: goja.storeStack(1)
>     compiler.go:153: > 50: goja._pop({})
>     compiler.go:153: > 51: goja.loadStack(1)
>     compiler.go:153: > 52: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(F)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.call(1)
>     compiler.go:153:  9: goja._loadUndef({})
>     compiler.go:153:  10: goja.getVar1Callee(F)
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja.call(1)
>     compiler.go:153:  13: goja._add({})
>     compiler.go:153:  14: goja._loadUndef({})
>     compiler.go:153:  15: goja.getVar1Callee(F)
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja.call(1)
>     compiler.go:153:  18: goja._add({})
>     compiler.go:153:  19: goja._loadUndef({})
>     compiler.go:153:  20: goja.getVar1Callee(F)
>     compiler.go:153:  21: goja.loadVal(3)
>     compiler.go:153:  22: goja.call(1)
>     compiler.go:153:  23: goja._add({})
>     compiler.go:153:  24: goja._halt({})
>     compiler_test.go:60: stack size: 8
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSwitchDefFirst (0.00s)
> === RUN   TestSwitchResult
>     compiler.go:151: values: [2 0 1 3 zero one two three default]
>     compiler.go:153:  0: goja.bindName(x)
>     compiler.go:153:  1: goja.resolveVar1(x)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1(x)
>     compiler.go:153:  7: goja._dup({})
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja._op_strict_eq({})
>     compiler.go:153:  10: goja.jne(3)
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.jump(21)
>     compiler.go:153:  13: goja._dup({})
>     compiler.go:153:  14: goja.loadVal(2)
>     compiler.go:153:  15: goja._op_strict_eq({})
>     compiler.go:153:  16: goja.jne(3)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.jump(17)
>     compiler.go:153:  19: goja._dup({})
>     compiler.go:153:  20: goja.loadVal(0)
>     compiler.go:153:  21: goja._op_strict_eq({})
>     compiler.go:153:  22: goja.jne(3)
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja.jump(13)
>     compiler.go:153:  25: goja._dup({})
>     compiler.go:153:  26: goja.loadVal(3)
>     compiler.go:153:  27: goja._op_strict_eq({})
>     compiler.go:153:  28: goja.jne(3)
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.jump(10)
>     compiler.go:153:  31: goja._pop({})
>     compiler.go:153:  32: goja.jump(10)
>     compiler.go:153:  33: goja._pop({})
>     compiler.go:153:  34: goja.loadVal(4)
>     compiler.go:153:  35: goja._pop({})
>     compiler.go:153:  36: goja.loadVal(5)
>     compiler.go:153:  37: goja._pop({})
>     compiler.go:153:  38: goja.loadVal(6)
>     compiler.go:153:  39: goja.jump(5)
>     compiler.go:153:  40: goja._pop({})
>     compiler.go:153:  41: goja.loadVal(7)
>     compiler.go:153:  42: goja._pop({})
>     compiler.go:153:  43: goja.loadVal(8)
>     compiler.go:153:  44: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSwitchResult (0.00s)
> === RUN   TestSwitchNoMatch
>     compiler.go:151: values: [5 0 2]
>     compiler.go:153:  0: goja.bindName(x)
>     compiler.go:153:  1: goja.bindName(result)
>     compiler.go:153:  2: goja.resolveVar1(x)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.getVar1(x)
>     compiler.go:153:  7: goja._dup({})
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja._op_strict_eq({})
>     compiler.go:153:  10: goja.jne(3)
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.jump(3)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.jump(6)
>     compiler.go:153:  15: goja.resolveVar1(result)
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.jump(1)
>     compiler.go:153:  20: goja.getVar1(result)
>     compiler.go:153:  21: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSwitchNoMatch (0.00s)
> === RUN   TestGetOwnPropertyNames
>     compiler.go:151: values: [42 test false prop1 prop2 true]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(hasProp1)
>     compiler.go:153:  2: goja.bindName(hasProp2)
>     compiler.go:153:  3: goja.bindName(names)
>     compiler.go:153:  4: goja.bindName(i)
>     compiler.go:153:  5: goja.bindName(p)
>     compiler.go:153:  6: goja.resolveVar1(o)
>     compiler.go:153:  7: goja._newObject({})
>     compiler.go:153:  8: goja.loadVal(0)
>     compiler.go:153:  9: goja.setProp1(prop1)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja.setProp1(prop2)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.resolveVar1(hasProp1)
>     compiler.go:153:  15: goja.loadVal(2)
>     compiler.go:153:  16: goja._putValue({})
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.resolveVar1(hasProp2)
>     compiler.go:153:  19: goja.loadVal(2)
>     compiler.go:153:  20: goja._putValue({})
>     compiler.go:153:  21: goja._pop({})
>     compiler.go:153:  22: goja.resolveVar1(names)
>     compiler.go:153:  23: goja.getVar1(Object)
>     compiler.go:153:  24: goja._dup({})
>     compiler.go:153:  25: goja.getPropCallee(getOwnPropertyNames)
>     compiler.go:153:  26: goja.getVar1(o)
>     compiler.go:153:  27: goja.call(1)
>     compiler.go:153:  28: goja._putValue({})
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.getVar1(names)
>     compiler.go:153:  31: goja._enumerate({})
>     compiler.go:153:  32: goja.enumNext(37)
>     compiler.go:153:  33: goja.resolveVar1(i)
>     compiler.go:153:  34: goja._enumGet({})
>     compiler.go:153:  35: goja._putValue({})
>     compiler.go:153:  36: goja._pop({})
>     compiler.go:153:  37: goja.resolveVar1(p)
>     compiler.go:153:  38: goja.getVar1(names)
>     compiler.go:153:  39: goja.getVar1(i)
>     compiler.go:153:  40: goja._getElem({})
>     compiler.go:153:  41: goja._putValue({})
>     compiler.go:153:  42: goja._pop({})
>     compiler.go:153:  43: goja.getVar1(p)
>     compiler.go:153:  44: goja._dup({})
>     compiler.go:153:  45: goja.loadVal(3)
>     compiler.go:153:  46: goja._op_strict_eq({})
>     compiler.go:153:  47: goja.jne(3)
>     compiler.go:153:  48: goja._pop({})
>     compiler.go:153:  49: goja.jump(9)
>     compiler.go:153:  50: goja._dup({})
>     compiler.go:153:  51: goja.loadVal(4)
>     compiler.go:153:  52: goja._op_strict_eq({})
>     compiler.go:153:  53: goja.jne(3)
>     compiler.go:153:  54: goja._pop({})
>     compiler.go:153:  55: goja.jump(8)
>     compiler.go:153:  56: goja._pop({})
>     compiler.go:153:  57: goja.jump(11)
>     compiler.go:153:  58: goja.resolveVar1(hasProp1)
>     compiler.go:153:  59: goja.loadVal(5)
>     compiler.go:153:  60: goja._putValue({})
>     compiler.go:153:  61: goja._pop({})
>     compiler.go:153:  62: goja.jump(6)
>     compiler.go:153:  63: goja.resolveVar1(hasProp2)
>     compiler.go:153:  64: goja.loadVal(5)
>     compiler.go:153:  65: goja._putValue({})
>     compiler.go:153:  66: goja._pop({})
>     compiler.go:153:  67: goja.jump(1)
>     compiler.go:153:  68: goja.jump(-36)
>     compiler.go:153:  69: goja._enumPop({})
>     compiler.go:153:  70: goja.getVar1(hasProp1)
>     compiler.go:153:  71: goja.jneq1(3)
>     compiler.go:153:  72: goja._pop({})
>     compiler.go:153:  73: goja.getVar1(hasProp2)
>     compiler.go:153:  74: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestGetOwnPropertyNames (0.00s)
> === RUN   TestArrayLiteral
>     compiler.go:151: values: [false true]
>     compiler.go:153:  0: goja.bindName(f1Called)
>     compiler.go:153:  1: goja.bindName(f2Called)
>     compiler.go:153:  2: goja.bindName(f3Called)
>     compiler.go:153:  3: goja.bindName(errorThrown)
>     compiler.go:153:  4: goja.bindName(F1)
>     compiler.go:153:  5: goja.bindName(F2)
>     compiler.go:153:  6: goja.bindName(F3)
>     compiler.go:153:  7: goja.bindName(a)
>     compiler.go:153:  8: goja.resolveVar1(F1)
>     compiler.go:153:  9: *goja.newFunc(&{0xa01b3b0 F1 0 false 99 136})
>     compiler.go:151: values: [true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(f1Called)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja.resolveVar1(F2)
>     compiler.go:153:  13: *goja.newFunc(&{0xa01b3e0 F2 0 false 139 176})
>     compiler.go:151: values: [true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(f2Called)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  14: goja._putValue({})
>     compiler.go:153:  15: goja._pop({})
>     compiler.go:153:  16: goja.resolveVar1(F3)
>     compiler.go:153:  17: *goja.newFunc(&{0xa01b410 F3 0 false 179 216})
>     compiler.go:151: values: [true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(f3Called)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._putValue({})
>     compiler.go:153: > 4: goja._pop({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  18: goja._putValue({})
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.resolveVar1(f1Called)
>     compiler.go:153:  21: goja.loadVal(0)
>     compiler.go:153:  22: goja._putValue({})
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja.resolveVar1(f2Called)
>     compiler.go:153:  25: goja.loadVal(0)
>     compiler.go:153:  26: goja._putValue({})
>     compiler.go:153:  27: goja._pop({})
>     compiler.go:153:  28: goja.resolveVar1(f3Called)
>     compiler.go:153:  29: goja.loadVal(0)
>     compiler.go:153:  30: goja._putValue({})
>     compiler.go:153:  31: goja._pop({})
>     compiler.go:153:  32: goja.resolveVar1(errorThrown)
>     compiler.go:153:  33: goja.loadVal(0)
>     compiler.go:153:  34: goja._putValue({})
>     compiler.go:153:  35: goja._pop({})
>     compiler.go:153:  36: goja.try({20 0 true})
>     compiler.go:153:  37: goja.resolveVar1(a)
>     compiler.go:153:  38: goja._loadUndef({})
>     compiler.go:153:  39: goja.getVar1Callee(F1)
>     compiler.go:153:  40: goja.call(0)
>     compiler.go:153:  41: goja._loadUndef({})
>     compiler.go:153:  42: goja.getVar1Callee(x)
>     compiler.go:153:  43: goja._loadUndef({})
>     compiler.go:153:  44: goja.getVar1Callee(F3)
>     compiler.go:153:  45: goja.call(0)
>     compiler.go:153:  46: goja.call(1)
>     compiler.go:153:  47: goja._loadUndef({})
>     compiler.go:153:  48: goja.getVar1Callee(F2)
>     compiler.go:153:  49: goja.call(0)
>     compiler.go:153:  50: goja.newArray(3)
>     compiler.go:153:  51: goja._putValue({})
>     compiler.go:153:  52: goja._pop({})
>     compiler.go:153:  53: goja._halt({})
>     compiler.go:153:  54: goja.jump(15)
>     compiler.go:153:  55: <nil>(<nil>)
>     compiler.go:153:  56: goja.enterCatch(e)
>     compiler.go:153:  57: goja.getLocal(0)
>     compiler.go:153:  58: goja.getVar1(ReferenceError)
>     compiler.go:153:  59: goja._op_instanceof({})
>     compiler.go:153:  60: goja.jne(6)
>     compiler.go:153:  61: goja.resolveVar1(errorThrown)
>     compiler.go:153:  62: goja.loadVal(1)
>     compiler.go:153:  63: goja._putValue({})
>     compiler.go:153:  64: goja._pop({})
>     compiler.go:153:  65: goja.jump(3)
>     compiler.go:153:  66: goja.getLocal(0)
>     compiler.go:153:  67: goja._throw({})
>     compiler.go:153:  68: goja._halt({})
>     compiler.go:153:  69: goja.getVar1(f1Called)
>     compiler.go:153:  70: goja.jneq1(4)
>     compiler.go:153:  71: goja._pop({})
>     compiler.go:153:  72: goja.getVar1(f2Called)
>     compiler.go:153:  73: goja._not({})
>     compiler.go:153:  74: goja.jneq1(3)
>     compiler.go:153:  75: goja._pop({})
>     compiler.go:153:  76: goja.getVar1(f3Called)
>     compiler.go:153:  77: goja.jneq1(3)
>     compiler.go:153:  78: goja._pop({})
>     compiler.go:153:  79: goja.getVar1(errorThrown)
>     compiler.go:153:  80: goja.jneq1(5)
>     compiler.go:153:  81: goja._pop({})
>     compiler.go:153:  82: goja.getVar1(a)
>     compiler.go:153:  83: goja.getVar1(undefined)
>     compiler.go:153:  84: goja._op_strict_eq({})
>     compiler.go:153:  85: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestArrayLiteral (0.00s)
> === RUN   TestJumpOutOfReturn
>     compiler.go:151: values: []
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa01b860 f 0 false 2 64})
>     compiler.go:151: values: [0 true]
>     compiler.go:153: > 0: goja.enterFuncStashless({1 0})
>     compiler.go:153: > 1: goja.loadStack(1)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._op_eq({})
>     compiler.go:153: > 4: goja.jne(3)
>     compiler.go:153: > 5: goja.loadVal(1)
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153: > 7: goja._loadUndef({})
>     compiler.go:153: > 8: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.call(0)
>     compiler.go:153:  8: goja._halt({})
>     compiler_test.go:60: stack size: 5
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestJumpOutOfReturn (0.00s)
> === RUN   TestSwitchJumpOutOfReturn
>     compiler.go:151: values: [0]
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.resolveVar1(f)
>     compiler.go:153:  2: *goja.newFunc(&{0xa01bc50 f 1 false 2 82})
>     compiler.go:151: values: [0]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja._dup({})
>     compiler.go:153: > 3: goja.loadVal(0)
>     compiler.go:153: > 4: goja._op_strict_eq({})
>     compiler.go:153: > 5: goja.jne(3)
>     compiler.go:153: > 6: goja._pop({})
>     compiler.go:153: > 7: goja.jump(3)
>     compiler.go:153: > 8: goja._pop({})
>     compiler.go:153: > 9: goja.jump(2)
>     compiler.go:153: > 10: goja.jump(3)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja._retStashless({})
>     compiler.go:153: > 13: goja._loadUndef({})
>     compiler.go:153: > 14: goja._retStashless({})
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja._loadUndef({})
>     compiler.go:153:  6: goja.getVar1Callee(f)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja.call(1)
>     compiler.go:153:  9: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSwitchJumpOutOfReturn (0.00s)
> === RUN   TestSetToReadOnlyPropertyStrictBracket
>     compiler.go:151: values: [false test 42 true 43]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(thrown)
>     compiler.go:153:  2: goja.resolveVar1Strict(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(Object)
>     compiler.go:153:  11: goja._dup({})
>     compiler.go:153:  12: goja.getPropCallee(defineProperty)
>     compiler.go:153:  13: goja.getVar1(o)
>     compiler.go:153:  14: goja.loadVal(1)
>     compiler.go:153:  15: goja._newObject({})
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja.setProp1(value)
>     compiler.go:153:  18: goja.loadVal(3)
>     compiler.go:153:  19: goja.setProp1(configurable)
>     compiler.go:153:  20: goja.call(3)
>     compiler.go:153:  21: goja._pop({})
>     compiler.go:153:  22: goja.try({9 0 true})
>     compiler.go:153:  23: goja.getVar1(o)
>     compiler.go:153:  24: goja.loadVal(1)
>     compiler.go:153:  25: goja.loadVal(4)
>     compiler.go:153:  26: goja._setElemStrict({})
>     compiler.go:153:  27: goja._pop({})
>     compiler.go:153:  28: goja._halt({})
>     compiler.go:153:  29: goja.jump(10)
>     compiler.go:153:  30: <nil>(<nil>)
>     compiler.go:153:  31: goja.enterCatch(e)
>     compiler.go:153:  32: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  33: goja.getLocal(0)
>     compiler.go:153:  34: goja.getVar1(TypeError)
>     compiler.go:153:  35: goja._op_instanceof({})
>     compiler.go:153:  36: goja._putValue({})
>     compiler.go:153:  37: goja._pop({})
>     compiler.go:153:  38: goja._halt({})
>     compiler.go:153:  39: goja.getVar1(thrown)
>     compiler.go:153:  40: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestSetToReadOnlyPropertyStrictBracket (0.00s)
> === RUN   TestSetToReadOnlyPropertyStrictDot
>     compiler.go:151: values: [false test 42 true 43]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(thrown)
>     compiler.go:153:  2: goja.resolveVar1Strict(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(Object)
>     compiler.go:153:  11: goja._dup({})
>     compiler.go:153:  12: goja.getPropCallee(defineProperty)
>     compiler.go:153:  13: goja.getVar1(o)
>     compiler.go:153:  14: goja.loadVal(1)
>     compiler.go:153:  15: goja._newObject({})
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja.setProp1(value)
>     compiler.go:153:  18: goja.loadVal(3)
>     compiler.go:153:  19: goja.setProp1(configurable)
>     compiler.go:153:  20: goja.call(3)
>     compiler.go:153:  21: goja._pop({})
>     compiler.go:153:  22: goja.try({8 0 true})
>     compiler.go:153:  23: goja.getVar1(o)
>     compiler.go:153:  24: goja.loadVal(4)
>     compiler.go:153:  25: goja.setPropStrict(test)
>     compiler.go:153:  26: goja._pop({})
>     compiler.go:153:  27: goja._halt({})
>     compiler.go:153:  28: goja.jump(10)
>     compiler.go:153:  29: <nil>(<nil>)
>     compiler.go:153:  30: goja.enterCatch(e)
>     compiler.go:153:  31: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  32: goja.getLocal(0)
>     compiler.go:153:  33: goja.getVar1(TypeError)
>     compiler.go:153:  34: goja._op_instanceof({})
>     compiler.go:153:  35: goja._putValue({})
>     compiler.go:153:  36: goja._pop({})
>     compiler.go:153:  37: goja._halt({})
>     compiler.go:153:  38: goja.getVar1(thrown)
>     compiler.go:153:  39: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestSetToReadOnlyPropertyStrictDot (0.00s)
> === RUN   TestDeleteNonConfigurablePropertyStrictBracket
>     compiler.go:151: values: [false test 42]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(thrown)
>     compiler.go:153:  2: goja.resolveVar1Strict(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(Object)
>     compiler.go:153:  11: goja._dup({})
>     compiler.go:153:  12: goja.getPropCallee(defineProperty)
>     compiler.go:153:  13: goja.getVar1(o)
>     compiler.go:153:  14: goja.loadVal(1)
>     compiler.go:153:  15: goja._newObject({})
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja.setProp1(value)
>     compiler.go:153:  18: goja.call(3)
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.try({8 0 true})
>     compiler.go:153:  21: goja.getVar1(o)
>     compiler.go:153:  22: goja.loadVal(1)
>     compiler.go:153:  23: goja._deleteElemStrict({})
>     compiler.go:153:  24: goja._pop({})
>     compiler.go:153:  25: goja._halt({})
>     compiler.go:153:  26: goja.jump(10)
>     compiler.go:153:  27: <nil>(<nil>)
>     compiler.go:153:  28: goja.enterCatch(e)
>     compiler.go:153:  29: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  30: goja.getLocal(0)
>     compiler.go:153:  31: goja.getVar1(TypeError)
>     compiler.go:153:  32: goja._op_instanceof({})
>     compiler.go:153:  33: goja._putValue({})
>     compiler.go:153:  34: goja._pop({})
>     compiler.go:153:  35: goja._halt({})
>     compiler.go:153:  36: goja.getVar1(thrown)
>     compiler.go:153:  37: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestDeleteNonConfigurablePropertyStrictBracket (0.00s)
> === RUN   TestDeleteNonConfigurablePropertyStrictDot
>     compiler.go:151: values: [false test 42]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.bindName(thrown)
>     compiler.go:153:  2: goja.resolveVar1Strict(o)
>     compiler.go:153:  3: goja._newObject({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(Object)
>     compiler.go:153:  11: goja._dup({})
>     compiler.go:153:  12: goja.getPropCallee(defineProperty)
>     compiler.go:153:  13: goja.getVar1(o)
>     compiler.go:153:  14: goja.loadVal(1)
>     compiler.go:153:  15: goja._newObject({})
>     compiler.go:153:  16: goja.loadVal(2)
>     compiler.go:153:  17: goja.setProp1(value)
>     compiler.go:153:  18: goja.call(3)
>     compiler.go:153:  19: goja._pop({})
>     compiler.go:153:  20: goja.try({7 0 true})
>     compiler.go:153:  21: goja.getVar1(o)
>     compiler.go:153:  22: goja.deletePropStrict(test)
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja._halt({})
>     compiler.go:153:  25: goja.jump(10)
>     compiler.go:153:  26: <nil>(<nil>)
>     compiler.go:153:  27: goja.enterCatch(e)
>     compiler.go:153:  28: goja.resolveVar1Strict(thrown)
>     compiler.go:153:  29: goja.getLocal(0)
>     compiler.go:153:  30: goja.getVar1(TypeError)
>     compiler.go:153:  31: goja._op_instanceof({})
>     compiler.go:153:  32: goja._putValue({})
>     compiler.go:153:  33: goja._pop({})
>     compiler.go:153:  34: goja._halt({})
>     compiler.go:153:  35: goja.getVar1(thrown)
>     compiler.go:153:  36: goja._halt({})
>     compiler_test.go:60: stack size: 6
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestDeleteNonConfigurablePropertyStrictDot (0.00s)
> === RUN   TestCompound1
>     compiler.go:151: values: [0 1 2]
>     compiler.go:153:  0: goja.bindName(x)
>     compiler.go:153:  1: goja.bindName(scope)
>     compiler.go:153:  2: goja.bindName(f)
>     compiler.go:153:  3: goja.resolveVar1(x)
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(scope)
>     compiler.go:153:  8: goja._newObject({})
>     compiler.go:153:  9: goja.loadVal(1)
>     compiler.go:153:  10: goja.setProp1(x)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.getVar1(scope)
>     compiler.go:153:  14: goja._enterWith({})
>     compiler.go:153:  15: goja.resolveVar1(f)
>     compiler.go:153:  16: *goja.newFunc(&{0xa1e1230  0 false 76 132})
>     compiler.go:151: values: [2]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.resolveVar1(x)
>     compiler.go:153: > 2: goja._getValue({})
>     compiler.go:153: > 3: goja.getVar1(scope)
>     compiler.go:153: > 4: goja.deleteProp(x)
>     compiler.go:153: > 5: goja._pop({})
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._mul({})
>     compiler.go:153: > 8: goja._putValue({})
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja._loadUndef({})
>     compiler.go:153: > 11: goja._retStashless({})
>     compiler.go:153:  17: goja._putValue({})
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja._leaveWith({})
>     compiler.go:153:  20: goja._loadUndef({})
>     compiler.go:153:  21: goja.getVar1Callee(f)
>     compiler.go:153:  22: goja.call(0)
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja.getVar1(scope)
>     compiler.go:153:  25: goja.getProp(x)
>     compiler.go:153:  26: goja.loadVal(2)
>     compiler.go:153:  27: goja._op_strict_eq({})
>     compiler.go:153:  28: goja.jneq1(5)
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.getVar1(x)
>     compiler.go:153:  31: goja.loadVal(0)
>     compiler.go:153:  32: goja._op_strict_eq({})
>     compiler.go:153:  33: goja._halt({})
>     compiler_test.go:60: stack size: 4
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestCompound1 (0.00s)
> === RUN   TestCompound2
>     compiler.go:151: values: [x 1]
>     compiler.go:153:  0: goja.bindName(x)
>     compiler.go:153:  1: goja.resolveVar1(x)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.resolveVar1(x)
>     compiler.go:153:  6: goja._loadUndef({})
>     compiler.go:153:  7: goja._getValue({})
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja._xor({})
>     compiler.go:153:  10: goja.rdupN(1)
>     compiler.go:153:  11: goja._putValue({})
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestCompound2 (0.00s)
> === RUN   TestDeleteArguments
> --- PASS: TestDeleteArguments (0.00s)
> === RUN   TestReturnUndefined
>     compiler.go:151: values: [false]
>     compiler.go:153:  0: goja.bindName(f)
>     compiler.go:153:  1: goja.bindName(thrown)
>     compiler.go:153:  2: goja.resolveVar1(f)
>     compiler.go:153:  3: *goja.newFunc(&{0xa1e1a10 f 0 false 2 35})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 0})
>     compiler.go:153: > 1: goja.getVar1(x)
>     compiler.go:153: > 2: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(thrown)
>     compiler.go:153:  7: goja.loadVal(0)
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.try({8 0 true})
>     compiler.go:153:  11: goja._loadUndef({})
>     compiler.go:153:  12: goja.getVar1Callee(f)
>     compiler.go:153:  13: goja.call(0)
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja._halt({})
>     compiler.go:153:  16: goja.jump(10)
>     compiler.go:153:  17: <nil>(<nil>)
>     compiler.go:153:  18: goja.enterCatch(e)
>     compiler.go:153:  19: goja.resolveVar1(thrown)
>     compiler.go:153:  20: goja.getLocal(0)
>     compiler.go:153:  21: goja.getVar1(ReferenceError)
>     compiler.go:153:  22: goja._op_instanceof({})
>     compiler.go:153:  23: goja._putValue({})
>     compiler.go:153:  24: goja._pop({})
>     compiler.go:153:  25: goja._halt({})
>     compiler.go:153:  26: goja.getVar1(thrown)
>     compiler.go:153:  27: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestReturnUndefined (0.00s)
> === RUN   TestForBreak
>     compiler.go:151: values: [5 for(count=0;;) {if (count===supreme)break;else count++; } undefined #1: __evaluated === 4. Actual:  __evaluated ===]
>     compiler.go:153:  0: goja.bindName(supreme)
>     compiler.go:153:  1: goja.bindName(count)
>     compiler.go:153:  2: goja.bindName(__evaluated)
>     compiler.go:153:  3: goja.resolveVar1(supreme)
>     compiler.go:153:  4: goja.loadVal(0)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(__evaluated)
>     compiler.go:153:  8: goja._loadUndef({})
>     compiler.go:153:  9: goja.getVar1Callee(eval)
>     compiler.go:153:  10: goja.loadVal(1)
>     compiler.go:153:  11: goja.callEval(1)
>     compiler.go:153:  12: goja._putValue({})
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.getVar1(__evaluated)
>     compiler.go:153:  15: goja.loadVal(2)
>     compiler.go:153:  16: goja._op_strict_neq({})
>     compiler.go:153:  17: goja.jne(7)
>     compiler.go:153:  18: goja.getVar1(Error)
>     compiler.go:153:  19: goja.loadVal(3)
>     compiler.go:153:  20: goja.getVar1(__evaluated)
>     compiler.go:153:  21: goja._add({})
>     compiler.go:153:  22: goja._new(1)
>     compiler.go:153:  23: goja._throw({})
>     compiler.go:153:  24: goja._loadUndef({})
>     compiler.go:153:  25: goja._halt({})
>     compiler_test.go:60: stack size: 7
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestForBreak (0.00s)
> === RUN   TestLargeNumberLiteral
>     compiler.go:151: values: [9.671406556917033e+24]
>     compiler.go:153:  0: goja.bindName(x)
>     compiler.go:153:  1: goja.resolveVar1(x)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.getVar1(x)
>     compiler.go:153:  6: goja._dup({})
>     compiler.go:153:  7: goja.getPropCallee(toString)
>     compiler.go:153:  8: goja.call(0)
>     compiler.go:153:  9: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestLargeNumberLiteral (0.00s)
> === RUN   TestIncDelete
>     compiler.go:151: values: [1]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.resolveVar1(o)
>     compiler.go:153:  2: goja._newObject({})
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja.setProp1(x)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.getVar1(o)
>     compiler.go:153:  8: goja._dup({})
>     compiler.go:153:  9: goja.getProp(x)
>     compiler.go:153:  10: goja.getVar1(o)
>     compiler.go:153:  11: goja.deleteProp(x)
>     compiler.go:153:  12: goja._pop({})
>     compiler.go:153:  13: goja.loadVal(0)
>     compiler.go:153:  14: goja._add({})
>     compiler.go:153:  15: goja.setProp(x)
>     compiler.go:153:  16: goja._pop({})
>     compiler.go:153:  17: goja.getVar1(o)
>     compiler.go:153:  18: goja.getProp(x)
>     compiler.go:153:  19: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestIncDelete (0.00s)
> === RUN   TestCompoundAssignRefError
>     compiler.go:151: values: [false 1 true]
>     compiler.go:153:  0: goja.bindName(thrown)
>     compiler.go:153:  1: goja.resolveVar1(thrown)
>     compiler.go:153:  2: goja.loadVal(0)
>     compiler.go:153:  3: goja._putValue({})
>     compiler.go:153:  4: goja._pop({})
>     compiler.go:153:  5: goja.try({10 0 true})
>     compiler.go:153:  6: goja.resolveVar1(a)
>     compiler.go:153:  7: goja._getValue({})
>     compiler.go:153:  8: goja.loadVal(1)
>     compiler.go:153:  9: goja._mul({})
>     compiler.go:153:  10: goja._putValue({})
>     compiler.go:153:  11: goja._pop({})
>     compiler.go:153:  12: goja._halt({})
>     compiler.go:153:  13: goja.jump(15)
>     compiler.go:153:  14: <nil>(<nil>)
>     compiler.go:153:  15: goja.enterCatch(e)
>     compiler.go:153:  16: goja.getLocal(0)
>     compiler.go:153:  17: goja.getVar1(ReferenceError)
>     compiler.go:153:  18: goja._op_instanceof({})
>     compiler.go:153:  19: goja.jne(6)
>     compiler.go:153:  20: goja.resolveVar1(thrown)
>     compiler.go:153:  21: goja.loadVal(2)
>     compiler.go:153:  22: goja._putValue({})
>     compiler.go:153:  23: goja._pop({})
>     compiler.go:153:  24: goja.jump(3)
>     compiler.go:153:  25: goja.getLocal(0)
>     compiler.go:153:  26: goja._throw({})
>     compiler.go:153:  27: goja._halt({})
>     compiler.go:153:  28: goja.getVar1(thrown)
>     compiler.go:153:  29: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 1
> --- PASS: TestCompoundAssignRefError (0.00s)
> === RUN   TestObjectLiteral__Proto__
>     compiler.go:151: values: [null 42]
>     compiler.go:153:  0: goja.bindName(o)
>     compiler.go:153:  1: goja.resolveVar1(o)
>     compiler.go:153:  2: goja._newObject({})
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._setProto({})
>     compiler.go:153:  5: goja.loadVal(1)
>     compiler.go:153:  6: goja.setProp1(test)
>     compiler.go:153:  7: goja._putValue({})
>     compiler.go:153:  8: goja._pop({})
>     compiler.go:153:  9: goja.getVar1(Object)
>     compiler.go:153:  10: goja._dup({})
>     compiler.go:153:  11: goja.getPropCallee(getPrototypeOf)
>     compiler.go:153:  12: goja.getVar1(o)
>     compiler.go:153:  13: goja.call(1)
>     compiler.go:153:  14: goja._halt({})
>     compiler_test.go:60: stack size: 3
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestObjectLiteral__Proto__ (0.00s)
> === RUN   TestDateUTC
>     compiler.go:151: values: [1970 0 1970, 0 2016 1451606400000 2016, 0 6 1467331200000 2016, 6 1 2016, 6, 1 5 1467676800000 2016, 6, 5 2016, 6, 5, 0 15 1467730800000 2016, 6, 5, 15 2016, 6, 5, 15, 0 34 1467732840000 2016, 6, 5, 15, 34 2016, 6, 5, 15, 34, 0 45 1467732885000 2016, 6, 5, 15, 34, 45]
>     compiler.go:153:  0: goja.bindName($ERROR)
>     compiler.go:153:  1: goja.bindName(assert)
>     compiler.go:153:  2: goja.resolveVar1($ERROR)
>     compiler.go:153:  3: *goja.newFunc(&{0xa2633b0 $ERROR 1 false 1 56})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.getVar1(Error)
>     compiler.go:153: > 2: goja.loadStack(-1)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(assert)
>     compiler.go:153:  7: *goja.newFunc(&{0xa2633e0 assert 2 false 58 277})
>     compiler.go:151: values: [true Expected true but got ]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(3)
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153: > 7: goja.loadStack(-2)
>     compiler.go:153: > 8: goja.getVar1(undefined)
>     compiler.go:153: > 9: goja._op_strict_eq({})
>     compiler.go:153: > 10: goja.jne(9)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja._loadUndef({})
>     compiler.go:153: > 13: goja.getVar1Callee(String)
>     compiler.go:153: > 14: goja.loadStack(-1)
>     compiler.go:153: > 15: goja.call(1)
>     compiler.go:153: > 16: goja._add({})
>     compiler.go:153: > 17: goja.storeStack(-2)
>     compiler.go:153: > 18: goja._pop({})
>     compiler.go:153: > 19: goja._loadUndef({})
>     compiler.go:153: > 20: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 21: goja.loadStack(-2)
>     compiler.go:153: > 22: goja.call(1)
>     compiler.go:153: > 23: goja._pop({})
>     compiler.go:153: > 24: goja._loadUndef({})
>     compiler.go:153: > 25: goja._retStashless({})
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(assert)
>     compiler.go:153:  11: *goja.newFunc(&{0xa263410  2 false 301 478})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadStack(-2)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(14)
>     compiler.go:153: > 5: goja.loadStack(-1)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_neq({})
>     compiler.go:153: > 8: goja.jeq1(9)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadVal(1)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja._div({})
>     compiler.go:153: > 13: goja.loadVal(1)
>     compiler.go:153: > 14: goja.loadStack(-2)
>     compiler.go:153: > 15: goja._div({})
>     compiler.go:153: > 16: goja._op_strict_eq({})
>     compiler.go:153: > 17: goja._retStashless({})
>     compiler.go:153: > 18: goja.loadStack(-1)
>     compiler.go:153: > 19: goja.loadStack(-1)
>     compiler.go:153: > 20: goja._op_strict_neq({})
>     compiler.go:153: > 21: goja.jneq1(5)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-2)
>     compiler.go:153: > 24: goja.loadStack(-2)
>     compiler.go:153: > 25: goja._op_strict_neq({})
>     compiler.go:153: > 26: goja._retStashless({})
>     compiler.go:153:  12: goja.setProp(_isSameValue)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.getVar1(assert)
>     compiler.go:153:  15: *goja.newFunc(&{0xa263440  3 false 500 839})
>     compiler.go:151: values: [   Expected SameValue(« », « ») to be true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja.getVar1(assert)
>     compiler.go:153: > 2: goja._dup({})
>     compiler.go:153: > 3: goja.getPropCallee(_isSameValue)
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja.loadStack(-2)
>     compiler.go:153: > 6: goja.call(2)
>     compiler.go:153: > 7: goja.jne(3)
>     compiler.go:153: > 8: goja._loadUndef({})
>     compiler.go:153: > 9: goja._retStashless({})
>     compiler.go:153: > 10: goja.loadStack(-3)
>     compiler.go:153: > 11: goja.getVar1(undefined)
>     compiler.go:153: > 12: goja._op_strict_eq({})
>     compiler.go:153: > 13: goja.jne(5)
>     compiler.go:153: > 14: goja.loadVal(0)
>     compiler.go:153: > 15: goja.storeStack(-3)
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.jump(6)
>     compiler.go:153: > 18: goja.loadStack(-3)
>     compiler.go:153: > 19: goja.loadVal(1)
>     compiler.go:153: > 20: goja._add({})
>     compiler.go:153: > 21: goja.storeStack(-3)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-3)
>     compiler.go:153: > 24: goja.loadVal(2)
>     compiler.go:153: > 25: goja._loadUndef({})
>     compiler.go:153: > 26: goja.getVar1Callee(String)
>     compiler.go:153: > 27: goja.loadStack(-1)
>     compiler.go:153: > 28: goja.call(1)
>     compiler.go:153: > 29: goja._add({})
>     compiler.go:153: > 30: goja.loadVal(3)
>     compiler.go:153: > 31: goja._add({})
>     compiler.go:153: > 32: goja._loadUndef({})
>     compiler.go:153: > 33: goja.getVar1Callee(String)
>     compiler.go:153: > 34: goja.loadStack(-2)
>     compiler.go:153: > 35: goja.call(1)
>     compiler.go:153: > 36: goja._add({})
>     compiler.go:153: > 37: goja.loadVal(4)
>     compiler.go:153: > 38: goja._add({})
>     compiler.go:153: > 39: goja._add({})
>     compiler.go:153: > 40: goja.storeStack(-3)
>     compiler.go:153: > 41: goja._pop({})
>     compiler.go:153: > 42: goja._loadUndef({})
>     compiler.go:153: > 43: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 44: goja.loadStack(-3)
>     compiler.go:153: > 45: goja.call(1)
>     compiler.go:153: > 46: goja._pop({})
>     compiler.go:153: > 47: goja._loadUndef({})
>     compiler.go:153: > 48: goja._retStashless({})
>     compiler.go:153:  16: goja.setProp(sameValue)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.getVar1(assert)
>     compiler.go:153:  19: goja._dup({})
>     compiler.go:153:  20: goja.getPropCallee(sameValue)
>     compiler.go:153:  21: goja.getVar1(Date)
>     compiler.go:153:  22: goja._dup({})
>     compiler.go:153:  23: goja.getPropCallee(UTC)
>     compiler.go:153:  24: goja.loadVal(0)
>     compiler.go:153:  25: goja.loadVal(1)
>     compiler.go:153:  26: goja.call(2)
>     compiler.go:153:  27: goja.loadVal(1)
>     compiler.go:153:  28: goja.loadVal(2)
>     compiler.go:153:  29: goja.call(3)
>     compiler.go:153:  30: goja._pop({})
>     compiler.go:153:  31: goja.getVar1(assert)
>     compiler.go:153:  32: goja._dup({})
>     compiler.go:153:  33: goja.getPropCallee(sameValue)
>     compiler.go:153:  34: goja.getVar1(Date)
>     compiler.go:153:  35: goja._dup({})
>     compiler.go:153:  36: goja.getPropCallee(UTC)
>     compiler.go:153:  37: goja.loadVal(3)
>     compiler.go:153:  38: goja.loadVal(1)
>     compiler.go:153:  39: goja.call(2)
>     compiler.go:153:  40: goja.loadVal(4)
>     compiler.go:153:  41: goja.loadVal(5)
>     compiler.go:153:  42: goja.call(3)
>     compiler.go:153:  43: goja._pop({})
>     compiler.go:153:  44: goja.getVar1(assert)
>     compiler.go:153:  45: goja._dup({})
>     compiler.go:153:  46: goja.getPropCallee(sameValue)
>     compiler.go:153:  47: goja.getVar1(Date)
>     compiler.go:153:  48: goja._dup({})
>     compiler.go:153:  49: goja.getPropCallee(UTC)
>     compiler.go:153:  50: goja.loadVal(3)
>     compiler.go:153:  51: goja.loadVal(6)
>     compiler.go:153:  52: goja.call(2)
>     compiler.go:153:  53: goja.loadVal(7)
>     compiler.go:153:  54: goja.loadVal(8)
>     compiler.go:153:  55: goja.call(3)
>     compiler.go:153:  56: goja._pop({})
>     compiler.go:153:  57: goja.getVar1(assert)
>     compiler.go:153:  58: goja._dup({})
>     compiler.go:153:  59: goja.getPropCallee(sameValue)
>     compiler.go:153:  60: goja.getVar1(Date)
>     compiler.go:153:  61: goja._dup({})
>     compiler.go:153:  62: goja.getPropCallee(UTC)
>     compiler.go:153:  63: goja.loadVal(3)
>     compiler.go:153:  64: goja.loadVal(6)
>     compiler.go:153:  65: goja.loadVal(9)
>     compiler.go:153:  66: goja.call(3)
>     compiler.go:153:  67: goja.loadVal(7)
>     compiler.go:153:  68: goja.loadVal(10)
>     compiler.go:153:  69: goja.call(3)
>     compiler.go:153:  70: goja._pop({})
>     compiler.go:153:  71: goja.getVar1(assert)
>     compiler.go:153:  72: goja._dup({})
>     compiler.go:153:  73: goja.getPropCallee(sameValue)
>     compiler.go:153:  74: goja.getVar1(Date)
>     compiler.go:153:  75: goja._dup({})
>     compiler.go:153:  76: goja.getPropCallee(UTC)
>     compiler.go:153:  77: goja.loadVal(3)
>     compiler.go:153:  78: goja.loadVal(6)
>     compiler.go:153:  79: goja.loadVal(11)
>     compiler.go:153:  80: goja.call(3)
>     compiler.go:153:  81: goja.loadVal(12)
>     compiler.go:153:  82: goja.loadVal(13)
>     compiler.go:153:  83: goja.call(3)
>     compiler.go:153:  84: goja._pop({})
>     compiler.go:153:  85: goja.getVar1(assert)
>     compiler.go:153:  86: goja._dup({})
>     compiler.go:153:  87: goja.getPropCallee(sameValue)
>     compiler.go:153:  88: goja.getVar1(Date)
>     compiler.go:153:  89: goja._dup({})
>     compiler.go:153:  90: goja.getPropCallee(UTC)
>     compiler.go:153:  91: goja.loadVal(3)
>     compiler.go:153:  92: goja.loadVal(6)
>     compiler.go:153:  93: goja.loadVal(11)
>     compiler.go:153:  94: goja.loadVal(1)
>     compiler.go:153:  95: goja.call(4)
>     compiler.go:153:  96: goja.loadVal(12)
>     compiler.go:153:  97: goja.loadVal(14)
>     compiler.go:153:  98: goja.call(3)
>     compiler.go:153:  99: goja._pop({})
>     compiler.go:153:  100: goja.getVar1(assert)
>     compiler.go:153:  101: goja._dup({})
>     compiler.go:153:  102: goja.getPropCallee(sameValue)
>     compiler.go:153:  103: goja.getVar1(Date)
>     compiler.go:153:  104: goja._dup({})
>     compiler.go:153:  105: goja.getPropCallee(UTC)
>     compiler.go:153:  106: goja.loadVal(3)
>     compiler.go:153:  107: goja.loadVal(6)
>     compiler.go:153:  108: goja.loadVal(11)
>     compiler.go:153:  109: goja.loadVal(15)
>     compiler.go:153:  110: goja.call(4)
>     compiler.go:153:  111: goja.loadVal(16)
>     compiler.go:153:  112: goja.loadVal(17)
>     compiler.go:153:  113: goja.call(3)
>     compiler.go:153:  114: goja._pop({})
>     compiler.go:153:  115: goja.getVar1(assert)
>     compiler.go:153:  116: goja._dup({})
>     compiler.go:153:  117: goja.getPropCallee(sameValue)
>     compiler.go:153:  118: goja.getVar1(Date)
>     compiler.go:153:  119: goja._dup({})
>     compiler.go:153:  120: goja.getPropCallee(UTC)
>     compiler.go:153:  121: goja.loadVal(3)
>     compiler.go:153:  122: goja.loadVal(6)
>     compiler.go:153:  123: goja.loadVal(11)
>     compiler.go:153:  124: goja.loadVal(15)
>     compiler.go:153:  125: goja.loadVal(1)
>     compiler.go:153:  126: goja.call(5)
>     compiler.go:153:  127: goja.loadVal(16)
>     compiler.go:153:  128: goja.loadVal(18)
>     compiler.go:153:  129: goja.call(3)
>     compiler.go:153:  130: goja._pop({})
>     compiler.go:153:  131: goja.getVar1(assert)
>     compiler.go:153:  132: goja._dup({})
>     compiler.go:153:  133: goja.getPropCallee(sameValue)
>     compiler.go:153:  134: goja.getVar1(Date)
>     compiler.go:153:  135: goja._dup({})
>     compiler.go:153:  136: goja.getPropCallee(UTC)
>     compiler.go:153:  137: goja.loadVal(3)
>     compiler.go:153:  138: goja.loadVal(6)
>     compiler.go:153:  139: goja.loadVal(11)
>     compiler.go:153:  140: goja.loadVal(15)
>     compiler.go:153:  141: goja.loadVal(19)
>     compiler.go:153:  142: goja.call(5)
>     compiler.go:153:  143: goja.loadVal(20)
>     compiler.go:153:  144: goja.loadVal(21)
>     compiler.go:153:  145: goja.call(3)
>     compiler.go:153:  146: goja._pop({})
>     compiler.go:153:  147: goja.getVar1(assert)
>     compiler.go:153:  148: goja._dup({})
>     compiler.go:153:  149: goja.getPropCallee(sameValue)
>     compiler.go:153:  150: goja.getVar1(Date)
>     compiler.go:153:  151: goja._dup({})
>     compiler.go:153:  152: goja.getPropCallee(UTC)
>     compiler.go:153:  153: goja.loadVal(3)
>     compiler.go:153:  154: goja.loadVal(6)
>     compiler.go:153:  155: goja.loadVal(11)
>     compiler.go:153:  156: goja.loadVal(15)
>     compiler.go:153:  157: goja.loadVal(19)
>     compiler.go:153:  158: goja.loadVal(1)
>     compiler.go:153:  159: goja.call(6)
>     compiler.go:153:  160: goja.loadVal(20)
>     compiler.go:153:  161: goja.loadVal(22)
>     compiler.go:153:  162: goja.call(3)
>     compiler.go:153:  163: goja._pop({})
>     compiler.go:153:  164: goja.getVar1(assert)
>     compiler.go:153:  165: goja._dup({})
>     compiler.go:153:  166: goja.getPropCallee(sameValue)
>     compiler.go:153:  167: goja.getVar1(Date)
>     compiler.go:153:  168: goja._dup({})
>     compiler.go:153:  169: goja.getPropCallee(UTC)
>     compiler.go:153:  170: goja.loadVal(3)
>     compiler.go:153:  171: goja.loadVal(6)
>     compiler.go:153:  172: goja.loadVal(11)
>     compiler.go:153:  173: goja.loadVal(15)
>     compiler.go:153:  174: goja.loadVal(19)
>     compiler.go:153:  175: goja.loadVal(23)
>     compiler.go:153:  176: goja.call(6)
>     compiler.go:153:  177: goja.loadVal(24)
>     compiler.go:153:  178: goja.loadVal(25)
>     compiler.go:153:  179: goja.call(3)
>     compiler.go:153:  180: goja._halt({})
>     compiler_test.go:60: stack size: 12
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestDateUTC (0.00s)
> === RUN   TestNewDate
>     compiler.go:151: values: [2016-09-01T12:34:56Z 12]
>     compiler.go:153:  0: goja.bindName(d1)
>     compiler.go:153:  1: goja.resolveVar1(d1)
>     compiler.go:153:  2: goja.getVar1(Date)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._new(1)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.getVar1(d1)
>     compiler.go:153:  8: goja._dup({})
>     compiler.go:153:  9: goja.getPropCallee(getUTCHours)
>     compiler.go:153:  10: goja.call(0)
>     compiler.go:153:  11: goja.loadVal(1)
>     compiler.go:153:  12: goja._op_strict_eq({})
>     compiler.go:153:  13: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestNewDate (0.00s)
> === RUN   TestNewDate0
>     compiler.go:151: values: [0]
>     compiler.go:153:  0: goja.getVar1(Date)
>     compiler.go:153:  1: goja.loadVal(0)
>     compiler.go:153:  2: goja._new(1)
>     compiler.go:153:  3: goja._dup({})
>     compiler.go:153:  4: goja.getPropCallee(toUTCString)
>     compiler.go:153:  5: goja.call(0)
>     compiler.go:153:  6: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestNewDate0 (0.00s)
> === RUN   TestSetHour
>     compiler.go:151: values: [2016 8 1 12 23 45 16 13 9]
>     compiler.go:153:  0: goja.bindName($ERROR)
>     compiler.go:153:  1: goja.bindName(assert)
>     compiler.go:153:  2: goja.bindName(d)
>     compiler.go:153:  3: goja.resolveVar1($ERROR)
>     compiler.go:153:  4: *goja.newFunc(&{0xa31a3f0 $ERROR 1 false 1 56})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.getVar1(Error)
>     compiler.go:153: > 2: goja.loadStack(-1)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(assert)
>     compiler.go:153:  8: *goja.newFunc(&{0xa31a420 assert 2 false 58 277})
>     compiler.go:151: values: [true Expected true but got ]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(3)
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153: > 7: goja.loadStack(-2)
>     compiler.go:153: > 8: goja.getVar1(undefined)
>     compiler.go:153: > 9: goja._op_strict_eq({})
>     compiler.go:153: > 10: goja.jne(9)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja._loadUndef({})
>     compiler.go:153: > 13: goja.getVar1Callee(String)
>     compiler.go:153: > 14: goja.loadStack(-1)
>     compiler.go:153: > 15: goja.call(1)
>     compiler.go:153: > 16: goja._add({})
>     compiler.go:153: > 17: goja.storeStack(-2)
>     compiler.go:153: > 18: goja._pop({})
>     compiler.go:153: > 19: goja._loadUndef({})
>     compiler.go:153: > 20: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 21: goja.loadStack(-2)
>     compiler.go:153: > 22: goja.call(1)
>     compiler.go:153: > 23: goja._pop({})
>     compiler.go:153: > 24: goja._loadUndef({})
>     compiler.go:153: > 25: goja._retStashless({})
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.getVar1(assert)
>     compiler.go:153:  12: *goja.newFunc(&{0xa31a450  2 false 301 478})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadStack(-2)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(14)
>     compiler.go:153: > 5: goja.loadStack(-1)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_neq({})
>     compiler.go:153: > 8: goja.jeq1(9)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadVal(1)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja._div({})
>     compiler.go:153: > 13: goja.loadVal(1)
>     compiler.go:153: > 14: goja.loadStack(-2)
>     compiler.go:153: > 15: goja._div({})
>     compiler.go:153: > 16: goja._op_strict_eq({})
>     compiler.go:153: > 17: goja._retStashless({})
>     compiler.go:153: > 18: goja.loadStack(-1)
>     compiler.go:153: > 19: goja.loadStack(-1)
>     compiler.go:153: > 20: goja._op_strict_neq({})
>     compiler.go:153: > 21: goja.jneq1(5)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-2)
>     compiler.go:153: > 24: goja.loadStack(-2)
>     compiler.go:153: > 25: goja._op_strict_neq({})
>     compiler.go:153: > 26: goja._retStashless({})
>     compiler.go:153:  13: goja.setProp(_isSameValue)
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja.getVar1(assert)
>     compiler.go:153:  16: *goja.newFunc(&{0xa31a480  3 false 500 839})
>     compiler.go:151: values: [   Expected SameValue(« », « ») to be true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja.getVar1(assert)
>     compiler.go:153: > 2: goja._dup({})
>     compiler.go:153: > 3: goja.getPropCallee(_isSameValue)
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja.loadStack(-2)
>     compiler.go:153: > 6: goja.call(2)
>     compiler.go:153: > 7: goja.jne(3)
>     compiler.go:153: > 8: goja._loadUndef({})
>     compiler.go:153: > 9: goja._retStashless({})
>     compiler.go:153: > 10: goja.loadStack(-3)
>     compiler.go:153: > 11: goja.getVar1(undefined)
>     compiler.go:153: > 12: goja._op_strict_eq({})
>     compiler.go:153: > 13: goja.jne(5)
>     compiler.go:153: > 14: goja.loadVal(0)
>     compiler.go:153: > 15: goja.storeStack(-3)
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.jump(6)
>     compiler.go:153: > 18: goja.loadStack(-3)
>     compiler.go:153: > 19: goja.loadVal(1)
>     compiler.go:153: > 20: goja._add({})
>     compiler.go:153: > 21: goja.storeStack(-3)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-3)
>     compiler.go:153: > 24: goja.loadVal(2)
>     compiler.go:153: > 25: goja._loadUndef({})
>     compiler.go:153: > 26: goja.getVar1Callee(String)
>     compiler.go:153: > 27: goja.loadStack(-1)
>     compiler.go:153: > 28: goja.call(1)
>     compiler.go:153: > 29: goja._add({})
>     compiler.go:153: > 30: goja.loadVal(3)
>     compiler.go:153: > 31: goja._add({})
>     compiler.go:153: > 32: goja._loadUndef({})
>     compiler.go:153: > 33: goja.getVar1Callee(String)
>     compiler.go:153: > 34: goja.loadStack(-2)
>     compiler.go:153: > 35: goja.call(1)
>     compiler.go:153: > 36: goja._add({})
>     compiler.go:153: > 37: goja.loadVal(4)
>     compiler.go:153: > 38: goja._add({})
>     compiler.go:153: > 39: goja._add({})
>     compiler.go:153: > 40: goja.storeStack(-3)
>     compiler.go:153: > 41: goja._pop({})
>     compiler.go:153: > 42: goja._loadUndef({})
>     compiler.go:153: > 43: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 44: goja.loadStack(-3)
>     compiler.go:153: > 45: goja.call(1)
>     compiler.go:153: > 46: goja._pop({})
>     compiler.go:153: > 47: goja._loadUndef({})
>     compiler.go:153: > 48: goja._retStashless({})
>     compiler.go:153:  17: goja.setProp(sameValue)
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.resolveVar1(d)
>     compiler.go:153:  20: goja.getVar1(Date)
>     compiler.go:153:  21: goja.loadVal(0)
>     compiler.go:153:  22: goja.loadVal(1)
>     compiler.go:153:  23: goja.loadVal(2)
>     compiler.go:153:  24: goja.loadVal(3)
>     compiler.go:153:  25: goja.loadVal(4)
>     compiler.go:153:  26: goja.loadVal(5)
>     compiler.go:153:  27: goja._new(6)
>     compiler.go:153:  28: goja._putValue({})
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.getVar1(assert)
>     compiler.go:153:  31: goja._dup({})
>     compiler.go:153:  32: goja.getPropCallee(sameValue)
>     compiler.go:153:  33: goja.getVar1(d)
>     compiler.go:153:  34: goja._dup({})
>     compiler.go:153:  35: goja.getPropCallee(getHours)
>     compiler.go:153:  36: goja.call(0)
>     compiler.go:153:  37: goja.loadVal(3)
>     compiler.go:153:  38: goja.call(2)
>     compiler.go:153:  39: goja._pop({})
>     compiler.go:153:  40: goja.getVar1(assert)
>     compiler.go:153:  41: goja._dup({})
>     compiler.go:153:  42: goja.getPropCallee(sameValue)
>     compiler.go:153:  43: goja.getVar1(d)
>     compiler.go:153:  44: goja._dup({})
>     compiler.go:153:  45: goja.getPropCallee(getUTCHours)
>     compiler.go:153:  46: goja.call(0)
>     compiler.go:153:  47: goja.loadVal(6)
>     compiler.go:153:  48: goja.call(2)
>     compiler.go:153:  49: goja._pop({})
>     compiler.go:153:  50: goja.getVar1(d)
>     compiler.go:153:  51: goja._dup({})
>     compiler.go:153:  52: goja.getPropCallee(setHours)
>     compiler.go:153:  53: goja.loadVal(7)
>     compiler.go:153:  54: goja.call(1)
>     compiler.go:153:  55: goja._pop({})
>     compiler.go:153:  56: goja.getVar1(assert)
>     compiler.go:153:  57: goja._dup({})
>     compiler.go:153:  58: goja.getPropCallee(sameValue)
>     compiler.go:153:  59: goja.getVar1(d)
>     compiler.go:153:  60: goja._dup({})
>     compiler.go:153:  61: goja.getPropCallee(getHours)
>     compiler.go:153:  62: goja.call(0)
>     compiler.go:153:  63: goja.loadVal(7)
>     compiler.go:153:  64: goja.call(2)
>     compiler.go:153:  65: goja._pop({})
>     compiler.go:153:  66: goja.getVar1(assert)
>     compiler.go:153:  67: goja._dup({})
>     compiler.go:153:  68: goja.getPropCallee(sameValue)
>     compiler.go:153:  69: goja.getVar1(d)
>     compiler.go:153:  70: goja._dup({})
>     compiler.go:153:  71: goja.getPropCallee(getMinutes)
>     compiler.go:153:  72: goja.call(0)
>     compiler.go:153:  73: goja.loadVal(4)
>     compiler.go:153:  74: goja.call(2)
>     compiler.go:153:  75: goja._pop({})
>     compiler.go:153:  76: goja.getVar1(assert)
>     compiler.go:153:  77: goja._dup({})
>     compiler.go:153:  78: goja.getPropCallee(sameValue)
>     compiler.go:153:  79: goja.getVar1(d)
>     compiler.go:153:  80: goja._dup({})
>     compiler.go:153:  81: goja.getPropCallee(getSeconds)
>     compiler.go:153:  82: goja.call(0)
>     compiler.go:153:  83: goja.loadVal(5)
>     compiler.go:153:  84: goja.call(2)
>     compiler.go:153:  85: goja._pop({})
>     compiler.go:153:  86: goja.getVar1(d)
>     compiler.go:153:  87: goja._dup({})
>     compiler.go:153:  88: goja.getPropCallee(setUTCHours)
>     compiler.go:153:  89: goja.loadVal(7)
>     compiler.go:153:  90: goja.call(1)
>     compiler.go:153:  91: goja._pop({})
>     compiler.go:153:  92: goja.getVar1(assert)
>     compiler.go:153:  93: goja._dup({})
>     compiler.go:153:  94: goja.getPropCallee(sameValue)
>     compiler.go:153:  95: goja.getVar1(d)
>     compiler.go:153:  96: goja._dup({})
>     compiler.go:153:  97: goja.getPropCallee(getHours)
>     compiler.go:153:  98: goja.call(0)
>     compiler.go:153:  99: goja.loadVal(8)
>     compiler.go:153:  100: goja.call(2)
>     compiler.go:153:  101: goja._pop({})
>     compiler.go:153:  102: goja.getVar1(assert)
>     compiler.go:153:  103: goja._dup({})
>     compiler.go:153:  104: goja.getPropCallee(sameValue)
>     compiler.go:153:  105: goja.getVar1(d)
>     compiler.go:153:  106: goja._dup({})
>     compiler.go:153:  107: goja.getPropCallee(getMinutes)
>     compiler.go:153:  108: goja.call(0)
>     compiler.go:153:  109: goja.loadVal(4)
>     compiler.go:153:  110: goja.call(2)
>     compiler.go:153:  111: goja._pop({})
>     compiler.go:153:  112: goja.getVar1(assert)
>     compiler.go:153:  113: goja._dup({})
>     compiler.go:153:  114: goja.getPropCallee(sameValue)
>     compiler.go:153:  115: goja.getVar1(d)
>     compiler.go:153:  116: goja._dup({})
>     compiler.go:153:  117: goja.getPropCallee(getSeconds)
>     compiler.go:153:  118: goja.call(0)
>     compiler.go:153:  119: goja.loadVal(5)
>     compiler.go:153:  120: goja.call(2)
>     compiler.go:153:  121: goja._halt({})
>     compiler_test.go:60: stack size: 11
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSetHour (0.00s)
> === RUN   TestSetMinute
>     compiler.go:151: values: [2016 8 1 12 23 45 6 53 55 52 22 13]
>     compiler.go:153:  0: goja.bindName($ERROR)
>     compiler.go:153:  1: goja.bindName(assert)
>     compiler.go:153:  2: goja.bindName(d)
>     compiler.go:153:  3: goja.resolveVar1($ERROR)
>     compiler.go:153:  4: *goja.newFunc(&{0xa31a930 $ERROR 1 false 1 56})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.getVar1(Error)
>     compiler.go:153: > 2: goja.loadStack(-1)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.resolveVar1(assert)
>     compiler.go:153:  8: *goja.newFunc(&{0xa31a960 assert 2 false 58 277})
>     compiler.go:151: values: [true Expected true but got ]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(3)
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153: > 7: goja.loadStack(-2)
>     compiler.go:153: > 8: goja.getVar1(undefined)
>     compiler.go:153: > 9: goja._op_strict_eq({})
>     compiler.go:153: > 10: goja.jne(9)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja._loadUndef({})
>     compiler.go:153: > 13: goja.getVar1Callee(String)
>     compiler.go:153: > 14: goja.loadStack(-1)
>     compiler.go:153: > 15: goja.call(1)
>     compiler.go:153: > 16: goja._add({})
>     compiler.go:153: > 17: goja.storeStack(-2)
>     compiler.go:153: > 18: goja._pop({})
>     compiler.go:153: > 19: goja._loadUndef({})
>     compiler.go:153: > 20: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 21: goja.loadStack(-2)
>     compiler.go:153: > 22: goja.call(1)
>     compiler.go:153: > 23: goja._pop({})
>     compiler.go:153: > 24: goja._loadUndef({})
>     compiler.go:153: > 25: goja._retStashless({})
>     compiler.go:153:  9: goja._putValue({})
>     compiler.go:153:  10: goja._pop({})
>     compiler.go:153:  11: goja.getVar1(assert)
>     compiler.go:153:  12: *goja.newFunc(&{0xa31a990  2 false 301 478})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadStack(-2)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(14)
>     compiler.go:153: > 5: goja.loadStack(-1)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_neq({})
>     compiler.go:153: > 8: goja.jeq1(9)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadVal(1)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja._div({})
>     compiler.go:153: > 13: goja.loadVal(1)
>     compiler.go:153: > 14: goja.loadStack(-2)
>     compiler.go:153: > 15: goja._div({})
>     compiler.go:153: > 16: goja._op_strict_eq({})
>     compiler.go:153: > 17: goja._retStashless({})
>     compiler.go:153: > 18: goja.loadStack(-1)
>     compiler.go:153: > 19: goja.loadStack(-1)
>     compiler.go:153: > 20: goja._op_strict_neq({})
>     compiler.go:153: > 21: goja.jneq1(5)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-2)
>     compiler.go:153: > 24: goja.loadStack(-2)
>     compiler.go:153: > 25: goja._op_strict_neq({})
>     compiler.go:153: > 26: goja._retStashless({})
>     compiler.go:153:  13: goja.setProp(_isSameValue)
>     compiler.go:153:  14: goja._pop({})
>     compiler.go:153:  15: goja.getVar1(assert)
>     compiler.go:153:  16: *goja.newFunc(&{0xa31a9c0  3 false 500 839})
>     compiler.go:151: values: [   Expected SameValue(« », « ») to be true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja.getVar1(assert)
>     compiler.go:153: > 2: goja._dup({})
>     compiler.go:153: > 3: goja.getPropCallee(_isSameValue)
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja.loadStack(-2)
>     compiler.go:153: > 6: goja.call(2)
>     compiler.go:153: > 7: goja.jne(3)
>     compiler.go:153: > 8: goja._loadUndef({})
>     compiler.go:153: > 9: goja._retStashless({})
>     compiler.go:153: > 10: goja.loadStack(-3)
>     compiler.go:153: > 11: goja.getVar1(undefined)
>     compiler.go:153: > 12: goja._op_strict_eq({})
>     compiler.go:153: > 13: goja.jne(5)
>     compiler.go:153: > 14: goja.loadVal(0)
>     compiler.go:153: > 15: goja.storeStack(-3)
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.jump(6)
>     compiler.go:153: > 18: goja.loadStack(-3)
>     compiler.go:153: > 19: goja.loadVal(1)
>     compiler.go:153: > 20: goja._add({})
>     compiler.go:153: > 21: goja.storeStack(-3)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-3)
>     compiler.go:153: > 24: goja.loadVal(2)
>     compiler.go:153: > 25: goja._loadUndef({})
>     compiler.go:153: > 26: goja.getVar1Callee(String)
>     compiler.go:153: > 27: goja.loadStack(-1)
>     compiler.go:153: > 28: goja.call(1)
>     compiler.go:153: > 29: goja._add({})
>     compiler.go:153: > 30: goja.loadVal(3)
>     compiler.go:153: > 31: goja._add({})
>     compiler.go:153: > 32: goja._loadUndef({})
>     compiler.go:153: > 33: goja.getVar1Callee(String)
>     compiler.go:153: > 34: goja.loadStack(-2)
>     compiler.go:153: > 35: goja.call(1)
>     compiler.go:153: > 36: goja._add({})
>     compiler.go:153: > 37: goja.loadVal(4)
>     compiler.go:153: > 38: goja._add({})
>     compiler.go:153: > 39: goja._add({})
>     compiler.go:153: > 40: goja.storeStack(-3)
>     compiler.go:153: > 41: goja._pop({})
>     compiler.go:153: > 42: goja._loadUndef({})
>     compiler.go:153: > 43: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 44: goja.loadStack(-3)
>     compiler.go:153: > 45: goja.call(1)
>     compiler.go:153: > 46: goja._pop({})
>     compiler.go:153: > 47: goja._loadUndef({})
>     compiler.go:153: > 48: goja._retStashless({})
>     compiler.go:153:  17: goja.setProp(sameValue)
>     compiler.go:153:  18: goja._pop({})
>     compiler.go:153:  19: goja.resolveVar1(d)
>     compiler.go:153:  20: goja.getVar1(Date)
>     compiler.go:153:  21: goja.loadVal(0)
>     compiler.go:153:  22: goja.loadVal(1)
>     compiler.go:153:  23: goja.loadVal(2)
>     compiler.go:153:  24: goja.loadVal(3)
>     compiler.go:153:  25: goja.loadVal(4)
>     compiler.go:153:  26: goja.loadVal(5)
>     compiler.go:153:  27: goja._new(6)
>     compiler.go:153:  28: goja._putValue({})
>     compiler.go:153:  29: goja._pop({})
>     compiler.go:153:  30: goja.getVar1(assert)
>     compiler.go:153:  31: goja._dup({})
>     compiler.go:153:  32: goja.getPropCallee(sameValue)
>     compiler.go:153:  33: goja.getVar1(d)
>     compiler.go:153:  34: goja._dup({})
>     compiler.go:153:  35: goja.getPropCallee(getHours)
>     compiler.go:153:  36: goja.call(0)
>     compiler.go:153:  37: goja.loadVal(3)
>     compiler.go:153:  38: goja.call(2)
>     compiler.go:153:  39: goja._pop({})
>     compiler.go:153:  40: goja.getVar1(assert)
>     compiler.go:153:  41: goja._dup({})
>     compiler.go:153:  42: goja.getPropCallee(sameValue)
>     compiler.go:153:  43: goja.getVar1(d)
>     compiler.go:153:  44: goja._dup({})
>     compiler.go:153:  45: goja.getPropCallee(getUTCHours)
>     compiler.go:153:  46: goja.call(0)
>     compiler.go:153:  47: goja.loadVal(6)
>     compiler.go:153:  48: goja.call(2)
>     compiler.go:153:  49: goja._pop({})
>     compiler.go:153:  50: goja.getVar1(assert)
>     compiler.go:153:  51: goja._dup({})
>     compiler.go:153:  52: goja.getPropCallee(sameValue)
>     compiler.go:153:  53: goja.getVar1(d)
>     compiler.go:153:  54: goja._dup({})
>     compiler.go:153:  55: goja.getPropCallee(getMinutes)
>     compiler.go:153:  56: goja.call(0)
>     compiler.go:153:  57: goja.loadVal(4)
>     compiler.go:153:  58: goja.call(2)
>     compiler.go:153:  59: goja._pop({})
>     compiler.go:153:  60: goja.getVar1(assert)
>     compiler.go:153:  61: goja._dup({})
>     compiler.go:153:  62: goja.getPropCallee(sameValue)
>     compiler.go:153:  63: goja.getVar1(d)
>     compiler.go:153:  64: goja._dup({})
>     compiler.go:153:  65: goja.getPropCallee(getUTCMinutes)
>     compiler.go:153:  66: goja.call(0)
>     compiler.go:153:  67: goja.loadVal(7)
>     compiler.go:153:  68: goja.call(2)
>     compiler.go:153:  69: goja._pop({})
>     compiler.go:153:  70: goja.getVar1(d)
>     compiler.go:153:  71: goja._dup({})
>     compiler.go:153:  72: goja.getPropCallee(setMinutes)
>     compiler.go:153:  73: goja.loadVal(8)
>     compiler.go:153:  74: goja.call(1)
>     compiler.go:153:  75: goja._pop({})
>     compiler.go:153:  76: goja.getVar1(assert)
>     compiler.go:153:  77: goja._dup({})
>     compiler.go:153:  78: goja.getPropCallee(sameValue)
>     compiler.go:153:  79: goja.getVar1(d)
>     compiler.go:153:  80: goja._dup({})
>     compiler.go:153:  81: goja.getPropCallee(getMinutes)
>     compiler.go:153:  82: goja.call(0)
>     compiler.go:153:  83: goja.loadVal(8)
>     compiler.go:153:  84: goja.call(2)
>     compiler.go:153:  85: goja._pop({})
>     compiler.go:153:  86: goja.getVar1(assert)
>     compiler.go:153:  87: goja._dup({})
>     compiler.go:153:  88: goja.getPropCallee(sameValue)
>     compiler.go:153:  89: goja.getVar1(d)
>     compiler.go:153:  90: goja._dup({})
>     compiler.go:153:  91: goja.getPropCallee(getSeconds)
>     compiler.go:153:  92: goja.call(0)
>     compiler.go:153:  93: goja.loadVal(5)
>     compiler.go:153:  94: goja.call(2)
>     compiler.go:153:  95: goja._pop({})
>     compiler.go:153:  96: goja.getVar1(d)
>     compiler.go:153:  97: goja._dup({})
>     compiler.go:153:  98: goja.getPropCallee(setUTCMinutes)
>     compiler.go:153:  99: goja.loadVal(9)
>     compiler.go:153:  100: goja.call(1)
>     compiler.go:153:  101: goja._pop({})
>     compiler.go:153:  102: goja.getVar1(assert)
>     compiler.go:153:  103: goja._dup({})
>     compiler.go:153:  104: goja.getPropCallee(sameValue)
>     compiler.go:153:  105: goja.getVar1(d)
>     compiler.go:153:  106: goja._dup({})
>     compiler.go:153:  107: goja.getPropCallee(getMinutes)
>     compiler.go:153:  108: goja.call(0)
>     compiler.go:153:  109: goja.loadVal(10)
>     compiler.go:153:  110: goja.call(2)
>     compiler.go:153:  111: goja._pop({})
>     compiler.go:153:  112: goja.getVar1(assert)
>     compiler.go:153:  113: goja._dup({})
>     compiler.go:153:  114: goja.getPropCallee(sameValue)
>     compiler.go:153:  115: goja.getVar1(d)
>     compiler.go:153:  116: goja._dup({})
>     compiler.go:153:  117: goja.getPropCallee(getHours)
>     compiler.go:153:  118: goja.call(0)
>     compiler.go:153:  119: goja.loadVal(11)
>     compiler.go:153:  120: goja.call(2)
>     compiler.go:153:  121: goja._halt({})
>     compiler_test.go:60: stack size: 11
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestSetMinute (0.00s)
> === RUN   TestTimezoneOffset
>     compiler.go:151: values: [0]
>     compiler.go:153:  0: goja.bindName(d)
>     compiler.go:153:  1: goja.resolveVar1(d)
>     compiler.go:153:  2: goja.getVar1(Date)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._new(1)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.getVar1(d)
>     compiler.go:153:  8: goja._dup({})
>     compiler.go:153:  9: goja.getPropCallee(getTimezoneOffset)
>     compiler.go:153:  10: goja.call(0)
>     compiler.go:153:  11: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestTimezoneOffset (0.00s)
> === RUN   TestDateValueOf
>     compiler.go:151: values: [1230000000000000]
>     compiler.go:153:  0: goja.bindName(d9)
>     compiler.go:153:  1: goja.resolveVar1(d9)
>     compiler.go:153:  2: goja.getVar1(Date)
>     compiler.go:153:  3: goja.loadVal(0)
>     compiler.go:153:  4: goja._new(1)
>     compiler.go:153:  5: goja._putValue({})
>     compiler.go:153:  6: goja._pop({})
>     compiler.go:153:  7: goja.getVar1(d9)
>     compiler.go:153:  8: goja._dup({})
>     compiler.go:153:  9: goja.getPropCallee(valueOf)
>     compiler.go:153:  10: goja.call(0)
>     compiler.go:153:  11: goja._halt({})
>     compiler_test.go:60: stack size: 2
>     compiler_test.go:61: stashAllocs: 0
> --- PASS: TestDateValueOf (0.00s)
> === RUN   TestDateSetters
>     compiler.go:151: values: [0 2345 setMilliseconds() setUTCMilliseconds() 12 12000 setSeconds() setUTCSeconds() 720 1000 setMinutes() setUTCMinutes() 2016-06-01 1 1464739200000 setHours() 1464742800000 setUTCHours() 2 86400000 setDate() setUTCDate() 5097600000 setMonth() setUTCMonth() 1971 31536000000 setFullYear() 3 36806400000 setFullYear(Y,M,D) setUTCFullYear() setUTCFullYear(Y,M,D)]
>     compiler.go:153:  0: goja.bindName($ERROR)
>     compiler.go:153:  1: goja.bindName(assert)
>     compiler.go:153:  2: goja.resolveVar1($ERROR)
>     compiler.go:153:  3: *goja.newFunc(&{0xa31b4d0 $ERROR 1 false 1 56})
>     compiler.go:151: values: []
>     compiler.go:153: > 0: goja.enterFuncStashless({0 1})
>     compiler.go:153: > 1: goja.getVar1(Error)
>     compiler.go:153: > 2: goja.loadStack(-1)
>     compiler.go:153: > 3: goja._new(1)
>     compiler.go:153: > 4: goja._throw({})
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153:  4: goja._putValue({})
>     compiler.go:153:  5: goja._pop({})
>     compiler.go:153:  6: goja.resolveVar1(assert)
>     compiler.go:153:  7: *goja.newFunc(&{0xa31b500 assert 2 false 58 277})
>     compiler.go:151: values: [true Expected true but got ]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadVal(0)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(3)
>     compiler.go:153: > 5: goja._loadUndef({})
>     compiler.go:153: > 6: goja._retStashless({})
>     compiler.go:153: > 7: goja.loadStack(-2)
>     compiler.go:153: > 8: goja.getVar1(undefined)
>     compiler.go:153: > 9: goja._op_strict_eq({})
>     compiler.go:153: > 10: goja.jne(9)
>     compiler.go:153: > 11: goja.loadVal(1)
>     compiler.go:153: > 12: goja._loadUndef({})
>     compiler.go:153: > 13: goja.getVar1Callee(String)
>     compiler.go:153: > 14: goja.loadStack(-1)
>     compiler.go:153: > 15: goja.call(1)
>     compiler.go:153: > 16: goja._add({})
>     compiler.go:153: > 17: goja.storeStack(-2)
>     compiler.go:153: > 18: goja._pop({})
>     compiler.go:153: > 19: goja._loadUndef({})
>     compiler.go:153: > 20: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 21: goja.loadStack(-2)
>     compiler.go:153: > 22: goja.call(1)
>     compiler.go:153: > 23: goja._pop({})
>     compiler.go:153: > 24: goja._loadUndef({})
>     compiler.go:153: > 25: goja._retStashless({})
>     compiler.go:153:  8: goja._putValue({})
>     compiler.go:153:  9: goja._pop({})
>     compiler.go:153:  10: goja.getVar1(assert)
>     compiler.go:153:  11: *goja.newFunc(&{0xa31b530  2 false 301 478})
>     compiler.go:151: values: [0 1]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 2})
>     compiler.go:153: > 1: goja.loadStack(-1)
>     compiler.go:153: > 2: goja.loadStack(-2)
>     compiler.go:153: > 3: goja._op_strict_eq({})
>     compiler.go:153: > 4: goja.jne(14)
>     compiler.go:153: > 5: goja.loadStack(-1)
>     compiler.go:153: > 6: goja.loadVal(0)
>     compiler.go:153: > 7: goja._op_strict_neq({})
>     compiler.go:153: > 8: goja.jeq1(9)
>     compiler.go:153: > 9: goja._pop({})
>     compiler.go:153: > 10: goja.loadVal(1)
>     compiler.go:153: > 11: goja.loadStack(-1)
>     compiler.go:153: > 12: goja._div({})
>     compiler.go:153: > 13: goja.loadVal(1)
>     compiler.go:153: > 14: goja.loadStack(-2)
>     compiler.go:153: > 15: goja._div({})
>     compiler.go:153: > 16: goja._op_strict_eq({})
>     compiler.go:153: > 17: goja._retStashless({})
>     compiler.go:153: > 18: goja.loadStack(-1)
>     compiler.go:153: > 19: goja.loadStack(-1)
>     compiler.go:153: > 20: goja._op_strict_neq({})
>     compiler.go:153: > 21: goja.jneq1(5)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-2)
>     compiler.go:153: > 24: goja.loadStack(-2)
>     compiler.go:153: > 25: goja._op_strict_neq({})
>     compiler.go:153: > 26: goja._retStashless({})
>     compiler.go:153:  12: goja.setProp(_isSameValue)
>     compiler.go:153:  13: goja._pop({})
>     compiler.go:153:  14: goja.getVar1(assert)
>     compiler.go:153:  15: *goja.newFunc(&{0xa31b560  3 false 500 839})
>     compiler.go:151: values: [   Expected SameValue(« », « ») to be true]
>     compiler.go:153: > 0: goja.enterFuncStashless({0 3})
>     compiler.go:153: > 1: goja.getVar1(assert)
>     compiler.go:153: > 2: goja._dup({})
>     compiler.go:153: > 3: goja.getPropCallee(_isSameValue)
>     compiler.go:153: > 4: goja.loadStack(-1)
>     compiler.go:153: > 5: goja.loadStack(-2)
>     compiler.go:153: > 6: goja.call(2)
>     compiler.go:153: > 7: goja.jne(3)
>     compiler.go:153: > 8: goja._loadUndef({})
>     compiler.go:153: > 9: goja._retStashless({})
>     compiler.go:153: > 10: goja.loadStack(-3)
>     compiler.go:153: > 11: goja.getVar1(undefined)
>     compiler.go:153: > 12: goja._op_strict_eq({})
>     compiler.go:153: > 13: goja.jne(5)
>     compiler.go:153: > 14: goja.loadVal(0)
>     compiler.go:153: > 15: goja.storeStack(-3)
>     compiler.go:153: > 16: goja._pop({})
>     compiler.go:153: > 17: goja.jump(6)
>     compiler.go:153: > 18: goja.loadStack(-3)
>     compiler.go:153: > 19: goja.loadVal(1)
>     compiler.go:153: > 20: goja._add({})
>     compiler.go:153: > 21: goja.storeStack(-3)
>     compiler.go:153: > 22: goja._pop({})
>     compiler.go:153: > 23: goja.loadStack(-3)
>     compiler.go:153: > 24: goja.loadVal(2)
>     compiler.go:153: > 25: goja._loadUndef({})
>     compiler.go:153: > 26: goja.getVar1Callee(String)
>     compiler.go:153: > 27: goja.loadStack(-1)
>     compiler.go:153: > 28: goja.call(1)
>     compiler.go:153: > 29: goja._add({})
>     compiler.go:153: > 30: goja.loadVal(3)
>     compiler.go:153: > 31: goja._add({})
>     compiler.go:153: > 32: goja._loadUndef({})
>     compiler.go:153: > 33: goja.getVar1Callee(String)
>     compiler.go:153: > 34: goja.loadStack(-2)
>     compiler.go:153: > 35: goja.call(1)
>     compiler.go:153: > 36: goja._add({})
>     compiler.go:153: > 37: goja.loadVal(4)
>     compiler.go:153: > 38: goja._add({})
>     compiler.go:153: > 39: goja._add({})
>     compiler.go:153: > 40: goja.storeStack(-3)
>     compiler.go:153: > 41: goja._pop({})
>     compiler.go:153: > 42: goja._loadUndef({})
>     compiler.go:153: > 43: goja.getVar1Callee($ERROR)
>     compiler.go:153: > 44: goja.loadStack(-3)
>     compiler.go:153: > 45: goja.call(1)
>     compiler.go:153: > 46: goja._pop({})
>     compiler.go:153: > 47: goja._loadUndef({})
>     compiler.go:153: > 48: goja._retStashless({})
>     compiler.go:153:  16: goja.setProp(sameValue)
>     compiler.go:153:  17: goja._pop({})
>     compiler.go:153:  18: goja.getVar1(assert)
>     compiler.go:153:  19: goja._dup({})
>     compiler.go:153:  20: goja.getPropCallee(sameValue)
>     compiler.go:153:  21: goja.getVar1(Date)
>     compiler.go:153:  22: goja.loadVal(0)
>     compiler.go:153:  23: goja._new(1)
>     compiler.go:153:  24: goja._dup({})
>     compiler.go:153:  25: goja.getPropCallee(setMilliseconds)
>     compiler.go:153:  26: goja.loadVal(1)
>     compiler.go:153:  27: goja.call(1)
>     compiler.go:153:  28: goja.loadVal(1)
>     compiler.go:153:  29: goja.loadVal(2)
>     compiler.go:153:  30: goja.call(3)
>     compiler.go:153:  31: goja._pop({})
>     compiler.go:153:  32: goja.getVar1(assert)
>     compiler.go:153:  33: goja._dup({})
>     compiler.go:153:  34: goja.getPropCallee(sameValue)
>     compiler.go:153:  35: goja.getVar1(Date)
>     compiler.go:153:  36: goja.loadVal(0)
>     compiler.go:153:  37: goja._new(1)
>     compiler.go:153:  38: goja._dup({})
>     compiler.go:153:  39: goja.getPropCallee(setUTCMilliseconds)
>     compiler.go:153:  40: goja.loadVal(1)
>     compiler.go:153:  41: goja.call(1)
>     compiler.go:153:  42: goja.loadVal(1)
>     compiler.go:153:  43: goja.loadVal(3)
>     compiler.go:153:  44: goja.call(3)
>     compiler.go:153:  45: goja._pop({})
>     compiler.go:153:  46: goja.getVar1(assert)
>     compiler.go:153:  47: goja._dup({})
>     compiler.go:153:  48: goja.getPropCallee(sameValue)
>     compiler.go:153:  49: goja.getVar1(Date)
>     compiler.go:153:  50: goja.loadVal(0)
>     compiler.go:153:  51: goja._new(1)
>     compiler.go:153:  52: goja._dup({})
>     compiler.go:153:  53: goja.getPropCallee(setSeconds)
>     compiler.go:153:  54: goja.loadVal(4)
>     compiler.go:153:  55: goja.call(1)
>     compiler.go:153:  56: goja.loadVal(5)
>     compiler.go:153:  57: goja.loadVal(6)
>     compiler.go:153:  58: goja.call(3)
>     compiler.go:153:  59: goja._pop({})
>     compiler.go:153:  60: goja.getVar1(assert)
>     compiler.go:153:  61: goja._dup({})
>     compiler.go:153:  62: goja.getPropCallee(sameValue)
>     compiler.go:153:  63: goja.getVar1(Date)
>     compiler.go:153:  64: goja.loadVal(0)
>     compiler.go:153:  65: goja._new(1)
>     compiler.go:153:  66: goja._dup({})
>     compiler.go:153:  67: goja.getPropCallee(setUTCSeconds)
>     compiler.go:153:  68: goja.loadVal(4)
>     compiler.go:153:  69: goja.call(1)
>     compiler.go:153:  70: goja.loadVal(5)
>     compiler.go:153:  71: goja.loadVal(7)
>     compiler.go:153:  72: goja.call(3)
>     compiler.go:153:  73: goja._pop({})
>     compiler.go:153:  74: goja.getVar1(assert)
>     compiler.go:153:  75: goja._dup({})
>     compiler.go:153:  76: goja.getPropCallee(sameValue)
>     compiler.go:153:  77: goja.getVar1(Date)
>     compiler.go:153:  78: goja.loadVal(0)
>     compiler.go:153:  79: goja._new(1)
>     compiler.go:153:  80: goja._dup({})
>     compiler.go:153:  81: goja.getPropCallee(setMinutes)
>     compiler.go:153:  82: goja.loadVal(4)
>     compiler.go:153:  83: goja.call(1)
>     compiler.go:153:  84: goja.loadVal(8)
>     compiler.go:153:  85: goja.loadVal(9)
>     compiler.go:153:  86: goja._mul({})
>     compiler.go:153:  87: goja.loadVal(10)
>     compiler.go:153:  88: goja.call(3)
>     compiler.go:153:  89: goja._pop({})
>     compiler.go:153:  90: goja.getVar1(assert)
>     compiler.go:153:  91: goja._dup({})
>     compiler.go:153:  92: goja.getPropCallee(sameValue)
>     compiler.go:153:  93: goja.getVar1(Date)
>     compiler.go:153:  94: goja.loadVal(0)
>     compiler.go:153:  95: goja._new(1)
>     compiler.go:153:  96: goja._dup({})
>     compiler.go:153:  97: goja.getPropCallee(setUTCMinutes)
>     compiler.go:153:  98: goja.loadVal(4)
>     compiler.go:153:  99: goja.call(1)
>     compiler.go:153:  100: goja.loadVal(8)
>     compiler.go:153:  101: goja.loadVal(9)
>     compiler.go:153:  102: goja._mul({})
>     compiler.go:153:  103: goja.loadVal(11)
>     compiler.go:153:  104: goja.call(3)
>     compiler.go:153:  105: goja._pop({})
>     compiler.go:153:  106: goja.getVar1(assert)
>     compiler.go:153:  107: goja._dup({})
>     compiler.go:153:  108: goja.getPropCallee(sameValue)
>     compiler.go:153:  109: goja.getVar1(Date)
>     compiler.go:153:  110: goja.loadVal(12)
>     compiler.go:153:  111: goja._new(1)
>     compiler.go:153:  112: goja._dup({})
>     compiler.go:153:  113: goja.getPropCallee(setHours)
>     compiler.go:153:  114: goja.loadVal(13)
>     compiler.go:153:  115: goja.call(1)
>     compiler.go:153:  116: goja.loadVal(14)
>     compiler.go:153:  117: goja.loadVal(15)
>     compiler.go:153:  118: goja.call(3)
>     compiler.go:153:  119: goja._pop({})
>     compiler.go:153:  120: goja.getVar1(assert)
>     compiler.go:153:  121: goja._dup({})
>     compiler.go:153:  122: goja.getPropCallee(sameValue)
>     compiler.go:153:  123: goja.getVar1(Date)
>     compiler.go:153:  124: goja.loadVal(12)
>     compiler.go:153:  125: goja._new(1)
>     compiler.go:153:  126: goja._dup({})
>     compiler.go:153:  127: goja.getPropCallee(setUTCHours)
>     compiler.go:153:  128: goja.loadVal(13)
>     compiler.go:153:  129: goja.call(1)
>     compiler.go:153:  130: goja.loadVal(16)
>     compiler.go:153:  131: goja.loadVal(17)
>     compiler.go:153:  132: goja.call(3)
>     compiler.go:153:  133: goja._pop({})
>     compiler.go:153:  134: goja.getVar1(assert)
>     compiler.go:153:  135: goja._dup({})
>     compiler.go:153:  136: goja.getPropCallee(sameValue)
>     compiler.go:153:  137: goja.getVar1(Date)
>     compiler.go:153:  138: goja.loadVal(0)
>     compiler.go:153:  139: goja._new(1)
>     compiler.go:153:  140: goja._dup({})
>     compiler.go:153:  141: goja.getPropCallee(setDate)
>     compiler.go:153:  142: goja.loadVal(18)
>     compiler.go:153:  143: goja.call(1)
>     compiler.go:153:  144: goja.loadVal(19)
>     compiler.go:153:  145: goja.loadVal(20)
>     compiler.go:153:  146: goja.call(3)
>     compiler.go:153:  147: goja._pop({})
>     compiler.go:153:  148: goja.getVar1(assert)
>     compiler.go:153:  149: goja._dup({})
>     compiler.go:153:  150: goja.getPropCallee(sameValue)
>     compiler.go:153:  151: goja.getVar1(Date)
>     compiler.go:153:  152: goja.loadVal(0)
>     compiler.go:153:  153: goja._new(1)
>     compiler.go:153:  154: goja._dup({})
>     compiler.go:153:  155: goja.getPropCallee(setUTCDate)
>     compiler.go:153:  156: goja.loadVal(18)
>     compiler.go:153:  157: goja.call(1)
>     compiler.go:153:  158: goja.loadVal(19)
>     compiler.go:153:  159: goja.loadVal(21)
>     compiler.go:153:  160: goja.call(3)
>     compiler.go:153:  161: goja._pop({})
>     compiler.go:153:  162: goja.getVar1(assert)
>     compiler.go:153:  163: goja._dup({})
>     compiler.go:153:  164: goja.getPropCallee(sameValue)
>     compiler.go:153:  165: goja.getVar1(Date)
>     compiler.go:153:  166: goja.loadVal(0)
>     compiler.go:153:  167: goja._new(1)
>     compiler.go:153:  168: goja._dup({})
>     compiler.go:153:  169: goja.getPropCallee(setMonth)
>     compiler.go:153:  170: goja.loadVal(18)
>     compiler.go:153:  171: goja.call(1)
>     compiler.go:153:  172: goja.loadVal(22)
>     compiler.go:153:  173: goja.loadVal(23)
>     compiler.go:153:  174: goja.call(3)
>     compiler.go:153:  175: goja._pop({})
>     compiler.go:153:  176: goja.getVar1(assert)
>     compiler.go:153:  177: goja._dup({})
>     compiler.go:153:  178: goja.getPropCallee(sameValue)
>     compiler.go:153:  179: goja.getVar1(Date)
>     compiler.go:153:  180: goja.loadVal(0)
>     compiler.go:153:  181: goja._new(1)
>     compiler.go:153:  182: goja._dup({})
>     compiler.go:153:  183: goja.getPropCallee(setUTCMonth)
>     compiler.go:153:  184: goja.loadVal(18)
>     compiler.go:153:  185: goja.call(1)
>     compiler.go:153:  186: goja.loadVal(22)
>     compiler.go:153:  187: goja.loadVal(24)
>     compiler.go:153:  188: goja.call(3)
>     compiler.go:153:  189: goja._pop({})
>     compiler.go:153:  190: goja.getVar1(assert)
>     compiler.go:153:  191: goja._dup({})
>     compiler.go:153:  192: goja.getPropCallee(sameValue)
>     compiler.go:153:  193: goja.getVar1(Date)
>     compiler.go:153:  194: goja.loadVal(0)
>     compiler.go:153:  195: goja._new(1)
>     compiler.go:153:  196: goja._dup({})
>     compiler.go:153:  197: goja.getPropCallee(setFullYear)
>     compiler.go:153:  198: goja.loadVal(25)
>     compiler.go:153:  199: goja.call(1)
>     compiler.go:153:  200: goja.loadVal(26)
>     compiler.go:153:  201: goja.loadVal(27)
>     compiler.go:153:  202: goja.call(3)
>     compiler.go:153:  203: goja._pop({})
>     compiler.go:153:  204: goja.getVar1(assert)
>     compiler.go:153:  205: goja._dup({})
>     compiler.go:153:  206: goja.getPropCallee(sameValue)
>     compiler.go:153:  207: goja.getVar1(Date)
>     compiler.go:153:  208: goja.loadVal(0)
>     compiler.go:153:  209: goja._new(1)
>     compiler.go:153:  210: goja._dup({})
>     compiler.go:153:  211: goja.getPropCallee(setFullYear)
>     compiler.go:153:  212: goja.loadVal(25)
>     compiler.go:153:  213: goja.loadVal(18)
>     compiler.go:153:  214: goja.loadVal(28)
>     compiler.go:153:  215: goja.call(3)
>     compiler.go:153:  216: goja.loadVal(29)
>     compiler.go:153:  217: goja.loadVal(30)
>     compiler.go:153:  218: goja.call(3)
>     compiler.go:153:  219: goja._pop({})
>     compiler.go:153:  220: goja.getVar1(assert)
>     compiler.go:153:  221: goja._dup({})
>     compiler.go:153:  222: goja.getPropCallee(sameValue)
>     compiler.go:153:  223: goja.getVar1(Date)
>     compiler.go:153:  224: goja.loadVal(0)
>     compiler.go:153:  225: goja._new(1)
>     compiler.go:153:  226: goja._dup({})
>     compiler.go:153:  227: goja.getPropCallee(setUTCFullYear)
>     compiler.go:153:  228: goja.loadVal(25)
>     compiler.go:153:  229: goja.call(1)
>     compiler.go:153:  230: goja.loadVal(26)
>     compiler.go:153:  231: goja.loadVal(31)
>     compiler.go:153:  232: goja.call(3)
>     compiler.go:153:  233: goja._pop({})
>     compiler.go:153:  234: goja.getVar1(assert)
>     compiler.go:153:  235: goja._dup({})
>     compiler.go:153:  236: goja.getPropCallee(sameValue)
>     compiler.go:153:  237: goja.getVar1(Date)
>     compiler.go:153:  238: goja.loadVal(0)
>     compiler.go:153:  239: goja._new(1)
>     compiler.go:153:  240: goja._dup({})
>     compiler.go:153:  241: goja.getPropCallee(setUTCFullYear)
>     compiler.go:153:  242: goja.loadVal(25)
>     compiler.go:153:  243: goja.loadVal(18)
>     compiler.go:153:  244: goja.loadVal(28)
>     compiler.go:153:  245: goja.call(3)
>     compiler.go:153:  246: goja.loadVal(29)
>     compiler.go:153:  247: goja.loadVal(32)
>     compiler.go:153:  248: goja.call(3)
>     compiler.go:153:  249: goja._halt({})
> --- FAIL: TestDateSetters (0.00s)
> panic: Error: setMilliseconds() Expected SameValue(«-1949», «2345») to be true [recovered]
> 	panic: Error: setMilliseconds() Expected SameValue(«-1949», «2345») to be true
> 
> goroutine 138 [running]:
> testing.tRunner.func1.2({0x83d6d40, 0xa449930})
> 	/usr/lib/go-1.24/src/testing/testing.go:1734 +0x283
> testing.tRunner.func1()
> 	/usr/lib/go-1.24/src/testing/testing.go:1737 +0x415
> panic({0x83d6d40, 0xa449930})
> 	/usr/lib/go-1.24/src/runtime/panic.go:792 +0x103
> github.com/dop251/goja._throw.exec(...)
> 	/build/reproducible-path/golang-github-dop251-goja-0.0~git20170430.0.d382686/obj-i686-linux-gnu/src/github.com/dop251/goja/vm.go:2294
> github.com/dop251/goja.(*vm).run(0xa0018f0)
> 	/build/reproducible-path/golang-github-dop251-goja-0.0~git20170430.0.d382686/obj-i686-linux-gnu/src/github.com/dop251/goja/vm.go:288 +0x3f
> github.com/dop251/goja.testScript1({0x8406e88, 0x878}, {0x846e968, 0x87ebc40}, 0xa3778c8)
> 	/build/reproducible-path/golang-github-dop251-goja-0.0~git20170430.0.d382686/obj-i686-linux-gnu/src/github.com/dop251/goja/compiler_test.go:58 +0x25d
> github.com/dop251/goja.TestDateSetters(0xa3778c8)
> 	/build/reproducible-path/golang-github-dop251-goja-0.0~git20170430.0.d382686/obj-i686-linux-gnu/src/github.com/dop251/goja/date_test.go:218 +0x103
> testing.tRunner(0xa3778c8, 0x840c5ac)
> 	/usr/lib/go-1.24/src/testing/testing.go:1792 +0x119
> created by testing.(*T).Run in goroutine 1
> 	/usr/lib/go-1.24/src/testing/testing.go:1851 +0x468
> FAIL	github.com/dop251/goja	0.135s
> ?   	github.com/dop251/goja/ast	[no test files]
> ?   	github.com/dop251/goja/file	[no test files]
> === RUN   TestLexer
> --- PASS: TestLexer (0.00s)
> === RUN   TestParserAST
> --- PASS: TestParserAST (0.00s)
> === RUN   TestParseFile
> --- PASS: TestParseFile (0.00s)
> === RUN   TestParseFunction
> --- PASS: TestParseFunction (0.00s)
> === RUN   TestParserErr
> --- PASS: TestParserErr (0.00s)
> === RUN   TestParser
> --- PASS: TestParser (0.00s)
> === RUN   Test_parseStringLiteral
> --- PASS: Test_parseStringLiteral (0.00s)
> === RUN   Test_parseNumberLiteral
> --- PASS: Test_parseNumberLiteral (0.00s)
> === RUN   TestPosition
> --- PASS: TestPosition (0.00s)
> === RUN   TestRegExp
> --- PASS: TestRegExp (0.00s)
> === RUN   TestTransformRegExp
> --- PASS: TestTransformRegExp (0.00s)
> PASS
> ok  	github.com/dop251/goja/parser	0.006s
> ?   	github.com/dop251/goja/token	[no test files]
> FAIL
> dh_auto_test: error: cd obj-i686-linux-gnu && go test -vet=off -v -p 8 github.com/dop251/goja github.com/dop251/goja/ast github.com/dop251/goja/file github.com/dop251/goja/parser github.com/dop251/goja/token returned exit code 1


The full build log is available from:
http://qa-logs.debian.net/2025/04/14/golang-github-dop251-goja_0.0~git20170430.0.d382686-4_testing-i386.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Pkg-go-maintainers mailing list