[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