[pkg-go] Bug#871203: golang-github-dop251-goja: FTBFS: dh_auto_test: go test -v -p 16 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

Lucas Nussbaum lucas at debian.org
Sun Aug 6 22:55:10 UTC 2017


Source: golang-github-dop251-goja
Version: 0.0~git20170430.0.d382686-1
Severity: serious
Tags: buster sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20170805 qa-ftbfs
Justification: FTBFS on amd64

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64.

Relevant part (hopefully):
>  debian/rules build
> dh build --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
> 	go install -gcflags=\"-trimpath=/<<BUILDDIR>>/golang-github-dop251-goja-0.0\~git20170430.0.d382686/obj-x86_64-linux-gnu/src\" -asmflags=\"-trimpath=/<<BUILDDIR>>/golang-github-dop251-goja-0.0\~git20170430.0.d382686/obj-x86_64-linux-gnu/src\" -v -p 16 github.com/dop251/goja github.com/dop251/goja/ast github.com/dop251/goja/file github.com/dop251/goja/parser github.com/dop251/goja/token
> github.com/dop251/goja/token
> golang.org/x/text/internal/tag
> github.com/dop251/goja/file
> github.com/dlclark/regexp2/syntax
> golang.org/x/text/transform
> golang.org/x/text/language
> github.com/dop251/goja/ast
> golang.org/x/text/unicode/norm
> github.com/dop251/goja/parser
> golang.org/x/text/internal
> golang.org/x/text/internal/colltab
> golang.org/x/text/cases
> github.com/dlclark/regexp2
> golang.org/x/text/collate
> github.com/dop251/goja
>    dh_auto_test -O--buildsystem=golang
> 	go test -v -p 16 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
> --- PASS: TestSparseArraySetLengthWithPropItems (0.00s)
> 	compiler_test.go:24: values: [1 2 3 4 100000 5 false 2 42 length 0]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1(a)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.loadVal(2)
> 	compiler_test.go:24:  6: goja.loadVal(3)
> 	compiler_test.go:24:  7: goja.newArray(4)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(a)
> 	compiler_test.go:24:  11: goja.loadVal(4)
> 	compiler_test.go:24:  12: goja.loadVal(5)
> 	compiler_test.go:24:  13: goja._setElem({})
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  16: goja.loadVal(6)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(Object)
> 	compiler_test.go:24:  20: goja._dup({})
> 	compiler_test.go:24:  21: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  22: goja.getVar1(a)
> 	compiler_test.go:24:  23: goja.loadVal(7)
> 	compiler_test.go:24:  24: goja._newObject({})
> 	compiler_test.go:24:  25: goja.loadVal(8)
> 	compiler_test.go:24:  26: goja.setProp1(value)
> 	compiler_test.go:24:  27: goja.loadVal(6)
> 	compiler_test.go:24:  28: goja.setProp1(configurable)
> 	compiler_test.go:24:  29: goja.loadVal(6)
> 	compiler_test.go:24:  30: goja.setProp1(writable)
> 	compiler_test.go:24:  31: goja.call(3)
> 	compiler_test.go:24:  32: goja._pop({})
> 	compiler_test.go:24:  33: goja.try({16 0 true})
> 	compiler_test.go:24:  34: goja.getVar1(Object)
> 	compiler_test.go:24:  35: goja._dup({})
> 	compiler_test.go:24:  36: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  37: goja.getVar1(a)
> 	compiler_test.go:24:  38: goja.loadVal(9)
> 	compiler_test.go:24:  39: goja._newObject({})
> 	compiler_test.go:24:  40: goja.loadVal(10)
> 	compiler_test.go:24:  41: goja.setProp1(value)
> 	compiler_test.go:24:  42: goja.loadVal(6)
> 	compiler_test.go:24:  43: goja.setProp1(writable)
> 	compiler_test.go:24:  44: goja.call(3)
> 	compiler_test.go:24:  45: goja._pop({})
> 	compiler_test.go:24:  46: goja._halt({})
> 	compiler_test.go:24:  47: goja.jump(10)
> 	compiler_test.go:24:  48: <nil>(<nil>)
> 	compiler_test.go:24:  49: goja.enterCatch(e)
> 	compiler_test.go:24:  50: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  51: goja.getLocal(0)
> 	compiler_test.go:24:  52: goja.getVar1(TypeError)
> 	compiler_test.go:24:  53: goja._op_instanceof({})
> 	compiler_test.go:24:  54: goja._putValue({})
> 	compiler_test.go:24:  55: goja._pop({})
> 	compiler_test.go:24:  56: goja._halt({})
> 	compiler_test.go:24:  57: goja.getVar1(thrown)
> 	compiler_test.go:24:  58: goja.jneq1(6)
> 	compiler_test.go:24:  59: goja._pop({})
> 	compiler_test.go:24:  60: goja.getVar1(a)
> 	compiler_test.go:24:  61: goja.getProp(length)
> 	compiler_test.go:24:  62: goja.loadVal(2)
> 	compiler_test.go:24:  63: goja._op_strict_eq({})
> 	compiler_test.go:24:  64: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestSparseArraySwitch
> --- PASS: TestSparseArraySwitch (0.04s)
> 	compiler_test.go:24: values: [20470 5 1 0 20471 Invalid length:  Invalid value at  : ]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(i)
> 	compiler_test.go:24:  2: goja.resolveVar1(a)
> 	compiler_test.go:24:  3: goja.newArray(0)
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.getVar1(a)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._setElem({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.resolveVar1(i)
> 	compiler_test.go:24:  12: goja.getVar1(a)
> 	compiler_test.go:24:  13: goja.getProp(length)
> 	compiler_test.go:24:  14: goja.loadVal(2)
> 	compiler_test.go:24:  15: goja._sub({})
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.getVar1(i)
> 	compiler_test.go:24:  19: goja.loadVal(3)
> 	compiler_test.go:24:  20: goja._op_gte({})
> 	compiler_test.go:24:  21: goja.jne(12)
> 	compiler_test.go:24:  22: goja.getVar1(a)
> 	compiler_test.go:24:  23: goja.getVar1(i)
> 	compiler_test.go:24:  24: goja.getVar1(i)
> 	compiler_test.go:24:  25: goja._setElem({})
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja.resolveVar1(i)
> 	compiler_test.go:24:  28: goja._getValue({})
> 	compiler_test.go:24:  29: goja._dec({})
> 	compiler_test.go:24:  30: goja._putValue({})
> 	compiler_test.go:24:  31: goja._pop({})
> 	compiler_test.go:24:  32: goja.jump(-14)
> 	compiler_test.go:24:  33: goja.getVar1(a)
> 	compiler_test.go:24:  34: goja.getProp(length)
> 	compiler_test.go:24:  35: goja.loadVal(4)
> 	compiler_test.go:24:  36: goja._op_neq({})
> 	compiler_test.go:24:  37: goja.jne(8)
> 	compiler_test.go:24:  38: goja.getVar1(Error)
> 	compiler_test.go:24:  39: goja.loadVal(5)
> 	compiler_test.go:24:  40: goja.getVar1(a)
> 	compiler_test.go:24:  41: goja.getProp(length)
> 	compiler_test.go:24:  42: goja._add({})
> 	compiler_test.go:24:  43: goja._new(1)
> 	compiler_test.go:24:  44: goja._throw({})
> 	compiler_test.go:24:  45: goja.resolveVar1(i)
> 	compiler_test.go:24:  46: goja.loadVal(3)
> 	compiler_test.go:24:  47: goja._putValue({})
> 	compiler_test.go:24:  48: goja._pop({})
> 	compiler_test.go:24:  49: goja._loadUndef({})
> 	compiler_test.go:24:  50: goja.getVar1(i)
> 	compiler_test.go:24:  51: goja.getVar1(a)
> 	compiler_test.go:24:  52: goja.getProp(length)
> 	compiler_test.go:24:  53: goja._op_lt({})
> 	compiler_test.go:24:  54: goja.jne(28)
> 	compiler_test.go:24:  55: goja.getVar1(a)
> 	compiler_test.go:24:  56: goja.getVar1(i)
> 	compiler_test.go:24:  57: goja._getElem({})
> 	compiler_test.go:24:  58: goja.getVar1(i)
> 	compiler_test.go:24:  59: goja._op_strict_neq({})
> 	compiler_test.go:24:  60: goja.jne(13)
> 	compiler_test.go:24:  61: goja.getVar1(Error)
> 	compiler_test.go:24:  62: goja.loadVal(6)
> 	compiler_test.go:24:  63: goja.getVar1(i)
> 	compiler_test.go:24:  64: goja._add({})
> 	compiler_test.go:24:  65: goja.loadVal(7)
> 	compiler_test.go:24:  66: goja._add({})
> 	compiler_test.go:24:  67: goja.getVar1(a)
> 	compiler_test.go:24:  68: goja.getVar1(i)
> 	compiler_test.go:24:  69: goja._getElem({})
> 	compiler_test.go:24:  70: goja._add({})
> 	compiler_test.go:24:  71: goja._new(1)
> 	compiler_test.go:24:  72: goja._throw({})
> 	compiler_test.go:24:  73: goja._loadUndef({})
> 	compiler_test.go:24:  74: goja.rdupN(1)
> 	compiler_test.go:24:  75: goja._pop({})
> 	compiler_test.go:24:  76: goja.resolveVar1(i)
> 	compiler_test.go:24:  77: goja._getValue({})
> 	compiler_test.go:24:  78: goja._inc({})
> 	compiler_test.go:24:  79: goja._putValue({})
> 	compiler_test.go:24:  80: goja._pop({})
> 	compiler_test.go:24:  81: goja.jump(-31)
> 	compiler_test.go:24:  82: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEncodeURI
> --- PASS: TestEncodeURI (0.00s)
> 	compiler_test.go:24: values: [тест]
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja.getVar1Callee(encodeURI)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja.call(1)
> 	compiler_test.go:24:  4: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestDecodeURI
> --- PASS: TestDecodeURI (0.00s)
> 	compiler_test.go:24: values: [http://ru.wikipedia.org/wiki/%d0%ae%D0%bd%D0%B8%D0%BA%D0%BE%D0%B4]
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja.getVar1Callee(decodeURI)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja.call(1)
> 	compiler_test.go:24:  4: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestJSONMarshalObject
> --- PASS: TestJSONMarshalObject (0.00s)
> === RUN   TestJSONMarshalObjectCircular
> --- PASS: TestJSONMarshalObjectCircular (0.00s)
> === RUN   TestSubstr
> --- PASS: TestSubstr (0.00s)
> 	compiler_test.go:24: 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_test.go:24:  0: goja.bindName($ERROR)
> 	compiler_test.go:24:  1: goja.bindName(assert)
> 	compiler_test.go:24:  2: goja.resolveVar1($ERROR)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc420080c00 $ERROR 1 false 1 56})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.getVar1(Error)
> 	compiler_test.go:24: > 2: goja.loadStack(-1)
> 	compiler_test.go:24: > 3: goja._new(1)
> 	compiler_test.go:24: > 4: goja._throw({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(assert)
> 	compiler_test.go:24:  7: *goja.newFunc(&{0xc420080c60 assert 2 false 58 277})
> 	compiler_test.go:24: values: [true Expected true but got ]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(3)
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24: > 7: goja.loadStack(-2)
> 	compiler_test.go:24: > 8: goja.getVar1(undefined)
> 	compiler_test.go:24: > 9: goja._op_strict_eq({})
> 	compiler_test.go:24: > 10: goja.jne(9)
> 	compiler_test.go:24: > 11: goja.loadVal(1)
> 	compiler_test.go:24: > 12: goja._loadUndef({})
> 	compiler_test.go:24: > 13: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 14: goja.loadStack(-1)
> 	compiler_test.go:24: > 15: goja.call(1)
> 	compiler_test.go:24: > 16: goja._add({})
> 	compiler_test.go:24: > 17: goja.storeStack(-2)
> 	compiler_test.go:24: > 18: goja._pop({})
> 	compiler_test.go:24: > 19: goja._loadUndef({})
> 	compiler_test.go:24: > 20: goja.getVar1Callee($ERROR)
> 	compiler_test.go:24: > 21: goja.loadStack(-2)
> 	compiler_test.go:24: > 22: goja.call(1)
> 	compiler_test.go:24: > 23: goja._pop({})
> 	compiler_test.go:24: > 24: goja._loadUndef({})
> 	compiler_test.go:24: > 25: goja._retStashless({})
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(assert)
> 	compiler_test.go:24:  11: *goja.newFunc(&{0xc420080cc0  2 false 301 478})
> 	compiler_test.go:24: values: [0 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.loadStack(-2)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(14)
> 	compiler_test.go:24: > 5: goja.loadStack(-1)
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._op_strict_neq({})
> 	compiler_test.go:24: > 8: goja.jeq1(9)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.loadVal(1)
> 	compiler_test.go:24: > 11: goja.loadStack(-1)
> 	compiler_test.go:24: > 12: goja._div({})
> 	compiler_test.go:24: > 13: goja.loadVal(1)
> 	compiler_test.go:24: > 14: goja.loadStack(-2)
> 	compiler_test.go:24: > 15: goja._div({})
> 	compiler_test.go:24: > 16: goja._op_strict_eq({})
> 	compiler_test.go:24: > 17: goja._retStashless({})
> 	compiler_test.go:24: > 18: goja.loadStack(-1)
> 	compiler_test.go:24: > 19: goja.loadStack(-1)
> 	compiler_test.go:24: > 20: goja._op_strict_neq({})
> 	compiler_test.go:24: > 21: goja.jneq1(5)
> 	compiler_test.go:24: > 22: goja._pop({})
> 	compiler_test.go:24: > 23: goja.loadStack(-2)
> 	compiler_test.go:24: > 24: goja.loadStack(-2)
> 	compiler_test.go:24: > 25: goja._op_strict_neq({})
> 	compiler_test.go:24: > 26: goja._retStashless({})
> 	compiler_test.go:24:  12: goja.setProp(_isSameValue)
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(assert)
> 	compiler_test.go:24:  15: *goja.newFunc(&{0xc420080d20  3 false 500 839})
> 	compiler_test.go:24: values: [   Expected SameValue(« », « ») to be true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 3})
> 	compiler_test.go:24: > 1: goja.getVar1(assert)
> 	compiler_test.go:24: > 2: goja._dup({})
> 	compiler_test.go:24: > 3: goja.getPropCallee(_isSameValue)
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja.loadStack(-2)
> 	compiler_test.go:24: > 6: goja.call(2)
> 	compiler_test.go:24: > 7: goja.jne(3)
> 	compiler_test.go:24: > 8: goja._loadUndef({})
> 	compiler_test.go:24: > 9: goja._retStashless({})
> 	compiler_test.go:24: > 10: goja.loadStack(-3)
> 	compiler_test.go:24: > 11: goja.getVar1(undefined)
> 	compiler_test.go:24: > 12: goja._op_strict_eq({})
> 	compiler_test.go:24: > 13: goja.jne(5)
> 	compiler_test.go:24: > 14: goja.loadVal(0)
> 	compiler_test.go:24: > 15: goja.storeStack(-3)
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja.jump(6)
> 	compiler_test.go:24: > 18: goja.loadStack(-3)
> 	compiler_test.go:24: > 19: goja.loadVal(1)
> 	compiler_test.go:24: > 20: goja._add({})
> 	compiler_test.go:24: > 21: goja.storeStack(-3)
> 	compiler_test.go:24: > 22: goja._pop({})
> 	compiler_test.go:24: > 23: goja.loadStack(-3)
> 	compiler_test.go:24: > 24: goja.loadVal(2)
> 	compiler_test.go:24: > 25: goja._loadUndef({})
> 	compiler_test.go:24: > 26: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 27: goja.loadStack(-1)
> 	compiler_test.go:24: > 28: goja.call(1)
> 	compiler_test.go:24: > 29: goja._add({})
> 	compiler_test.go:24: > 30: goja.loadVal(3)
> 	compiler_test.go:24: > 31: goja._add({})
> 	compiler_test.go:24: > 32: goja._loadUndef({})
> 	compiler_test.go:24: > 33: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 34: goja.loadStack(-2)
> 	compiler_test.go:24: > 35: goja.call(1)
> 	compiler_test.go:24: > 36: goja._add({})
> 	compiler_test.go:24: > 37: goja.loadVal(4)
> 	compiler_test.go:24: > 38: goja._add({})
> 	compiler_test.go:24: > 39: goja._add({})
> 	compiler_test.go:24: > 40: goja.storeStack(-3)
> 	compiler_test.go:24: > 41: goja._pop({})
> 	compiler_test.go:24: > 42: goja._loadUndef({})
> 	compiler_test.go:24: > 43: goja.getVar1Callee($ERROR)
> 	compiler_test.go:24: > 44: goja.loadStack(-3)
> 	compiler_test.go:24: > 45: goja.call(1)
> 	compiler_test.go:24: > 46: goja._pop({})
> 	compiler_test.go:24: > 47: goja._loadUndef({})
> 	compiler_test.go:24: > 48: goja._retStashless({})
> 	compiler_test.go:24:  16: goja.setProp(sameValue)
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.getVar1(assert)
> 	compiler_test.go:24:  19: goja._dup({})
> 	compiler_test.go:24:  20: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  21: goja.loadVal(0)
> 	compiler_test.go:24:  22: goja._dup({})
> 	compiler_test.go:24:  23: goja.getPropCallee(substr)
> 	compiler_test.go:24:  24: goja.loadVal(1)
> 	compiler_test.go:24:  25: goja.loadVal(2)
> 	compiler_test.go:24:  26: goja.call(2)
> 	compiler_test.go:24:  27: goja.loadVal(3)
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja.call(3)
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.getVar1(assert)
> 	compiler_test.go:24:  32: goja._dup({})
> 	compiler_test.go:24:  33: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  34: goja.loadVal(0)
> 	compiler_test.go:24:  35: goja._dup({})
> 	compiler_test.go:24:  36: goja.getPropCallee(substr)
> 	compiler_test.go:24:  37: goja.loadVal(5)
> 	compiler_test.go:24:  38: goja.loadVal(2)
> 	compiler_test.go:24:  39: goja.call(2)
> 	compiler_test.go:24:  40: goja.loadVal(3)
> 	compiler_test.go:24:  41: goja.loadVal(6)
> 	compiler_test.go:24:  42: goja.call(3)
> 	compiler_test.go:24:  43: goja._pop({})
> 	compiler_test.go:24:  44: goja.getVar1(assert)
> 	compiler_test.go:24:  45: goja._dup({})
> 	compiler_test.go:24:  46: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  47: goja.loadVal(0)
> 	compiler_test.go:24:  48: goja._dup({})
> 	compiler_test.go:24:  49: goja.getPropCallee(substr)
> 	compiler_test.go:24:  50: goja.loadVal(7)
> 	compiler_test.go:24:  51: goja.loadVal(2)
> 	compiler_test.go:24:  52: goja.call(2)
> 	compiler_test.go:24:  53: goja.loadVal(3)
> 	compiler_test.go:24:  54: goja.loadVal(8)
> 	compiler_test.go:24:  55: goja.call(3)
> 	compiler_test.go:24:  56: goja._pop({})
> 	compiler_test.go:24:  57: goja.getVar1(assert)
> 	compiler_test.go:24:  58: goja._dup({})
> 	compiler_test.go:24:  59: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  60: goja.loadVal(0)
> 	compiler_test.go:24:  61: goja._dup({})
> 	compiler_test.go:24:  62: goja.getPropCallee(substr)
> 	compiler_test.go:24:  63: goja.loadVal(9)
> 	compiler_test.go:24:  64: goja.loadVal(2)
> 	compiler_test.go:24:  65: goja.call(2)
> 	compiler_test.go:24:  66: goja.loadVal(3)
> 	compiler_test.go:24:  67: goja.loadVal(10)
> 	compiler_test.go:24:  68: goja.call(3)
> 	compiler_test.go:24:  69: goja._pop({})
> 	compiler_test.go:24:  70: goja.getVar1(assert)
> 	compiler_test.go:24:  71: goja._dup({})
> 	compiler_test.go:24:  72: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  73: goja.loadVal(0)
> 	compiler_test.go:24:  74: goja._dup({})
> 	compiler_test.go:24:  75: goja.getPropCallee(substr)
> 	compiler_test.go:24:  76: goja.loadVal(1)
> 	compiler_test.go:24:  77: goja.getVar1(NaN)
> 	compiler_test.go:24:  78: goja.call(2)
> 	compiler_test.go:24:  79: goja.loadVal(3)
> 	compiler_test.go:24:  80: goja.loadVal(11)
> 	compiler_test.go:24:  81: goja.call(3)
> 	compiler_test.go:24:  82: goja._pop({})
> 	compiler_test.go:24:  83: goja.getVar1(assert)
> 	compiler_test.go:24:  84: goja._dup({})
> 	compiler_test.go:24:  85: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  86: goja.loadVal(0)
> 	compiler_test.go:24:  87: goja._dup({})
> 	compiler_test.go:24:  88: goja.getPropCallee(substr)
> 	compiler_test.go:24:  89: goja.loadVal(5)
> 	compiler_test.go:24:  90: goja.getVar1(NaN)
> 	compiler_test.go:24:  91: goja.call(2)
> 	compiler_test.go:24:  92: goja.loadVal(3)
> 	compiler_test.go:24:  93: goja.loadVal(12)
> 	compiler_test.go:24:  94: goja.call(3)
> 	compiler_test.go:24:  95: goja._pop({})
> 	compiler_test.go:24:  96: goja.getVar1(assert)
> 	compiler_test.go:24:  97: goja._dup({})
> 	compiler_test.go:24:  98: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  99: goja.loadVal(0)
> 	compiler_test.go:24:  100: goja._dup({})
> 	compiler_test.go:24:  101: goja.getPropCallee(substr)
> 	compiler_test.go:24:  102: goja.loadVal(7)
> 	compiler_test.go:24:  103: goja.getVar1(NaN)
> 	compiler_test.go:24:  104: goja.call(2)
> 	compiler_test.go:24:  105: goja.loadVal(3)
> 	compiler_test.go:24:  106: goja.loadVal(13)
> 	compiler_test.go:24:  107: goja.call(3)
> 	compiler_test.go:24:  108: goja._pop({})
> 	compiler_test.go:24:  109: goja.getVar1(assert)
> 	compiler_test.go:24:  110: goja._dup({})
> 	compiler_test.go:24:  111: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  112: goja.loadVal(0)
> 	compiler_test.go:24:  113: goja._dup({})
> 	compiler_test.go:24:  114: goja.getPropCallee(substr)
> 	compiler_test.go:24:  115: goja.loadVal(9)
> 	compiler_test.go:24:  116: goja.getVar1(NaN)
> 	compiler_test.go:24:  117: goja.call(2)
> 	compiler_test.go:24:  118: goja.loadVal(3)
> 	compiler_test.go:24:  119: goja.loadVal(14)
> 	compiler_test.go:24:  120: goja.call(3)
> 	compiler_test.go:24:  121: goja._pop({})
> 	compiler_test.go:24:  122: goja.getVar1(assert)
> 	compiler_test.go:24:  123: goja._dup({})
> 	compiler_test.go:24:  124: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  125: goja.loadVal(0)
> 	compiler_test.go:24:  126: goja._dup({})
> 	compiler_test.go:24:  127: goja.getPropCallee(substr)
> 	compiler_test.go:24:  128: goja.loadVal(1)
> 	compiler_test.go:24:  129: goja.loadVal(3)
> 	compiler_test.go:24:  130: goja.call(2)
> 	compiler_test.go:24:  131: goja.loadVal(3)
> 	compiler_test.go:24:  132: goja.loadVal(15)
> 	compiler_test.go:24:  133: goja.call(3)
> 	compiler_test.go:24:  134: goja._pop({})
> 	compiler_test.go:24:  135: goja.getVar1(assert)
> 	compiler_test.go:24:  136: goja._dup({})
> 	compiler_test.go:24:  137: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  138: goja.loadVal(0)
> 	compiler_test.go:24:  139: goja._dup({})
> 	compiler_test.go:24:  140: goja.getPropCallee(substr)
> 	compiler_test.go:24:  141: goja.loadVal(5)
> 	compiler_test.go:24:  142: goja.loadVal(3)
> 	compiler_test.go:24:  143: goja.call(2)
> 	compiler_test.go:24:  144: goja.loadVal(3)
> 	compiler_test.go:24:  145: goja.loadVal(16)
> 	compiler_test.go:24:  146: goja.call(3)
> 	compiler_test.go:24:  147: goja._pop({})
> 	compiler_test.go:24:  148: goja.getVar1(assert)
> 	compiler_test.go:24:  149: goja._dup({})
> 	compiler_test.go:24:  150: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  151: goja.loadVal(0)
> 	compiler_test.go:24:  152: goja._dup({})
> 	compiler_test.go:24:  153: goja.getPropCallee(substr)
> 	compiler_test.go:24:  154: goja.loadVal(7)
> 	compiler_test.go:24:  155: goja.loadVal(3)
> 	compiler_test.go:24:  156: goja.call(2)
> 	compiler_test.go:24:  157: goja.loadVal(3)
> 	compiler_test.go:24:  158: goja.loadVal(17)
> 	compiler_test.go:24:  159: goja.call(3)
> 	compiler_test.go:24:  160: goja._pop({})
> 	compiler_test.go:24:  161: goja.getVar1(assert)
> 	compiler_test.go:24:  162: goja._dup({})
> 	compiler_test.go:24:  163: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  164: goja.loadVal(0)
> 	compiler_test.go:24:  165: goja._dup({})
> 	compiler_test.go:24:  166: goja.getPropCallee(substr)
> 	compiler_test.go:24:  167: goja.loadVal(9)
> 	compiler_test.go:24:  168: goja.loadVal(3)
> 	compiler_test.go:24:  169: goja.call(2)
> 	compiler_test.go:24:  170: goja.loadVal(3)
> 	compiler_test.go:24:  171: goja.loadVal(18)
> 	compiler_test.go:24:  172: goja.call(3)
> 	compiler_test.go:24:  173: goja._pop({})
> 	compiler_test.go:24:  174: goja.getVar1(assert)
> 	compiler_test.go:24:  175: goja._dup({})
> 	compiler_test.go:24:  176: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  177: goja.loadVal(0)
> 	compiler_test.go:24:  178: goja._dup({})
> 	compiler_test.go:24:  179: goja.getPropCallee(substr)
> 	compiler_test.go:24:  180: goja.loadVal(1)
> 	compiler_test.go:24:  181: goja.loadVal(19)
> 	compiler_test.go:24:  182: goja.call(2)
> 	compiler_test.go:24:  183: goja.loadVal(3)
> 	compiler_test.go:24:  184: goja.loadVal(20)
> 	compiler_test.go:24:  185: goja.call(3)
> 	compiler_test.go:24:  186: goja._pop({})
> 	compiler_test.go:24:  187: goja.getVar1(assert)
> 	compiler_test.go:24:  188: goja._dup({})
> 	compiler_test.go:24:  189: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  190: goja.loadVal(0)
> 	compiler_test.go:24:  191: goja._dup({})
> 	compiler_test.go:24:  192: goja.getPropCallee(substr)
> 	compiler_test.go:24:  193: goja.loadVal(5)
> 	compiler_test.go:24:  194: goja.loadVal(19)
> 	compiler_test.go:24:  195: goja.call(2)
> 	compiler_test.go:24:  196: goja.loadVal(3)
> 	compiler_test.go:24:  197: goja.loadVal(21)
> 	compiler_test.go:24:  198: goja.call(3)
> 	compiler_test.go:24:  199: goja._pop({})
> 	compiler_test.go:24:  200: goja.getVar1(assert)
> 	compiler_test.go:24:  201: goja._dup({})
> 	compiler_test.go:24:  202: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  203: goja.loadVal(0)
> 	compiler_test.go:24:  204: goja._dup({})
> 	compiler_test.go:24:  205: goja.getPropCallee(substr)
> 	compiler_test.go:24:  206: goja.loadVal(7)
> 	compiler_test.go:24:  207: goja.loadVal(19)
> 	compiler_test.go:24:  208: goja.call(2)
> 	compiler_test.go:24:  209: goja.loadVal(3)
> 	compiler_test.go:24:  210: goja.loadVal(22)
> 	compiler_test.go:24:  211: goja.call(3)
> 	compiler_test.go:24:  212: goja._pop({})
> 	compiler_test.go:24:  213: goja.getVar1(assert)
> 	compiler_test.go:24:  214: goja._dup({})
> 	compiler_test.go:24:  215: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  216: goja.loadVal(0)
> 	compiler_test.go:24:  217: goja._dup({})
> 	compiler_test.go:24:  218: goja.getPropCallee(substr)
> 	compiler_test.go:24:  219: goja.loadVal(9)
> 	compiler_test.go:24:  220: goja.loadVal(19)
> 	compiler_test.go:24:  221: goja.call(2)
> 	compiler_test.go:24:  222: goja.loadVal(3)
> 	compiler_test.go:24:  223: goja.loadVal(23)
> 	compiler_test.go:24:  224: goja.call(3)
> 	compiler_test.go:24:  225: goja._pop({})
> 	compiler_test.go:24:  226: goja.getVar1(assert)
> 	compiler_test.go:24:  227: goja._dup({})
> 	compiler_test.go:24:  228: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  229: goja.loadVal(0)
> 	compiler_test.go:24:  230: goja._dup({})
> 	compiler_test.go:24:  231: goja.getPropCallee(substr)
> 	compiler_test.go:24:  232: goja.loadVal(1)
> 	compiler_test.go:24:  233: goja.loadVal(5)
> 	compiler_test.go:24:  234: goja._neg({})
> 	compiler_test.go:24:  235: goja.call(2)
> 	compiler_test.go:24:  236: goja.loadVal(3)
> 	compiler_test.go:24:  237: goja.loadVal(24)
> 	compiler_test.go:24:  238: goja.call(3)
> 	compiler_test.go:24:  239: goja._pop({})
> 	compiler_test.go:24:  240: goja.getVar1(assert)
> 	compiler_test.go:24:  241: goja._dup({})
> 	compiler_test.go:24:  242: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  243: goja.loadVal(0)
> 	compiler_test.go:24:  244: goja._dup({})
> 	compiler_test.go:24:  245: goja.getPropCallee(substr)
> 	compiler_test.go:24:  246: goja.loadVal(1)
> 	compiler_test.go:24:  247: goja.loadVal(7)
> 	compiler_test.go:24:  248: goja._neg({})
> 	compiler_test.go:24:  249: goja.call(2)
> 	compiler_test.go:24:  250: goja.loadVal(3)
> 	compiler_test.go:24:  251: goja.loadVal(25)
> 	compiler_test.go:24:  252: goja.call(3)
> 	compiler_test.go:24:  253: goja._pop({})
> 	compiler_test.go:24:  254: goja.getVar1(assert)
> 	compiler_test.go:24:  255: goja._dup({})
> 	compiler_test.go:24:  256: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  257: goja.loadVal(0)
> 	compiler_test.go:24:  258: goja._dup({})
> 	compiler_test.go:24:  259: goja.getPropCallee(substr)
> 	compiler_test.go:24:  260: goja.loadVal(1)
> 	compiler_test.go:24:  261: goja.loadVal(9)
> 	compiler_test.go:24:  262: goja._neg({})
> 	compiler_test.go:24:  263: goja.call(2)
> 	compiler_test.go:24:  264: goja.loadVal(3)
> 	compiler_test.go:24:  265: goja.loadVal(26)
> 	compiler_test.go:24:  266: goja.call(3)
> 	compiler_test.go:24:  267: goja._pop({})
> 	compiler_test.go:24:  268: goja.getVar1(assert)
> 	compiler_test.go:24:  269: goja._dup({})
> 	compiler_test.go:24:  270: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  271: goja.loadVal(0)
> 	compiler_test.go:24:  272: goja._dup({})
> 	compiler_test.go:24:  273: goja.getPropCallee(substr)
> 	compiler_test.go:24:  274: goja.loadVal(1)
> 	compiler_test.go:24:  275: goja.loadVal(27)
> 	compiler_test.go:24:  276: goja._neg({})
> 	compiler_test.go:24:  277: goja.call(2)
> 	compiler_test.go:24:  278: goja.loadVal(3)
> 	compiler_test.go:24:  279: goja.loadVal(28)
> 	compiler_test.go:24:  280: goja.call(3)
> 	compiler_test.go:24:  281: goja._pop({})
> 	compiler_test.go:24:  282: goja.getVar1(assert)
> 	compiler_test.go:24:  283: goja._dup({})
> 	compiler_test.go:24:  284: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  285: goja.loadVal(0)
> 	compiler_test.go:24:  286: goja._dup({})
> 	compiler_test.go:24:  287: goja.getPropCallee(substr)
> 	compiler_test.go:24:  288: goja.loadVal(5)
> 	compiler_test.go:24:  289: goja.loadVal(5)
> 	compiler_test.go:24:  290: goja._neg({})
> 	compiler_test.go:24:  291: goja.call(2)
> 	compiler_test.go:24:  292: goja.loadVal(3)
> 	compiler_test.go:24:  293: goja.loadVal(29)
> 	compiler_test.go:24:  294: goja.call(3)
> 	compiler_test.go:24:  295: goja._pop({})
> 	compiler_test.go:24:  296: goja.getVar1(assert)
> 	compiler_test.go:24:  297: goja._dup({})
> 	compiler_test.go:24:  298: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  299: goja.loadVal(0)
> 	compiler_test.go:24:  300: goja._dup({})
> 	compiler_test.go:24:  301: goja.getPropCallee(substr)
> 	compiler_test.go:24:  302: goja.loadVal(5)
> 	compiler_test.go:24:  303: goja.loadVal(7)
> 	compiler_test.go:24:  304: goja._neg({})
> 	compiler_test.go:24:  305: goja.call(2)
> 	compiler_test.go:24:  306: goja.loadVal(3)
> 	compiler_test.go:24:  307: goja.loadVal(30)
> 	compiler_test.go:24:  308: goja.call(3)
> 	compiler_test.go:24:  309: goja._pop({})
> 	compiler_test.go:24:  310: goja.getVar1(assert)
> 	compiler_test.go:24:  311: goja._dup({})
> 	compiler_test.go:24:  312: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  313: goja.loadVal(0)
> 	compiler_test.go:24:  314: goja._dup({})
> 	compiler_test.go:24:  315: goja.getPropCallee(substr)
> 	compiler_test.go:24:  316: goja.loadVal(5)
> 	compiler_test.go:24:  317: goja.loadVal(9)
> 	compiler_test.go:24:  318: goja._neg({})
> 	compiler_test.go:24:  319: goja.call(2)
> 	compiler_test.go:24:  320: goja.loadVal(3)
> 	compiler_test.go:24:  321: goja.loadVal(31)
> 	compiler_test.go:24:  322: goja.call(3)
> 	compiler_test.go:24:  323: goja._pop({})
> 	compiler_test.go:24:  324: goja.getVar1(assert)
> 	compiler_test.go:24:  325: goja._dup({})
> 	compiler_test.go:24:  326: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  327: goja.loadVal(0)
> 	compiler_test.go:24:  328: goja._dup({})
> 	compiler_test.go:24:  329: goja.getPropCallee(substr)
> 	compiler_test.go:24:  330: goja.loadVal(5)
> 	compiler_test.go:24:  331: goja.loadVal(27)
> 	compiler_test.go:24:  332: goja._neg({})
> 	compiler_test.go:24:  333: goja.call(2)
> 	compiler_test.go:24:  334: goja.loadVal(3)
> 	compiler_test.go:24:  335: goja.loadVal(32)
> 	compiler_test.go:24:  336: goja.call(3)
> 	compiler_test.go:24:  337: goja._pop({})
> 	compiler_test.go:24:  338: goja.getVar1(assert)
> 	compiler_test.go:24:  339: goja._dup({})
> 	compiler_test.go:24:  340: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  341: goja.loadVal(0)
> 	compiler_test.go:24:  342: goja._dup({})
> 	compiler_test.go:24:  343: goja.getPropCallee(substr)
> 	compiler_test.go:24:  344: goja.loadVal(7)
> 	compiler_test.go:24:  345: goja.loadVal(5)
> 	compiler_test.go:24:  346: goja._neg({})
> 	compiler_test.go:24:  347: goja.call(2)
> 	compiler_test.go:24:  348: goja.loadVal(3)
> 	compiler_test.go:24:  349: goja.loadVal(33)
> 	compiler_test.go:24:  350: goja.call(3)
> 	compiler_test.go:24:  351: goja._pop({})
> 	compiler_test.go:24:  352: goja.getVar1(assert)
> 	compiler_test.go:24:  353: goja._dup({})
> 	compiler_test.go:24:  354: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  355: goja.loadVal(0)
> 	compiler_test.go:24:  356: goja._dup({})
> 	compiler_test.go:24:  357: goja.getPropCallee(substr)
> 	compiler_test.go:24:  358: goja.loadVal(7)
> 	compiler_test.go:24:  359: goja.loadVal(7)
> 	compiler_test.go:24:  360: goja._neg({})
> 	compiler_test.go:24:  361: goja.call(2)
> 	compiler_test.go:24:  362: goja.loadVal(3)
> 	compiler_test.go:24:  363: goja.loadVal(34)
> 	compiler_test.go:24:  364: goja.call(3)
> 	compiler_test.go:24:  365: goja._pop({})
> 	compiler_test.go:24:  366: goja.getVar1(assert)
> 	compiler_test.go:24:  367: goja._dup({})
> 	compiler_test.go:24:  368: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  369: goja.loadVal(0)
> 	compiler_test.go:24:  370: goja._dup({})
> 	compiler_test.go:24:  371: goja.getPropCallee(substr)
> 	compiler_test.go:24:  372: goja.loadVal(7)
> 	compiler_test.go:24:  373: goja.loadVal(9)
> 	compiler_test.go:24:  374: goja._neg({})
> 	compiler_test.go:24:  375: goja.call(2)
> 	compiler_test.go:24:  376: goja.loadVal(3)
> 	compiler_test.go:24:  377: goja.loadVal(35)
> 	compiler_test.go:24:  378: goja.call(3)
> 	compiler_test.go:24:  379: goja._pop({})
> 	compiler_test.go:24:  380: goja.getVar1(assert)
> 	compiler_test.go:24:  381: goja._dup({})
> 	compiler_test.go:24:  382: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  383: goja.loadVal(0)
> 	compiler_test.go:24:  384: goja._dup({})
> 	compiler_test.go:24:  385: goja.getPropCallee(substr)
> 	compiler_test.go:24:  386: goja.loadVal(7)
> 	compiler_test.go:24:  387: goja.loadVal(27)
> 	compiler_test.go:24:  388: goja._neg({})
> 	compiler_test.go:24:  389: goja.call(2)
> 	compiler_test.go:24:  390: goja.loadVal(3)
> 	compiler_test.go:24:  391: goja.loadVal(36)
> 	compiler_test.go:24:  392: goja.call(3)
> 	compiler_test.go:24:  393: goja._pop({})
> 	compiler_test.go:24:  394: goja.getVar1(assert)
> 	compiler_test.go:24:  395: goja._dup({})
> 	compiler_test.go:24:  396: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  397: goja.loadVal(0)
> 	compiler_test.go:24:  398: goja._dup({})
> 	compiler_test.go:24:  399: goja.getPropCallee(substr)
> 	compiler_test.go:24:  400: goja.loadVal(9)
> 	compiler_test.go:24:  401: goja.loadVal(5)
> 	compiler_test.go:24:  402: goja._neg({})
> 	compiler_test.go:24:  403: goja.call(2)
> 	compiler_test.go:24:  404: goja.loadVal(3)
> 	compiler_test.go:24:  405: goja.loadVal(37)
> 	compiler_test.go:24:  406: goja.call(3)
> 	compiler_test.go:24:  407: goja._pop({})
> 	compiler_test.go:24:  408: goja.getVar1(assert)
> 	compiler_test.go:24:  409: goja._dup({})
> 	compiler_test.go:24:  410: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  411: goja.loadVal(0)
> 	compiler_test.go:24:  412: goja._dup({})
> 	compiler_test.go:24:  413: goja.getPropCallee(substr)
> 	compiler_test.go:24:  414: goja.loadVal(9)
> 	compiler_test.go:24:  415: goja.loadVal(7)
> 	compiler_test.go:24:  416: goja._neg({})
> 	compiler_test.go:24:  417: goja.call(2)
> 	compiler_test.go:24:  418: goja.loadVal(3)
> 	compiler_test.go:24:  419: goja.loadVal(38)
> 	compiler_test.go:24:  420: goja.call(3)
> 	compiler_test.go:24:  421: goja._pop({})
> 	compiler_test.go:24:  422: goja.getVar1(assert)
> 	compiler_test.go:24:  423: goja._dup({})
> 	compiler_test.go:24:  424: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  425: goja.loadVal(0)
> 	compiler_test.go:24:  426: goja._dup({})
> 	compiler_test.go:24:  427: goja.getPropCallee(substr)
> 	compiler_test.go:24:  428: goja.loadVal(9)
> 	compiler_test.go:24:  429: goja.loadVal(9)
> 	compiler_test.go:24:  430: goja._neg({})
> 	compiler_test.go:24:  431: goja.call(2)
> 	compiler_test.go:24:  432: goja.loadVal(3)
> 	compiler_test.go:24:  433: goja.loadVal(39)
> 	compiler_test.go:24:  434: goja.call(3)
> 	compiler_test.go:24:  435: goja._pop({})
> 	compiler_test.go:24:  436: goja.getVar1(assert)
> 	compiler_test.go:24:  437: goja._dup({})
> 	compiler_test.go:24:  438: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  439: goja.loadVal(0)
> 	compiler_test.go:24:  440: goja._dup({})
> 	compiler_test.go:24:  441: goja.getPropCallee(substr)
> 	compiler_test.go:24:  442: goja.loadVal(9)
> 	compiler_test.go:24:  443: goja.loadVal(27)
> 	compiler_test.go:24:  444: goja._neg({})
> 	compiler_test.go:24:  445: goja.call(2)
> 	compiler_test.go:24:  446: goja.loadVal(3)
> 	compiler_test.go:24:  447: goja.loadVal(40)
> 	compiler_test.go:24:  448: goja.call(3)
> 	compiler_test.go:24:  449: goja._pop({})
> 	compiler_test.go:24:  450: goja.getVar1(assert)
> 	compiler_test.go:24:  451: goja._dup({})
> 	compiler_test.go:24:  452: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  453: goja.loadVal(0)
> 	compiler_test.go:24:  454: goja._dup({})
> 	compiler_test.go:24:  455: goja.getPropCallee(substr)
> 	compiler_test.go:24:  456: goja.loadVal(1)
> 	compiler_test.go:24:  457: goja.loadVal(5)
> 	compiler_test.go:24:  458: goja.call(2)
> 	compiler_test.go:24:  459: goja.loadVal(41)
> 	compiler_test.go:24:  460: goja.loadVal(42)
> 	compiler_test.go:24:  461: goja.call(3)
> 	compiler_test.go:24:  462: goja._pop({})
> 	compiler_test.go:24:  463: goja.getVar1(assert)
> 	compiler_test.go:24:  464: goja._dup({})
> 	compiler_test.go:24:  465: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  466: goja.loadVal(0)
> 	compiler_test.go:24:  467: goja._dup({})
> 	compiler_test.go:24:  468: goja.getPropCallee(substr)
> 	compiler_test.go:24:  469: goja.loadVal(1)
> 	compiler_test.go:24:  470: goja.loadVal(7)
> 	compiler_test.go:24:  471: goja.call(2)
> 	compiler_test.go:24:  472: goja.loadVal(43)
> 	compiler_test.go:24:  473: goja.loadVal(42)
> 	compiler_test.go:24:  474: goja.call(3)
> 	compiler_test.go:24:  475: goja._pop({})
> 	compiler_test.go:24:  476: goja.getVar1(assert)
> 	compiler_test.go:24:  477: goja._dup({})
> 	compiler_test.go:24:  478: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  479: goja.loadVal(0)
> 	compiler_test.go:24:  480: goja._dup({})
> 	compiler_test.go:24:  481: goja.getPropCallee(substr)
> 	compiler_test.go:24:  482: goja.loadVal(1)
> 	compiler_test.go:24:  483: goja.loadVal(9)
> 	compiler_test.go:24:  484: goja.call(2)
> 	compiler_test.go:24:  485: goja.loadVal(0)
> 	compiler_test.go:24:  486: goja.loadVal(42)
> 	compiler_test.go:24:  487: goja.call(3)
> 	compiler_test.go:24:  488: goja._pop({})
> 	compiler_test.go:24:  489: goja.getVar1(assert)
> 	compiler_test.go:24:  490: goja._dup({})
> 	compiler_test.go:24:  491: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  492: goja.loadVal(0)
> 	compiler_test.go:24:  493: goja._dup({})
> 	compiler_test.go:24:  494: goja.getPropCallee(substr)
> 	compiler_test.go:24:  495: goja.loadVal(1)
> 	compiler_test.go:24:  496: goja.loadVal(27)
> 	compiler_test.go:24:  497: goja.call(2)
> 	compiler_test.go:24:  498: goja.loadVal(0)
> 	compiler_test.go:24:  499: goja.loadVal(42)
> 	compiler_test.go:24:  500: goja.call(3)
> 	compiler_test.go:24:  501: goja._pop({})
> 	compiler_test.go:24:  502: goja.getVar1(assert)
> 	compiler_test.go:24:  503: goja._dup({})
> 	compiler_test.go:24:  504: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  505: goja.loadVal(0)
> 	compiler_test.go:24:  506: goja._dup({})
> 	compiler_test.go:24:  507: goja.getPropCallee(substr)
> 	compiler_test.go:24:  508: goja.loadVal(5)
> 	compiler_test.go:24:  509: goja.loadVal(5)
> 	compiler_test.go:24:  510: goja.call(2)
> 	compiler_test.go:24:  511: goja.loadVal(44)
> 	compiler_test.go:24:  512: goja.loadVal(45)
> 	compiler_test.go:24:  513: goja.call(3)
> 	compiler_test.go:24:  514: goja._pop({})
> 	compiler_test.go:24:  515: goja.getVar1(assert)
> 	compiler_test.go:24:  516: goja._dup({})
> 	compiler_test.go:24:  517: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  518: goja.loadVal(0)
> 	compiler_test.go:24:  519: goja._dup({})
> 	compiler_test.go:24:  520: goja.getPropCallee(substr)
> 	compiler_test.go:24:  521: goja.loadVal(5)
> 	compiler_test.go:24:  522: goja.loadVal(7)
> 	compiler_test.go:24:  523: goja.call(2)
> 	compiler_test.go:24:  524: goja.loadVal(46)
> 	compiler_test.go:24:  525: goja.loadVal(45)
> 	compiler_test.go:24:  526: goja.call(3)
> 	compiler_test.go:24:  527: goja._pop({})
> 	compiler_test.go:24:  528: goja.getVar1(assert)
> 	compiler_test.go:24:  529: goja._dup({})
> 	compiler_test.go:24:  530: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  531: goja.loadVal(0)
> 	compiler_test.go:24:  532: goja._dup({})
> 	compiler_test.go:24:  533: goja.getPropCallee(substr)
> 	compiler_test.go:24:  534: goja.loadVal(5)
> 	compiler_test.go:24:  535: goja.loadVal(9)
> 	compiler_test.go:24:  536: goja.call(2)
> 	compiler_test.go:24:  537: goja.loadVal(46)
> 	compiler_test.go:24:  538: goja.loadVal(45)
> 	compiler_test.go:24:  539: goja.call(3)
> 	compiler_test.go:24:  540: goja._pop({})
> 	compiler_test.go:24:  541: goja.getVar1(assert)
> 	compiler_test.go:24:  542: goja._dup({})
> 	compiler_test.go:24:  543: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  544: goja.loadVal(0)
> 	compiler_test.go:24:  545: goja._dup({})
> 	compiler_test.go:24:  546: goja.getPropCallee(substr)
> 	compiler_test.go:24:  547: goja.loadVal(5)
> 	compiler_test.go:24:  548: goja.loadVal(27)
> 	compiler_test.go:24:  549: goja.call(2)
> 	compiler_test.go:24:  550: goja.loadVal(46)
> 	compiler_test.go:24:  551: goja.loadVal(45)
> 	compiler_test.go:24:  552: goja.call(3)
> 	compiler_test.go:24:  553: goja._pop({})
> 	compiler_test.go:24:  554: goja.getVar1(assert)
> 	compiler_test.go:24:  555: goja._dup({})
> 	compiler_test.go:24:  556: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  557: goja.loadVal(0)
> 	compiler_test.go:24:  558: goja._dup({})
> 	compiler_test.go:24:  559: goja.getPropCallee(substr)
> 	compiler_test.go:24:  560: goja.loadVal(7)
> 	compiler_test.go:24:  561: goja.loadVal(5)
> 	compiler_test.go:24:  562: goja.call(2)
> 	compiler_test.go:24:  563: goja.loadVal(47)
> 	compiler_test.go:24:  564: goja.loadVal(48)
> 	compiler_test.go:24:  565: goja.call(3)
> 	compiler_test.go:24:  566: goja._pop({})
> 	compiler_test.go:24:  567: goja.getVar1(assert)
> 	compiler_test.go:24:  568: goja._dup({})
> 	compiler_test.go:24:  569: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  570: goja.loadVal(0)
> 	compiler_test.go:24:  571: goja._dup({})
> 	compiler_test.go:24:  572: goja.getPropCallee(substr)
> 	compiler_test.go:24:  573: goja.loadVal(7)
> 	compiler_test.go:24:  574: goja.loadVal(7)
> 	compiler_test.go:24:  575: goja.call(2)
> 	compiler_test.go:24:  576: goja.loadVal(47)
> 	compiler_test.go:24:  577: goja.loadVal(48)
> 	compiler_test.go:24:  578: goja.call(3)
> 	compiler_test.go:24:  579: goja._pop({})
> 	compiler_test.go:24:  580: goja.getVar1(assert)
> 	compiler_test.go:24:  581: goja._dup({})
> 	compiler_test.go:24:  582: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  583: goja.loadVal(0)
> 	compiler_test.go:24:  584: goja._dup({})
> 	compiler_test.go:24:  585: goja.getPropCallee(substr)
> 	compiler_test.go:24:  586: goja.loadVal(7)
> 	compiler_test.go:24:  587: goja.loadVal(9)
> 	compiler_test.go:24:  588: goja.call(2)
> 	compiler_test.go:24:  589: goja.loadVal(47)
> 	compiler_test.go:24:  590: goja.loadVal(48)
> 	compiler_test.go:24:  591: goja.call(3)
> 	compiler_test.go:24:  592: goja._pop({})
> 	compiler_test.go:24:  593: goja.getVar1(assert)
> 	compiler_test.go:24:  594: goja._dup({})
> 	compiler_test.go:24:  595: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  596: goja.loadVal(0)
> 	compiler_test.go:24:  597: goja._dup({})
> 	compiler_test.go:24:  598: goja.getPropCallee(substr)
> 	compiler_test.go:24:  599: goja.loadVal(7)
> 	compiler_test.go:24:  600: goja.loadVal(27)
> 	compiler_test.go:24:  601: goja.call(2)
> 	compiler_test.go:24:  602: goja.loadVal(47)
> 	compiler_test.go:24:  603: goja.loadVal(48)
> 	compiler_test.go:24:  604: goja.call(3)
> 	compiler_test.go:24:  605: goja._pop({})
> 	compiler_test.go:24:  606: goja.getVar1(assert)
> 	compiler_test.go:24:  607: goja._dup({})
> 	compiler_test.go:24:  608: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  609: goja.loadVal(0)
> 	compiler_test.go:24:  610: goja._dup({})
> 	compiler_test.go:24:  611: goja.getPropCallee(substr)
> 	compiler_test.go:24:  612: goja.loadVal(9)
> 	compiler_test.go:24:  613: goja.loadVal(5)
> 	compiler_test.go:24:  614: goja.call(2)
> 	compiler_test.go:24:  615: goja.loadVal(3)
> 	compiler_test.go:24:  616: goja.loadVal(49)
> 	compiler_test.go:24:  617: goja.call(3)
> 	compiler_test.go:24:  618: goja._pop({})
> 	compiler_test.go:24:  619: goja.getVar1(assert)
> 	compiler_test.go:24:  620: goja._dup({})
> 	compiler_test.go:24:  621: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  622: goja.loadVal(0)
> 	compiler_test.go:24:  623: goja._dup({})
> 	compiler_test.go:24:  624: goja.getPropCallee(substr)
> 	compiler_test.go:24:  625: goja.loadVal(9)
> 	compiler_test.go:24:  626: goja.loadVal(7)
> 	compiler_test.go:24:  627: goja.call(2)
> 	compiler_test.go:24:  628: goja.loadVal(3)
> 	compiler_test.go:24:  629: goja.loadVal(49)
> 	compiler_test.go:24:  630: goja.call(3)
> 	compiler_test.go:24:  631: goja._pop({})
> 	compiler_test.go:24:  632: goja.getVar1(assert)
> 	compiler_test.go:24:  633: goja._dup({})
> 	compiler_test.go:24:  634: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  635: goja.loadVal(0)
> 	compiler_test.go:24:  636: goja._dup({})
> 	compiler_test.go:24:  637: goja.getPropCallee(substr)
> 	compiler_test.go:24:  638: goja.loadVal(9)
> 	compiler_test.go:24:  639: goja.loadVal(9)
> 	compiler_test.go:24:  640: goja.call(2)
> 	compiler_test.go:24:  641: goja.loadVal(3)
> 	compiler_test.go:24:  642: goja.loadVal(49)
> 	compiler_test.go:24:  643: goja.call(3)
> 	compiler_test.go:24:  644: goja._pop({})
> 	compiler_test.go:24:  645: goja.getVar1(assert)
> 	compiler_test.go:24:  646: goja._dup({})
> 	compiler_test.go:24:  647: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  648: goja.loadVal(0)
> 	compiler_test.go:24:  649: goja._dup({})
> 	compiler_test.go:24:  650: goja.getPropCallee(substr)
> 	compiler_test.go:24:  651: goja.loadVal(9)
> 	compiler_test.go:24:  652: goja.loadVal(27)
> 	compiler_test.go:24:  653: goja.call(2)
> 	compiler_test.go:24:  654: goja.loadVal(3)
> 	compiler_test.go:24:  655: goja.loadVal(49)
> 	compiler_test.go:24:  656: goja.call(3)
> 	compiler_test.go:24:  657: goja._pop({})
> 	compiler_test.go:24:  658: goja.getVar1(assert)
> 	compiler_test.go:24:  659: goja._dup({})
> 	compiler_test.go:24:  660: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  661: goja.loadVal(0)
> 	compiler_test.go:24:  662: goja._dup({})
> 	compiler_test.go:24:  663: goja.getPropCallee(substr)
> 	compiler_test.go:24:  664: goja.loadVal(1)
> 	compiler_test.go:24:  665: goja.call(1)
> 	compiler_test.go:24:  666: goja.loadVal(0)
> 	compiler_test.go:24:  667: goja.loadVal(50)
> 	compiler_test.go:24:  668: goja.call(3)
> 	compiler_test.go:24:  669: goja._pop({})
> 	compiler_test.go:24:  670: goja.getVar1(assert)
> 	compiler_test.go:24:  671: goja._dup({})
> 	compiler_test.go:24:  672: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  673: goja.loadVal(0)
> 	compiler_test.go:24:  674: goja._dup({})
> 	compiler_test.go:24:  675: goja.getPropCallee(substr)
> 	compiler_test.go:24:  676: goja.loadVal(5)
> 	compiler_test.go:24:  677: goja.call(1)
> 	compiler_test.go:24:  678: goja.loadVal(46)
> 	compiler_test.go:24:  679: goja.loadVal(51)
> 	compiler_test.go:24:  680: goja.call(3)
> 	compiler_test.go:24:  681: goja._pop({})
> 	compiler_test.go:24:  682: goja.getVar1(assert)
> 	compiler_test.go:24:  683: goja._dup({})
> 	compiler_test.go:24:  684: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  685: goja.loadVal(0)
> 	compiler_test.go:24:  686: goja._dup({})
> 	compiler_test.go:24:  687: goja.getPropCallee(substr)
> 	compiler_test.go:24:  688: goja.loadVal(7)
> 	compiler_test.go:24:  689: goja.call(1)
> 	compiler_test.go:24:  690: goja.loadVal(47)
> 	compiler_test.go:24:  691: goja.loadVal(52)
> 	compiler_test.go:24:  692: goja.call(3)
> 	compiler_test.go:24:  693: goja._pop({})
> 	compiler_test.go:24:  694: goja.getVar1(assert)
> 	compiler_test.go:24:  695: goja._dup({})
> 	compiler_test.go:24:  696: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  697: goja.loadVal(0)
> 	compiler_test.go:24:  698: goja._dup({})
> 	compiler_test.go:24:  699: goja.getPropCallee(substr)
> 	compiler_test.go:24:  700: goja.loadVal(9)
> 	compiler_test.go:24:  701: goja.call(1)
> 	compiler_test.go:24:  702: goja.loadVal(3)
> 	compiler_test.go:24:  703: goja.loadVal(53)
> 	compiler_test.go:24:  704: goja.call(3)
> 	compiler_test.go:24:  705: goja._pop({})
> 	compiler_test.go:24:  706: goja.getVar1(assert)
> 	compiler_test.go:24:  707: goja._dup({})
> 	compiler_test.go:24:  708: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  709: goja.loadVal(0)
> 	compiler_test.go:24:  710: goja._dup({})
> 	compiler_test.go:24:  711: goja.getPropCallee(substr)
> 	compiler_test.go:24:  712: goja.loadVal(1)
> 	compiler_test.go:24:  713: goja.getVar1(undefined)
> 	compiler_test.go:24:  714: goja.call(2)
> 	compiler_test.go:24:  715: goja.loadVal(0)
> 	compiler_test.go:24:  716: goja.loadVal(54)
> 	compiler_test.go:24:  717: goja.call(3)
> 	compiler_test.go:24:  718: goja._pop({})
> 	compiler_test.go:24:  719: goja.getVar1(assert)
> 	compiler_test.go:24:  720: goja._dup({})
> 	compiler_test.go:24:  721: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  722: goja.loadVal(0)
> 	compiler_test.go:24:  723: goja._dup({})
> 	compiler_test.go:24:  724: goja.getPropCallee(substr)
> 	compiler_test.go:24:  725: goja.loadVal(5)
> 	compiler_test.go:24:  726: goja.getVar1(undefined)
> 	compiler_test.go:24:  727: goja.call(2)
> 	compiler_test.go:24:  728: goja.loadVal(46)
> 	compiler_test.go:24:  729: goja.loadVal(55)
> 	compiler_test.go:24:  730: goja.call(3)
> 	compiler_test.go:24:  731: goja._pop({})
> 	compiler_test.go:24:  732: goja.getVar1(assert)
> 	compiler_test.go:24:  733: goja._dup({})
> 	compiler_test.go:24:  734: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  735: goja.loadVal(0)
> 	compiler_test.go:24:  736: goja._dup({})
> 	compiler_test.go:24:  737: goja.getPropCallee(substr)
> 	compiler_test.go:24:  738: goja.loadVal(7)
> 	compiler_test.go:24:  739: goja.getVar1(undefined)
> 	compiler_test.go:24:  740: goja.call(2)
> 	compiler_test.go:24:  741: goja.loadVal(47)
> 	compiler_test.go:24:  742: goja.loadVal(56)
> 	compiler_test.go:24:  743: goja.call(3)
> 	compiler_test.go:24:  744: goja._pop({})
> 	compiler_test.go:24:  745: goja.getVar1(assert)
> 	compiler_test.go:24:  746: goja._dup({})
> 	compiler_test.go:24:  747: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  748: goja.loadVal(0)
> 	compiler_test.go:24:  749: goja._dup({})
> 	compiler_test.go:24:  750: goja.getPropCallee(substr)
> 	compiler_test.go:24:  751: goja.loadVal(9)
> 	compiler_test.go:24:  752: goja.getVar1(undefined)
> 	compiler_test.go:24:  753: goja.call(2)
> 	compiler_test.go:24:  754: goja.loadVal(3)
> 	compiler_test.go:24:  755: goja.loadVal(57)
> 	compiler_test.go:24:  756: goja.call(3)
> 	compiler_test.go:24:  757: goja._halt({})
> 	compiler_test.go:60: stack size: 11
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEmptyProgram
> --- PASS: TestEmptyProgram (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestErrorProto
> --- PASS: TestErrorProto (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(e)
> 	compiler_test.go:24:  1: goja.resolveVar1(e)
> 	compiler_test.go:24:  2: goja.getVar1(TypeError)
> 	compiler_test.go:24:  3: goja._new(0)
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.getVar1(e)
> 	compiler_test.go:24:  7: goja.getProp(name)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestThis1
> --- PASS: TestThis1 (0.00s)
> 	compiler_test.go:24: values: [42]
> 	compiler_test.go:24:  0: goja.bindName(independent)
> 	compiler_test.go:24:  1: goja.bindName(o)
> 	compiler_test.go:24:  2: goja.bindName(rv)
> 	compiler_test.go:24:  3: goja.resolveVar1(independent)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4200814a0 independent 0 false 2 49})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja.getProp(prop)
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(o)
> 	compiler_test.go:24:  8: goja._newObject({})
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.getVar1(o)
> 	compiler_test.go:24:  12: goja._newObject({})
> 	compiler_test.go:24:  13: goja.getVar1(independent)
> 	compiler_test.go:24:  14: goja.setProp1(g)
> 	compiler_test.go:24:  15: goja.loadVal(0)
> 	compiler_test.go:24:  16: goja.setProp1(prop)
> 	compiler_test.go:24:  17: goja.setProp(b)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.resolveVar1(rv)
> 	compiler_test.go:24:  20: goja.getVar1(o)
> 	compiler_test.go:24:  21: goja.getProp(b)
> 	compiler_test.go:24:  22: goja._dup({})
> 	compiler_test.go:24:  23: goja.getPropCallee(g)
> 	compiler_test.go:24:  24: goja.call(0)
> 	compiler_test.go:24:  25: goja._putValue({})
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja._loadUndef({})
> 	compiler_test.go:24:  28: goja._halt({})
> 	compiler_test.go:27: stack size: 3
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestThis2
> --- PASS: TestThis2 (0.00s)
> 	compiler_test.go:24: values: [37]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja.setProp1(prop)
> 	compiler_test.go:24:  6: *goja.newFunc(&{0xc420080540  0 false 28 66})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja.getProp(prop)
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  7: goja.setProp1(f)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.resolveVar1(rv)
> 	compiler_test.go:24:  11: goja.getVar1(o)
> 	compiler_test.go:24:  12: goja._dup({})
> 	compiler_test.go:24:  13: goja.getPropCallee(f)
> 	compiler_test.go:24:  14: goja.call(0)
> 	compiler_test.go:24:  15: goja._putValue({})
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja._loadUndef({})
> 	compiler_test.go:24:  18: goja._halt({})
> 	compiler_test.go:27: stack size: 3
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestThisStrict
> --- PASS: TestThisStrict (0.00s)
> 	compiler_test.go:24: values: [x 5]
> 	compiler_test.go:24:  0: goja.getVar1(Object)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  3: goja.getVar1(Object)
> 	compiler_test.go:24:  4: goja.getProp(prototype)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja._newObject({})
> 	compiler_test.go:24:  7: *goja.newFunc(&{0xc420080900  0 true 70 98})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.loadStack(0)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  8: goja.setProp1(get)
> 	compiler_test.go:24:  9: goja.call(3)
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja.getProp(x)
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja._op_strict_eq({})
> 	compiler_test.go:24:  15: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestThisNoStrict
> --- PASS: TestThisNoStrict (0.00s)
> 	compiler_test.go:24: values: [x 5]
> 	compiler_test.go:24:  0: goja.getVar1(Object)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  3: goja.getVar1(Object)
> 	compiler_test.go:24:  4: goja.getProp(prototype)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja._newObject({})
> 	compiler_test.go:24:  7: *goja.newFunc(&{0xc420080c60  0 false 54 82})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja._retStashless({})
> 	compiler_test.go:24:  8: goja.setProp1(get)
> 	compiler_test.go:24:  9: goja.call(3)
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja.getProp(x)
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja._op_eq({})
> 	compiler_test.go:24:  15: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestCallLessArgs
> --- PASS: TestCallLessArgs (0.00s)
> 	compiler_test.go:24: values: [1 2]
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc420080fc0 A 3 false 1 79})
> 	compiler_test.go:24: values: [ ]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 3})
> 	compiler_test.go:24: > 1: goja._loadUndef({})
> 	compiler_test.go:24: > 2: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 3: goja.loadStack(-1)
> 	compiler_test.go:24: > 4: goja.call(1)
> 	compiler_test.go:24: > 5: goja.loadVal(0)
> 	compiler_test.go:24: > 6: goja._add({})
> 	compiler_test.go:24: > 7: goja._loadUndef({})
> 	compiler_test.go:24: > 8: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 9: goja.loadStack(-2)
> 	compiler_test.go:24: > 10: goja.call(1)
> 	compiler_test.go:24: > 11: goja._add({})
> 	compiler_test.go:24: > 12: goja.loadVal(0)
> 	compiler_test.go:24: > 13: goja._add({})
> 	compiler_test.go:24: > 14: goja._loadUndef({})
> 	compiler_test.go:24: > 15: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 16: goja.loadStack(-3)
> 	compiler_test.go:24: > 17: goja.call(1)
> 	compiler_test.go:24: > 18: goja._add({})
> 	compiler_test.go:24: > 19: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.loadVal(0)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja.call(2)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja._loadUndef({})
> 	compiler_test.go:24:  15: goja._halt({})
> 	compiler_test.go:27: stack size: 9
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestCallMoreArgs
> --- PASS: TestCallMoreArgs (0.00s)
> 	compiler_test.go:24: values: [1 2 3]
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200812c0 A 2 false 1 52})
> 	compiler_test.go:24: values: [4]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 2})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja.loadStack(-2)
> 	compiler_test.go:24: > 6: goja._sub({})
> 	compiler_test.go:24: > 7: goja.loadStack(1)
> 	compiler_test.go:24: > 8: goja._add({})
> 	compiler_test.go:24: > 9: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.loadVal(0)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja.loadVal(2)
> 	compiler_test.go:24:  12: goja.call(3)
> 	compiler_test.go:24:  13: goja._putValue({})
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja._loadUndef({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:27: stack size: 8
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestCallMoreArgsDynamic
> --- PASS: TestCallMoreArgsDynamic (0.00s)
> 	compiler_test.go:24: values: [1 2 3]
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc420081740 A 2 false 1 81})
> 	compiler_test.go:24: values: [4]
> 	compiler_test.go:24: > 0: goja.enterFunc(2)
> 	compiler_test.go:24: > 1: goja.bindName(a)
> 	compiler_test.go:24: > 2: goja.bindName(b)
> 	compiler_test.go:24: > 3: goja.bindName(c)
> 	compiler_test.go:24: > 4: goja._boxThis({})
> 	compiler_test.go:24: > 5: goja.loadVal(0)
> 	compiler_test.go:24: > 6: goja.setLocal(2)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.getVar1(a)
> 	compiler_test.go:24: > 9: goja.getVar1(b)
> 	compiler_test.go:24: > 10: goja._sub({})
> 	compiler_test.go:24: > 11: goja.getVar1(c)
> 	compiler_test.go:24: > 12: goja._add({})
> 	compiler_test.go:24: > 13: goja._ret({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.loadVal(0)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja.loadVal(2)
> 	compiler_test.go:24:  12: goja.call(3)
> 	compiler_test.go:24:  13: goja._putValue({})
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja._loadUndef({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:27: stack size: 5
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestCallLessArgsDynamic
> --- PASS: TestCallLessArgsDynamic (0.00s)
> 	compiler_test.go:24: values: [1 2]
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc420081aa0 A 3 false 1 131})
> 	compiler_test.go:24: values: [ ]
> 	compiler_test.go:24: > 0: goja.enterFunc(3)
> 	compiler_test.go:24: > 1: goja.bindName(a)
> 	compiler_test.go:24: > 2: goja.bindName(b)
> 	compiler_test.go:24: > 3: goja.bindName(c)
> 	compiler_test.go:24: > 4: goja.bindName(B)
> 	compiler_test.go:24: > 5: *goja.newFunc(&{0xc420081b00 B 0 false 45 74})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: >> 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: >> 1: goja.getLocal(0)
> 	compiler_test.go:24: >> 2: goja._retStashless({})
> 	compiler_test.go:24: > 6: goja.setLocal(3)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja._loadUndef({})
> 	compiler_test.go:24: > 9: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 10: goja.getLocal(0)
> 	compiler_test.go:24: > 11: goja.call(1)
> 	compiler_test.go:24: > 12: goja.loadVal(0)
> 	compiler_test.go:24: > 13: goja._add({})
> 	compiler_test.go:24: > 14: goja._loadUndef({})
> 	compiler_test.go:24: > 15: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 16: goja.getLocal(1)
> 	compiler_test.go:24: > 17: goja.call(1)
> 	compiler_test.go:24: > 18: goja._add({})
> 	compiler_test.go:24: > 19: goja.loadVal(0)
> 	compiler_test.go:24: > 20: goja._add({})
> 	compiler_test.go:24: > 21: goja._loadUndef({})
> 	compiler_test.go:24: > 22: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 23: goja.getLocal(2)
> 	compiler_test.go:24: > 24: goja.call(1)
> 	compiler_test.go:24: > 25: goja._add({})
> 	compiler_test.go:24: > 26: goja._ret({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.loadVal(0)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja.call(2)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja._loadUndef({})
> 	compiler_test.go:24:  15: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestCallLessArgsDynamicLocalVar
> --- PASS: TestCallLessArgsDynamicLocalVar (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420081f20 f 1 false 2 82})
> 	compiler_test.go:24: values: [42]
> 	compiler_test.go:24: > 0: goja.enterFunc(1)
> 	compiler_test.go:24: > 1: goja.bindName(param)
> 	compiler_test.go:24: > 2: goja.bindName(a)
> 	compiler_test.go:24: > 3: goja._boxThis({})
> 	compiler_test.go:24: > 4: goja.loadVal(0)
> 	compiler_test.go:24: > 5: goja.setLocal(1)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.getVar1(a)
> 	compiler_test.go:24: > 8: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestNativeCall
> --- PASS: TestNativeCall (0.00s)
> 	compiler_test.go:24: values: [1 test 42]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(o)
> 	compiler_test.go:24:  3: goja._loadUndef({})
> 	compiler_test.go:24:  4: goja.getVar1Callee(Object)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja.call(1)
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.getVar1(Object)
> 	compiler_test.go:24:  10: goja._dup({})
> 	compiler_test.go:24:  11: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  12: goja.getVar1(o)
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja._newObject({})
> 	compiler_test.go:24:  15: goja.loadVal(2)
> 	compiler_test.go:24:  16: goja.setProp1(value)
> 	compiler_test.go:24:  17: goja.call(3)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.resolveVar1(rv)
> 	compiler_test.go:24:  20: goja.getVar1(o)
> 	compiler_test.go:24:  21: goja.getProp(test)
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja._loadUndef({})
> 	compiler_test.go:24:  25: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestJSCall
> --- PASS: TestJSCall (0.00s)
> 	compiler_test.go:24: values: [1 42 test]
> 	compiler_test.go:24:  0: goja.bindName(getter)
> 	compiler_test.go:24:  1: goja.bindName(o)
> 	compiler_test.go:24:  2: goja.bindName(rv)
> 	compiler_test.go:24:  3: goja.resolveVar1(getter)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4200f2660 getter 0 false 2 41})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja.getProp(x)
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(o)
> 	compiler_test.go:24:  8: goja._loadUndef({})
> 	compiler_test.go:24:  9: goja.getVar1Callee(Object)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.call(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(o)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja.setProp(x)
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.getVar1(Object)
> 	compiler_test.go:24:  19: goja._dup({})
> 	compiler_test.go:24:  20: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  21: goja.getVar1(o)
> 	compiler_test.go:24:  22: goja.loadVal(2)
> 	compiler_test.go:24:  23: goja._newObject({})
> 	compiler_test.go:24:  24: goja.getVar1(getter)
> 	compiler_test.go:24:  25: goja.setProp1(get)
> 	compiler_test.go:24:  26: goja.call(3)
> 	compiler_test.go:24:  27: goja._pop({})
> 	compiler_test.go:24:  28: goja.resolveVar1(rv)
> 	compiler_test.go:24:  29: goja.getVar1(o)
> 	compiler_test.go:24:  30: goja.getProp(test)
> 	compiler_test.go:24:  31: goja._putValue({})
> 	compiler_test.go:24:  32: goja._pop({})
> 	compiler_test.go:24:  33: goja._loadUndef({})
> 	compiler_test.go:24:  34: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestLoop1
> --- PASS: TestLoop1 (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200f29c0 A 0 false 2 117})
> 	compiler_test.go:24: values: [1 0 2]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({2 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadVal(1)
> 	compiler_test.go:24: > 5: goja.storeStack(2)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadStack(2)
> 	compiler_test.go:24: > 8: goja.loadVal(0)
> 	compiler_test.go:24: > 9: goja._op_lt({})
> 	compiler_test.go:24: > 10: goja.jne(9)
> 	compiler_test.go:24: > 11: goja.loadVal(2)
> 	compiler_test.go:24: > 12: goja.storeStack(1)
> 	compiler_test.go:24: > 13: goja._pop({})
> 	compiler_test.go:24: > 14: goja.loadStack(2)
> 	compiler_test.go:24: > 15: goja._inc({})
> 	compiler_test.go:24: > 16: goja.storeStack(2)
> 	compiler_test.go:24: > 17: goja._pop({})
> 	compiler_test.go:24: > 18: goja.jump(-11)
> 	compiler_test.go:24: > 19: goja.loadStack(1)
> 	compiler_test.go:24: > 20: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja._loadUndef({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestLoopBreak
> --- PASS: TestLoopBreak (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200f2cc0 A 0 false 2 134})
> 	compiler_test.go:24: values: [1 0 2]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({2 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadVal(1)
> 	compiler_test.go:24: > 5: goja.storeStack(2)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadStack(2)
> 	compiler_test.go:24: > 8: goja.loadVal(0)
> 	compiler_test.go:24: > 9: goja._op_lt({})
> 	compiler_test.go:24: > 10: goja.jne(10)
> 	compiler_test.go:24: > 11: goja.jump(9)
> 	compiler_test.go:24: > 12: goja.loadVal(2)
> 	compiler_test.go:24: > 13: goja.storeStack(1)
> 	compiler_test.go:24: > 14: goja._pop({})
> 	compiler_test.go:24: > 15: goja.loadStack(2)
> 	compiler_test.go:24: > 16: goja._inc({})
> 	compiler_test.go:24: > 17: goja.storeStack(2)
> 	compiler_test.go:24: > 18: goja._pop({})
> 	compiler_test.go:24: > 19: goja.jump(-12)
> 	compiler_test.go:24: > 20: goja.loadStack(1)
> 	compiler_test.go:24: > 21: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja._loadUndef({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestForLoopOptionalExpr
> --- PASS: TestForLoopOptionalExpr (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200f2fc0 A 0 false 2 115})
> 	compiler_test.go:24: values: [1 2]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.jump(5)
> 	compiler_test.go:24: > 5: goja.loadVal(1)
> 	compiler_test.go:24: > 6: goja.storeStack(1)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.jump(-4)
> 	compiler_test.go:24: > 9: goja.loadStack(1)
> 	compiler_test.go:24: > 10: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja._loadUndef({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestBlockBreak
> --- PASS: TestBlockBreak (0.00s)
> 	compiler_test.go:24: values: [0 1 2 3]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.resolveVar1(rv)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.resolveVar1(rv)
> 	compiler_test.go:24:  6: goja.loadVal(1)
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.resolveVar1(rv)
> 	compiler_test.go:24:  10: goja.loadVal(2)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja.jump(5)
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.resolveVar1(rv)
> 	compiler_test.go:24:  15: goja.loadVal(3)
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._halt({})
> 	compiler_test.go:27: stack size: 1
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestTry
> --- PASS: TestTry (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200f37a0 A 0 false 2 115})
> 	compiler_test.go:24: values: [1 2 3 4]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.try({8 13 false})
> 	compiler_test.go:24: > 5: goja.loadVal(1)
> 	compiler_test.go:24: > 6: goja.storeStack(1)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja._halt({})
> 	compiler_test.go:24: > 9: goja.jump(13)
> 	compiler_test.go:24: > 10: <nil>(<nil>)
> 	compiler_test.go:24: > 11: <nil>(<nil>)
> 	compiler_test.go:24: > 12: goja.loadVal(2)
> 	compiler_test.go:24: > 13: goja.storeStack(1)
> 	compiler_test.go:24: > 14: goja._pop({})
> 	compiler_test.go:24: > 15: goja._halt({})
> 	compiler_test.go:24: > 16: goja.jump(6)
> 	compiler_test.go:24: > 17: goja.loadVal(3)
> 	compiler_test.go:24: > 18: goja.storeStack(1)
> 	compiler_test.go:24: > 19: goja._pop({})
> 	compiler_test.go:24: > 20: goja._halt({})
> 	compiler_test.go:24: > 21: goja._retFinally({})
> 	compiler_test.go:24: > 22: goja.loadStack(1)
> 	compiler_test.go:24: > 23: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja._loadUndef({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestTryCatch
> --- PASS: TestTryCatch (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200f3b00 A 0 false 2 89})
> 	compiler_test.go:24: values: [4]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({2 0})
> 	compiler_test.go:24: > 1: goja.try({5 0 false})
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._throw({})
> 	compiler_test.go:24: > 4: goja._halt({})
> 	compiler_test.go:24: > 5: goja.jump(7)
> 	compiler_test.go:24: > 6: goja.storeStack(2)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.loadStack(2)
> 	compiler_test.go:24: > 9: goja.storeStack(1)
> 	compiler_test.go:24: > 10: goja._pop({})
> 	compiler_test.go:24: > 11: goja._halt({})
> 	compiler_test.go:24: > 12: goja.loadStack(1)
> 	compiler_test.go:24: > 13: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(rv)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja._loadUndef({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:27: stack size: 5
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestTryExceptionInCatch
> --- PASS: TestTryExceptionInCatch (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.bindName(rv)
> 	compiler_test.go:24:  2: goja.resolveVar1(A)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4200f3e00 A 0 false 2 91})
> 	compiler_test.go:24: values: [4 5]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.try({7 0 false})
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._throw({})
> 	compiler_test.go:24: > 4: goja._halt({})
> 	compiler_test.go:24: > 5: goja.jump(6)
> 	compiler_test.go:24: > 6: <nil>(<nil>)
> 	compiler_test.go:24: > 7: <nil>(<nil>)
> 	compiler_test.go:24: > 8: goja.loadVal(1)
> 	compiler_test.go:24: > 9: goja._throw({})
> 	compiler_test.go:24: > 10: goja._halt({})
> 	compiler_test.go:24: > 11: goja.loadStack(1)
> 	compiler_test.go:24: > 12: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.try({8 0 true})
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(A)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja._halt({})
> 	compiler_test.go:24:  12: goja.jump(8)
> 	compiler_test.go:24:  13: <nil>(<nil>)
> 	compiler_test.go:24:  14: goja.enterCatch(e)
> 	compiler_test.go:24:  15: goja.resolveVar1(rv)
> 	compiler_test.go:24:  16: goja.getLocal(0)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja._halt({})
> 	compiler_test.go:24:  20: goja._loadUndef({})
> 	compiler_test.go:24:  21: goja._halt({})
> 	compiler_test.go:27: stack size: 5
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestTryContinueInFinally
> --- PASS: TestTryContinueInFinally (0.00s)
> 	compiler_test.go:24: values: [0 2 ex1 1]
> 	compiler_test.go:24:  0: goja.bindName(c3)
> 	compiler_test.go:24:  1: goja.bindName(fin3)
> 	compiler_test.go:24:  2: goja.resolveVar1(c3)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(fin3)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(c3)
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja._op_lt({})
> 	compiler_test.go:24:  13: goja.jne(29)
> 	compiler_test.go:24:  14: goja.try({6 15 true})
> 	compiler_test.go:24:  15: goja.loadVal(2)
> 	compiler_test.go:24:  16: goja._throw({})
> 	compiler_test.go:24:  17: goja._halt({})
> 	compiler_test.go:24:  18: goja.jump(19)
> 	compiler_test.go:24:  19: <nil>(<nil>)
> 	compiler_test.go:24:  20: goja.enterCatch(er1)
> 	compiler_test.go:24:  21: goja.resolveVar1(c3)
> 	compiler_test.go:24:  22: goja._getValue({})
> 	compiler_test.go:24:  23: goja.loadVal(3)
> 	compiler_test.go:24:  24: goja._add({})
> 	compiler_test.go:24:  25: goja._putValue({})
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:24:  28: goja.jump(9)
> 	compiler_test.go:24:  29: goja.resolveVar1(fin3)
> 	compiler_test.go:24:  30: goja.loadVal(3)
> 	compiler_test.go:24:  31: goja._putValue({})
> 	compiler_test.go:24:  32: goja._pop({})
> 	compiler_test.go:24:  33: goja._halt({})
> 	compiler_test.go:24:  34: goja.jump(-24)
> 	compiler_test.go:24:  35: goja._halt({})
> 	compiler_test.go:24:  36: goja._retFinally({})
> 	compiler_test.go:24:  37: goja.resolveVar1(fin3)
> 	compiler_test.go:24:  38: goja.loadVal(0)
> 	compiler_test.go:24:  39: goja._putValue({})
> 	compiler_test.go:24:  40: goja._pop({})
> 	compiler_test.go:24:  41: goja.jump(-31)
> 	compiler_test.go:24:  42: goja.getVar1(fin3)
> 	compiler_test.go:24:  43: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 2
> === RUN   TestCatchLexicalEnv
> --- PASS: TestCatchLexicalEnv (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4201e2540 F 0 false 2 85})
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({2 0})
> 	compiler_test.go:24: > 1: goja.try({5 0 false})
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._throw({})
> 	compiler_test.go:24: > 4: goja._halt({})
> 	compiler_test.go:24: > 5: goja.jump(7)
> 	compiler_test.go:24: > 6: goja.storeStack(2)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.loadStack(2)
> 	compiler_test.go:24: > 9: goja.storeStack(1)
> 	compiler_test.go:24: > 10: goja._pop({})
> 	compiler_test.go:24: > 11: goja._halt({})
> 	compiler_test.go:24: > 12: goja.loadStack(1)
> 	compiler_test.go:24: > 13: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestThrowType
> --- PASS: TestThrowType (0.00s)
> 	compiler_test.go:24: values: [null object]
> 	compiler_test.go:24:  0: goja.bindName(Exception)
> 	compiler_test.go:24:  1: goja.bindName(A)
> 	compiler_test.go:24:  2: goja.bindName(thrown)
> 	compiler_test.go:24:  3: goja.bindName(rv)
> 	compiler_test.go:24:  4: goja.resolveVar1(Exception)
> 	compiler_test.go:24:  5: *goja.newFunc(&{0xc4201e2840 Exception 1 false 2 60})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja.loadStack(-1)
> 	compiler_test.go:24: > 4: goja.setProp(message)
> 	compiler_test.go:24: > 5: goja._pop({})
> 	compiler_test.go:24: > 6: goja._loadUndef({})
> 	compiler_test.go:24: > 7: goja._retStashless({})
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(A)
> 	compiler_test.go:24:  9: *goja.newFunc(&{0xc4201e28a0 A 0 false 64 153})
> 	compiler_test.go:24: values: [boo!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.try({7 0 false})
> 	compiler_test.go:24: > 2: goja.getVar1(Exception)
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._new(1)
> 	compiler_test.go:24: > 5: goja._throw({})
> 	compiler_test.go:24: > 6: goja._halt({})
> 	compiler_test.go:24: > 7: goja.jump(7)
> 	compiler_test.go:24: > 8: goja.storeStack(1)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.loadStack(1)
> 	compiler_test.go:24: > 11: goja._halt({})
> 	compiler_test.go:24: > 12: goja._retStashless({})
> 	compiler_test.go:24: > 13: goja._halt({})
> 	compiler_test.go:24: > 14: goja._loadUndef({})
> 	compiler_test.go:24: > 15: goja._retStashless({})
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  13: goja._loadUndef({})
> 	compiler_test.go:24:  14: goja.getVar1Callee(A)
> 	compiler_test.go:24:  15: goja.call(0)
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.resolveVar1(rv)
> 	compiler_test.go:24:  19: goja.getVar1(thrown)
> 	compiler_test.go:24:  20: goja.loadVal(0)
> 	compiler_test.go:24:  21: goja._op_strict_neq({})
> 	compiler_test.go:24:  22: goja.jneq1(6)
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.getVar1Callee(thrown)
> 	compiler_test.go:24:  25: goja._typeof({})
> 	compiler_test.go:24:  26: goja.loadVal(1)
> 	compiler_test.go:24:  27: goja._op_strict_eq({})
> 	compiler_test.go:24:  28: goja.jneq1(6)
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja.getVar1(thrown)
> 	compiler_test.go:24:  31: goja.getProp(constructor)
> 	compiler_test.go:24:  32: goja.getVar1(Exception)
> 	compiler_test.go:24:  33: goja._op_strict_eq({})
> 	compiler_test.go:24:  34: goja._putValue({})
> 	compiler_test.go:24:  35: goja._pop({})
> 	compiler_test.go:24:  36: goja._loadUndef({})
> 	compiler_test.go:24:  37: goja._halt({})
> 	compiler_test.go:27: stack size: 9
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestThrowConstructorName
> --- PASS: TestThrowConstructorName (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(Exception)
> 	compiler_test.go:24:  1: goja.bindName(A)
> 	compiler_test.go:24:  2: goja.resolveVar1(Exception)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4201e2ba0 Exception 1 false 2 60})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja.loadStack(-1)
> 	compiler_test.go:24: > 4: goja.setProp(message)
> 	compiler_test.go:24: > 5: goja._pop({})
> 	compiler_test.go:24: > 6: goja._loadUndef({})
> 	compiler_test.go:24: > 7: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(A)
> 	compiler_test.go:24:  7: *goja.newFunc(&{0xc4201e2c00 A 0 false 64 153})
> 	compiler_test.go:24: values: [boo!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.try({7 0 false})
> 	compiler_test.go:24: > 2: goja.getVar1(Exception)
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._new(1)
> 	compiler_test.go:24: > 5: goja._throw({})
> 	compiler_test.go:24: > 6: goja._halt({})
> 	compiler_test.go:24: > 7: goja.jump(7)
> 	compiler_test.go:24: > 8: goja.storeStack(1)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.loadStack(1)
> 	compiler_test.go:24: > 11: goja._halt({})
> 	compiler_test.go:24: > 12: goja._retStashless({})
> 	compiler_test.go:24: > 13: goja._halt({})
> 	compiler_test.go:24: > 14: goja._loadUndef({})
> 	compiler_test.go:24: > 15: goja._retStashless({})
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja._loadUndef({})
> 	compiler_test.go:24:  11: goja.getVar1Callee(A)
> 	compiler_test.go:24:  12: goja.call(0)
> 	compiler_test.go:24:  13: goja.getProp(constructor)
> 	compiler_test.go:24:  14: goja.getProp(name)
> 	compiler_test.go:24:  15: goja._halt({})
> 	compiler_test.go:60: stack size: 9
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestThrowNativeConstructorName
> --- PASS: TestThrowNativeConstructorName (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.resolveVar1(A)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4201e2f00 A 0 false 4 87})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.try({6 0 false})
> 	compiler_test.go:24: > 2: goja.getVar1(TypeError)
> 	compiler_test.go:24: > 3: goja._new(0)
> 	compiler_test.go:24: > 4: goja._throw({})
> 	compiler_test.go:24: > 5: goja._halt({})
> 	compiler_test.go:24: > 6: goja.jump(7)
> 	compiler_test.go:24: > 7: goja.storeStack(1)
> 	compiler_test.go:24: > 8: goja._pop({})
> 	compiler_test.go:24: > 9: goja.loadStack(1)
> 	compiler_test.go:24: > 10: goja._halt({})
> 	compiler_test.go:24: > 11: goja._retStashless({})
> 	compiler_test.go:24: > 12: goja._halt({})
> 	compiler_test.go:24: > 13: goja._loadUndef({})
> 	compiler_test.go:24: > 14: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(A)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja.getProp(constructor)
> 	compiler_test.go:24:  9: goja.getProp(name)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEmptyTryNoCatch
> --- PASS: TestEmptyTryNoCatch (0.00s)
> 	compiler_test.go:24: values: [false true]
> 	compiler_test.go:24:  0: goja.bindName(called)
> 	compiler_test.go:24:  1: goja.resolveVar1(called)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.try({0 4 true})
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:24:  7: goja.jump(8)
> 	compiler_test.go:24:  8: goja.jump(7)
> 	compiler_test.go:24:  9: goja.resolveVar1(called)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:24:  14: goja._retFinally({})
> 	compiler_test.go:24:  15: goja.getVar1(called)
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestIfElse
> --- PASS: TestIfElse (0.00s)
> 	compiler_test.go:24: values: [passed failed]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.getVar1(rv)
> 	compiler_test.go:24:  2: goja.getVar1(undefined)
> 	compiler_test.go:24:  3: goja._op_strict_eq({})
> 	compiler_test.go:24:  4: goja.jne(5)
> 	compiler_test.go:24:  5: goja.resolveVar1(rv)
> 	compiler_test.go:24:  6: goja.loadVal(0)
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja.jump(4)
> 	compiler_test.go:24:  9: goja.resolveVar1(rv)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._halt({})
> 	compiler_test.go:27: stack size: 2
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestIfElseRetVal
> --- PASS: TestIfElseRetVal (0.00s)
> 	compiler_test.go:24: values: [passed failed]
> 	compiler_test.go:24:  0: goja.bindName(x)
> 	compiler_test.go:24:  1: goja.getVar1(x)
> 	compiler_test.go:24:  2: goja.getVar1(undefined)
> 	compiler_test.go:24:  3: goja._op_strict_eq({})
> 	compiler_test.go:24:  4: goja.jne(3)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja.jump(2)
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestBreakOutOfTry
> --- PASS: TestBreakOutOfTry (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.resolveVar1(A)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4201e39e0 A 0 false 2 146})
> 	compiler_test.go:24: values: [1 2 3 4]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.try({8 13 false})
> 	compiler_test.go:24: > 5: goja.loadVal(1)
> 	compiler_test.go:24: > 6: goja.storeStack(1)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja._halt({})
> 	compiler_test.go:24: > 9: goja.jump(15)
> 	compiler_test.go:24: > 10: <nil>(<nil>)
> 	compiler_test.go:24: > 11: <nil>(<nil>)
> 	compiler_test.go:24: > 12: goja.loadVal(2)
> 	compiler_test.go:24: > 13: goja.storeStack(1)
> 	compiler_test.go:24: > 14: goja._pop({})
> 	compiler_test.go:24: > 15: goja._halt({})
> 	compiler_test.go:24: > 16: goja.jump(8)
> 	compiler_test.go:24: > 17: goja._halt({})
> 	compiler_test.go:24: > 18: goja.jump(6)
> 	compiler_test.go:24: > 19: goja.loadVal(3)
> 	compiler_test.go:24: > 20: goja.storeStack(1)
> 	compiler_test.go:24: > 21: goja._pop({})
> 	compiler_test.go:24: > 22: goja._halt({})
> 	compiler_test.go:24: > 23: goja._retFinally({})
> 	compiler_test.go:24: > 24: goja.loadStack(1)
> 	compiler_test.go:24: > 25: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(A)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestReturnOutOfTryNested
> --- PASS: TestReturnOutOfTryNested (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.resolveVar1(A)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4201e3d40 A 0 false 2 122})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: *goja.newFunc(&{0xc4201e3da0 nested 0 false 19 100})
> 	compiler_test.go:24: values: [1 2]
> 	compiler_test.go:24: >> 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: >> 1: goja.try({8 0 false})
> 	compiler_test.go:24: >> 2: goja.loadVal(0)
> 	compiler_test.go:24: >> 3: goja._halt({})
> 	compiler_test.go:24: >> 4: goja._retStashless({})
> 	compiler_test.go:24: >> 5: goja._halt({})
> 	compiler_test.go:24: >> 6: goja.jump(7)
> 	compiler_test.go:24: >> 7: <nil>(<nil>)
> 	compiler_test.go:24: >> 8: <nil>(<nil>)
> 	compiler_test.go:24: >> 9: goja.loadVal(1)
> 	compiler_test.go:24: >> 10: goja._halt({})
> 	compiler_test.go:24: >> 11: goja._retStashless({})
> 	compiler_test.go:24: >> 12: goja._halt({})
> 	compiler_test.go:24: >> 13: goja._loadUndef({})
> 	compiler_test.go:24: >> 14: goja._retStashless({})
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja._loadUndef({})
> 	compiler_test.go:24: > 5: goja.loadStack(1)
> 	compiler_test.go:24: > 6: goja.call(0)
> 	compiler_test.go:24: > 7: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(A)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestContinueLoop
> --- PASS: TestContinueLoop (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.resolveVar1(A)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f20c0 A 0 false 2 123})
> 	compiler_test.go:24: values: [0 5 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({2 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadVal(0)
> 	compiler_test.go:24: > 5: goja.storeStack(2)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadStack(2)
> 	compiler_test.go:24: > 8: goja.loadVal(1)
> 	compiler_test.go:24: > 9: goja._op_lt({})
> 	compiler_test.go:24: > 10: goja.jne(15)
> 	compiler_test.go:24: > 11: goja.loadStack(2)
> 	compiler_test.go:24: > 12: goja.loadVal(2)
> 	compiler_test.go:24: > 13: goja._op_gt({})
> 	compiler_test.go:24: > 14: goja.jne(2)
> 	compiler_test.go:24: > 15: goja.jump(5)
> 	compiler_test.go:24: > 16: goja.loadStack(1)
> 	compiler_test.go:24: > 17: goja._inc({})
> 	compiler_test.go:24: > 18: goja.storeStack(1)
> 	compiler_test.go:24: > 19: goja._pop({})
> 	compiler_test.go:24: > 20: goja.loadStack(2)
> 	compiler_test.go:24: > 21: goja._inc({})
> 	compiler_test.go:24: > 22: goja.storeStack(2)
> 	compiler_test.go:24: > 23: goja._pop({})
> 	compiler_test.go:24: > 24: goja.jump(-17)
> 	compiler_test.go:24: > 25: goja.loadStack(1)
> 	compiler_test.go:24: > 26: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(A)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestContinueOutOfTry
> --- PASS: TestContinueOutOfTry (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(A)
> 	compiler_test.go:24:  1: goja.resolveVar1(A)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f23c0 A 0 false 2 171})
> 	compiler_test.go:24: values: [0 5 1 99]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({2 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadVal(0)
> 	compiler_test.go:24: > 5: goja.storeStack(2)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadStack(2)
> 	compiler_test.go:24: > 8: goja.loadVal(1)
> 	compiler_test.go:24: > 9: goja._op_lt({})
> 	compiler_test.go:24: > 10: goja.jne(25)
> 	compiler_test.go:24: > 11: goja.try({11 0 false})
> 	compiler_test.go:24: > 12: goja.loadStack(2)
> 	compiler_test.go:24: > 13: goja.loadVal(2)
> 	compiler_test.go:24: > 14: goja._op_gt({})
> 	compiler_test.go:24: > 15: goja.jne(3)
> 	compiler_test.go:24: > 16: goja._halt({})
> 	compiler_test.go:24: > 17: goja.jump(13)
> 	compiler_test.go:24: > 18: goja._halt({})
> 	compiler_test.go:24: > 19: goja.jump(7)
> 	compiler_test.go:24: > 20: <nil>(<nil>)
> 	compiler_test.go:24: > 21: <nil>(<nil>)
> 	compiler_test.go:24: > 22: goja.loadVal(3)
> 	compiler_test.go:24: > 23: goja._halt({})
> 	compiler_test.go:24: > 24: goja._retStashless({})
> 	compiler_test.go:24: > 25: goja._halt({})
> 	compiler_test.go:24: > 26: goja.loadStack(1)
> 	compiler_test.go:24: > 27: goja._inc({})
> 	compiler_test.go:24: > 28: goja.storeStack(1)
> 	compiler_test.go:24: > 29: goja._pop({})
> 	compiler_test.go:24: > 30: goja.loadStack(2)
> 	compiler_test.go:24: > 31: goja._inc({})
> 	compiler_test.go:24: > 32: goja.storeStack(2)
> 	compiler_test.go:24: > 33: goja._pop({})
> 	compiler_test.go:24: > 34: goja.jump(-27)
> 	compiler_test.go:24: > 35: goja.loadStack(1)
> 	compiler_test.go:24: > 36: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(A)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestThisInCatch
> --- PASS: TestThisInCatch (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(O)
> 	compiler_test.go:24:  1: goja.bindName(f)
> 	compiler_test.go:24:  2: goja.bindName(o)
> 	compiler_test.go:24:  3: goja.resolveVar1(O)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4202f2720 O 0 false 2 85})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.try({7 0 false})
> 	compiler_test.go:24: > 3: goja._loadUndef({})
> 	compiler_test.go:24: > 4: goja.getVar1Callee(f)
> 	compiler_test.go:24: > 5: goja.call(0)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja._halt({})
> 	compiler_test.go:24: > 8: goja.jump(11)
> 	compiler_test.go:24: > 9: goja.storeStack(1)
> 	compiler_test.go:24: > 10: goja._pop({})
> 	compiler_test.go:24: > 11: goja.loadStack(0)
> 	compiler_test.go:24: > 12: goja.loadStack(1)
> 	compiler_test.go:24: > 13: goja._dup({})
> 	compiler_test.go:24: > 14: goja.getPropCallee(toString)
> 	compiler_test.go:24: > 15: goja.call(0)
> 	compiler_test.go:24: > 16: goja.setProp(value)
> 	compiler_test.go:24: > 17: goja._pop({})
> 	compiler_test.go:24: > 18: goja._halt({})
> 	compiler_test.go:24: > 19: goja._loadUndef({})
> 	compiler_test.go:24: > 20: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(f)
> 	compiler_test.go:24:  8: *goja.newFunc(&{0xc4202f27e0 f 0 false 88 119})
> 	compiler_test.go:24: values: [ex]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja._throw({})
> 	compiler_test.go:24: > 3: goja._loadUndef({})
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.resolveVar1(o)
> 	compiler_test.go:24:  12: goja.getVar1(O)
> 	compiler_test.go:24:  13: goja._new(0)
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.getVar1(o)
> 	compiler_test.go:24:  17: goja.getProp(value)
> 	compiler_test.go:24:  18: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNestedTry
> --- PASS: TestNestedTry (0.00s)
> 	compiler_test.go:24: values: [ex1 ex2]
> 	compiler_test.go:24:  0: goja.bindName(ex)
> 	compiler_test.go:24:  1: goja.try({6 0 true})
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._throw({})
> 	compiler_test.go:24:  4: goja._halt({})
> 	compiler_test.go:24:  5: goja.jump(16)
> 	compiler_test.go:24:  6: <nil>(<nil>)
> 	compiler_test.go:24:  7: goja.enterCatch(er1)
> 	compiler_test.go:24:  8: goja.try({6 0 true})
> 	compiler_test.go:24:  9: goja.loadVal(1)
> 	compiler_test.go:24:  10: goja._throw({})
> 	compiler_test.go:24:  11: goja._halt({})
> 	compiler_test.go:24:  12: goja.jump(8)
> 	compiler_test.go:24:  13: <nil>(<nil>)
> 	compiler_test.go:24:  14: goja.enterCatch(er1)
> 	compiler_test.go:24:  15: goja.resolveVar1(ex)
> 	compiler_test.go:24:  16: goja.getLocal(0)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja._halt({})
> 	compiler_test.go:24:  20: goja._halt({})
> 	compiler_test.go:24:  21: goja.getVar1(ex)
> 	compiler_test.go:24:  22: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 2
> === RUN   TestNestedTryInStashlessFunc
> --- PASS: TestNestedTryInStashlessFunc (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f2de0 f 0 false 2 199})
> 	compiler_test.go:24: values: [ex1 ex2]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({4 0})
> 	compiler_test.go:24: > 1: goja.try({5 0 false})
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._throw({})
> 	compiler_test.go:24: > 4: goja._halt({})
> 	compiler_test.go:24: > 5: goja.jump(18)
> 	compiler_test.go:24: > 6: goja.storeStack(4)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.try({5 0 false})
> 	compiler_test.go:24: > 9: goja.loadVal(1)
> 	compiler_test.go:24: > 10: goja._throw({})
> 	compiler_test.go:24: > 11: goja._halt({})
> 	compiler_test.go:24: > 12: goja.jump(7)
> 	compiler_test.go:24: > 13: goja.storeStack(3)
> 	compiler_test.go:24: > 14: goja._pop({})
> 	compiler_test.go:24: > 15: goja.loadStack(3)
> 	compiler_test.go:24: > 16: goja.storeStack(2)
> 	compiler_test.go:24: > 17: goja._pop({})
> 	compiler_test.go:24: > 18: goja._halt({})
> 	compiler_test.go:24: > 19: goja.loadStack(4)
> 	compiler_test.go:24: > 20: goja.storeStack(1)
> 	compiler_test.go:24: > 21: goja._pop({})
> 	compiler_test.go:24: > 22: goja._halt({})
> 	compiler_test.go:24: > 23: goja.loadStack(1)
> 	compiler_test.go:24: > 24: goja.loadVal(0)
> 	compiler_test.go:24: > 25: goja._op_eq({})
> 	compiler_test.go:24: > 26: goja.jneq1(5)
> 	compiler_test.go:24: > 27: goja._pop({})
> 	compiler_test.go:24: > 28: goja.loadStack(2)
> 	compiler_test.go:24: > 29: goja.loadVal(1)
> 	compiler_test.go:24: > 30: goja._op_eq({})
> 	compiler_test.go:24: > 31: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 8
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEvalInCatchInStashlessFunc
> --- PASS: TestEvalInCatchInStashlessFunc (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f2180 f 0 false 2 109})
> 	compiler_test.go:24: values: [ex1 ex = er1]
> 	compiler_test.go:24: > 0: goja.enterFunc(0)
> 	compiler_test.go:24: > 1: goja.bindName(ex)
> 	compiler_test.go:24: > 2: goja.try({6 0 true})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._throw({})
> 	compiler_test.go:24: > 5: goja._halt({})
> 	compiler_test.go:24: > 6: goja.jump(9)
> 	compiler_test.go:24: > 7: <nil>(<nil>)
> 	compiler_test.go:24: > 8: goja.enterCatch(er1)
> 	compiler_test.go:24: > 9: goja._loadUndef({})
> 	compiler_test.go:24: > 10: goja.getVar1Callee(eval)
> 	compiler_test.go:24: > 11: goja.loadVal(1)
> 	compiler_test.go:24: > 12: goja.callEval(1)
> 	compiler_test.go:24: > 13: goja._pop({})
> 	compiler_test.go:24: > 14: goja._halt({})
> 	compiler_test.go:24: > 15: goja.getVar1(ex)
> 	compiler_test.go:24: > 16: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 2
> === RUN   TestCatchClosureInStashlessFunc
> --- PASS: TestCatchClosureInStashlessFunc (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f25a0 f 0 false 2 119})
> 	compiler_test.go:24: values: [ex1]
> 	compiler_test.go:24: > 0: goja.enterFunc(0)
> 	compiler_test.go:24: > 1: goja.bindName(ex)
> 	compiler_test.go:24: > 2: goja.try({6 0 true})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._throw({})
> 	compiler_test.go:24: > 5: goja._halt({})
> 	compiler_test.go:24: > 6: goja.jump(7)
> 	compiler_test.go:24: > 7: <nil>(<nil>)
> 	compiler_test.go:24: > 8: goja.enterCatch(er1)
> 	compiler_test.go:24: > 9: *goja.newFunc(&{0xc4202f2660  0 false 79 112})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: >> 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: >> 1: goja.getLocal(0)
> 	compiler_test.go:24: >> 2: goja._retStashless({})
> 	compiler_test.go:24: > 10: goja._halt({})
> 	compiler_test.go:24: > 11: goja._ret({})
> 	compiler_test.go:24: > 12: goja._halt({})
> 	compiler_test.go:24: > 13: goja._loadUndef({})
> 	compiler_test.go:24: > 14: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja._loadUndef({})
> 	compiler_test.go:24:  7: goja.getVar1Callee(f)
> 	compiler_test.go:24:  8: goja.call(0)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 2
> === RUN   TestCatchVarNotUsedInStashlessFunc
> --- PASS: TestCatchVarNotUsedInStashlessFunc (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f2960 f 0 false 2 102})
> 	compiler_test.go:24: values: [ex1 ok]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.try({7 0 false})
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._throw({})
> 	compiler_test.go:24: > 4: goja._halt({})
> 	compiler_test.go:24: > 5: goja.jump(7)
> 	compiler_test.go:24: > 6: <nil>(<nil>)
> 	compiler_test.go:24: > 7: <nil>(<nil>)
> 	compiler_test.go:24: > 8: goja.loadVal(1)
> 	compiler_test.go:24: > 9: goja.storeStack(1)
> 	compiler_test.go:24: > 10: goja._pop({})
> 	compiler_test.go:24: > 11: goja._halt({})
> 	compiler_test.go:24: > 12: goja.loadStack(1)
> 	compiler_test.go:24: > 13: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNew
> --- PASS: TestNew (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(O)
> 	compiler_test.go:24:  1: goja.resolveVar1(O)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f2c60 O 0 false 2 34})
> 	compiler_test.go:24: values: [42]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.loadStack(0)
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja.setProp(x)
> 	compiler_test.go:24: > 5: goja._pop({})
> 	compiler_test.go:24: > 6: goja._loadUndef({})
> 	compiler_test.go:24: > 7: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(O)
> 	compiler_test.go:24:  6: goja._new(0)
> 	compiler_test.go:24:  7: goja.getProp(x)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestStringConstructor
> --- PASS: TestStringConstructor (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4202f31a0 F 0 false 2 63})
> 	compiler_test.go:24: values: [33   cows]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._loadUndef({})
> 	compiler_test.go:24: > 2: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja.call(1)
> 	compiler_test.go:24: > 5: goja.loadVal(1)
> 	compiler_test.go:24: > 6: goja._add({})
> 	compiler_test.go:24: > 7: goja._loadUndef({})
> 	compiler_test.go:24: > 8: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 9: goja.loadVal(2)
> 	compiler_test.go:24: > 10: goja.call(1)
> 	compiler_test.go:24: > 11: goja._add({})
> 	compiler_test.go:24: > 12: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestError
> --- PASS: TestError (0.00s)
> 	compiler_test.go:24: values: [test Error]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.bindName(e)
> 	compiler_test.go:24:  2: goja.bindName(rv)
> 	compiler_test.go:24:  3: goja.resolveVar1(F)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4202f34a0 F 0 false 2 47})
> 	compiler_test.go:24: values: [test]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.getVar1(Error)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._new(1)
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(e)
> 	compiler_test.go:24:  8: goja._loadUndef({})
> 	compiler_test.go:24:  9: goja.getVar1Callee(F)
> 	compiler_test.go:24:  10: goja.call(0)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.resolveVar1(rv)
> 	compiler_test.go:24:  14: goja.getVar1(e)
> 	compiler_test.go:24:  15: goja.getProp(message)
> 	compiler_test.go:24:  16: goja.loadVal(0)
> 	compiler_test.go:24:  17: goja._op_eq({})
> 	compiler_test.go:24:  18: goja.jneq1(6)
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.getVar1(e)
> 	compiler_test.go:24:  21: goja.getProp(name)
> 	compiler_test.go:24:  22: goja.loadVal(1)
> 	compiler_test.go:24:  23: goja._op_eq({})
> 	compiler_test.go:24:  24: goja._putValue({})
> 	compiler_test.go:24:  25: goja._pop({})
> 	compiler_test.go:24:  26: goja._loadUndef({})
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestTypeError
> --- PASS: TestTypeError (0.00s)
> 	compiler_test.go:24: values: [test TypeError]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.bindName(e)
> 	compiler_test.go:24:  2: goja.resolveVar1(F)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4202f37a0 F 0 false 2 51})
> 	compiler_test.go:24: values: [test]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.getVar1(TypeError)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._new(1)
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(e)
> 	compiler_test.go:24:  7: goja._loadUndef({})
> 	compiler_test.go:24:  8: goja.getVar1Callee(F)
> 	compiler_test.go:24:  9: goja.call(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.getVar1(e)
> 	compiler_test.go:24:  13: goja.getProp(message)
> 	compiler_test.go:24:  14: goja.loadVal(0)
> 	compiler_test.go:24:  15: goja._op_eq({})
> 	compiler_test.go:24:  16: goja.jneq1(6)
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.getVar1(e)
> 	compiler_test.go:24:  19: goja.getProp(name)
> 	compiler_test.go:24:  20: goja.loadVal(1)
> 	compiler_test.go:24:  21: goja._op_eq({})
> 	compiler_test.go:24:  22: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestToString
> --- PASS: TestToString (0.00s)
> 	compiler_test.go:24: values: [42  ### ]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(o1)
> 	compiler_test.go:24:  2: goja.resolveVar1(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja.setProp1(x)
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.getVar1(o)
> 	compiler_test.go:24:  9: *goja.newFunc(&{0xc4202f3aa0  0 false 33 73})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja._loadUndef({})
> 	compiler_test.go:24: > 3: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 4: goja.loadStack(0)
> 	compiler_test.go:24: > 5: goja.getProp(x)
> 	compiler_test.go:24: > 6: goja.call(1)
> 	compiler_test.go:24: > 7: goja._retStashless({})
> 	compiler_test.go:24:  10: goja.setProp(toString)
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.resolveVar1(o1)
> 	compiler_test.go:24:  13: goja._newObject({})
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.getVar1(o)
> 	compiler_test.go:24:  17: goja._dup({})
> 	compiler_test.go:24:  18: goja.getPropCallee(toString)
> 	compiler_test.go:24:  19: goja.call(0)
> 	compiler_test.go:24:  20: goja.loadVal(1)
> 	compiler_test.go:24:  21: goja._add({})
> 	compiler_test.go:24:  22: goja.getVar1(o1)
> 	compiler_test.go:24:  23: goja._dup({})
> 	compiler_test.go:24:  24: goja.getPropCallee(toString)
> 	compiler_test.go:24:  25: goja.call(0)
> 	compiler_test.go:24:  26: goja._add({})
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEvalOrder
> --- PASS: TestEvalOrder (0.00s)
> 	compiler_test.go:24: values: [0 ]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(trace)
> 	compiler_test.go:24:  2: goja.bindName(F1)
> 	compiler_test.go:24:  3: goja.bindName(F2)
> 	compiler_test.go:24:  4: goja.bindName(F3)
> 	compiler_test.go:24:  5: goja.bindName(rv)
> 	compiler_test.go:24:  6: goja.resolveVar1(F1)
> 	compiler_test.go:24:  7: *goja.newFunc(&{0xc4202f3e00 F1 0 false 64 121})
> 	compiler_test.go:24: values: [First!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.getVar1(o)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.resolveVar1(F2)
> 	compiler_test.go:24:  11: *goja.newFunc(&{0xc4202f3e60 F2 0 false 124 184})
> 	compiler_test.go:24: values: [Second! f]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadVal(1)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.resolveVar1(F3)
> 	compiler_test.go:24:  15: *goja.newFunc(&{0xc4202f3ec0 F3 0 false 187 229})
> 	compiler_test.go:24: values: [Third!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja._loadUndef({})
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.resolveVar1(o)
> 	compiler_test.go:24:  19: goja._newObject({})
> 	compiler_test.go:24:  20: *goja.newFunc(&{0xc4202f3f20  0 false 14 36})
> 	compiler_test.go:24: values: [42]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  21: goja.setProp1(f)
> 	compiler_test.go:24:  22: goja.loadVal(0)
> 	compiler_test.go:24:  23: goja.setProp1(x)
> 	compiler_test.go:24:  24: goja._putValue({})
> 	compiler_test.go:24:  25: goja._pop({})
> 	compiler_test.go:24:  26: goja.resolveVar1(trace)
> 	compiler_test.go:24:  27: goja.loadVal(1)
> 	compiler_test.go:24:  28: goja._putValue({})
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja.resolveVar1(rv)
> 	compiler_test.go:24:  31: goja._loadUndef({})
> 	compiler_test.go:24:  32: goja.getVar1Callee(F1)
> 	compiler_test.go:24:  33: goja.call(0)
> 	compiler_test.go:24:  34: goja._dup({})
> 	compiler_test.go:24:  35: goja._loadUndef({})
> 	compiler_test.go:24:  36: goja.getVar1Callee(F2)
> 	compiler_test.go:24:  37: goja.call(0)
> 	compiler_test.go:24:  38: goja._getElemCallee({})
> 	compiler_test.go:24:  39: goja._loadUndef({})
> 	compiler_test.go:24:  40: goja.getVar1Callee(F3)
> 	compiler_test.go:24:  41: goja.call(0)
> 	compiler_test.go:24:  42: goja.call(1)
> 	compiler_test.go:24:  43: goja._putValue({})
> 	compiler_test.go:24:  44: goja._pop({})
> 	compiler_test.go:24:  45: goja.resolveVar1(rv)
> 	compiler_test.go:24:  46: goja._loadUndef({})
> 	compiler_test.go:24:  47: goja._getValue({})
> 	compiler_test.go:24:  48: goja.getVar1(trace)
> 	compiler_test.go:24:  49: goja._add({})
> 	compiler_test.go:24:  50: goja.rdupN(1)
> 	compiler_test.go:24:  51: goja._putValue({})
> 	compiler_test.go:24:  52: goja._pop({})
> 	compiler_test.go:24:  53: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestPostfixIncBracket
> --- PASS: TestPostfixIncBracket (0.00s)
> 	compiler_test.go:24: values: [42 ]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(trace)
> 	compiler_test.go:24:  2: goja.bindName(F1)
> 	compiler_test.go:24:  3: goja.bindName(F2)
> 	compiler_test.go:24:  4: goja.bindName(rv)
> 	compiler_test.go:24:  5: goja.resolveVar1(F1)
> 	compiler_test.go:24:  6: *goja.newFunc(&{0xc420080300 F1 0 false 38 95})
> 	compiler_test.go:24: values: [First!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.getVar1(o)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.resolveVar1(F2)
> 	compiler_test.go:24:  10: *goja.newFunc(&{0xc420080360 F2 0 false 98 158})
> 	compiler_test.go:24: values: [Second! x]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadVal(1)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.resolveVar1(o)
> 	compiler_test.go:24:  14: goja._newObject({})
> 	compiler_test.go:24:  15: goja.loadVal(0)
> 	compiler_test.go:24:  16: goja.setProp1(x)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.resolveVar1(trace)
> 	compiler_test.go:24:  20: goja.loadVal(1)
> 	compiler_test.go:24:  21: goja._putValue({})
> 	compiler_test.go:24:  22: goja._pop({})
> 	compiler_test.go:24:  23: goja.resolveVar1(rv)
> 	compiler_test.go:24:  24: goja._loadUndef({})
> 	compiler_test.go:24:  25: goja._loadUndef({})
> 	compiler_test.go:24:  26: goja.getVar1Callee(F1)
> 	compiler_test.go:24:  27: goja.call(0)
> 	compiler_test.go:24:  28: goja._loadUndef({})
> 	compiler_test.go:24:  29: goja.getVar1Callee(F2)
> 	compiler_test.go:24:  30: goja.call(0)
> 	compiler_test.go:24:  31: goja.dupN(1)
> 	compiler_test.go:24:  32: goja.dupN(1)
> 	compiler_test.go:24:  33: goja._getElem({})
> 	compiler_test.go:24:  34: goja._toNumber({})
> 	compiler_test.go:24:  35: goja.rdupN(3)
> 	compiler_test.go:24:  36: goja._inc({})
> 	compiler_test.go:24:  37: goja._setElem({})
> 	compiler_test.go:24:  38: goja._pop({})
> 	compiler_test.go:24:  39: goja._putValue({})
> 	compiler_test.go:24:  40: goja._pop({})
> 	compiler_test.go:24:  41: goja.resolveVar1(rv)
> 	compiler_test.go:24:  42: goja._loadUndef({})
> 	compiler_test.go:24:  43: goja._getValue({})
> 	compiler_test.go:24:  44: goja.getVar1(trace)
> 	compiler_test.go:24:  45: goja.getVar1(o)
> 	compiler_test.go:24:  46: goja.getProp(x)
> 	compiler_test.go:24:  47: goja._add({})
> 	compiler_test.go:24:  48: goja._add({})
> 	compiler_test.go:24:  49: goja.rdupN(1)
> 	compiler_test.go:24:  50: goja._putValue({})
> 	compiler_test.go:24:  51: goja._pop({})
> 	compiler_test.go:24:  52: goja._halt({})
> 	compiler_test.go:27: stack size: 6
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestPostfixIncDot
> --- PASS: TestPostfixIncDot (0.00s)
> 	compiler_test.go:24: values: [42 ]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(trace)
> 	compiler_test.go:24:  2: goja.bindName(F1)
> 	compiler_test.go:24:  3: goja.bindName(rv)
> 	compiler_test.go:24:  4: goja.resolveVar1(F1)
> 	compiler_test.go:24:  5: *goja.newFunc(&{0xc4200806c0 F1 0 false 38 95})
> 	compiler_test.go:24: values: [First!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.getVar1(o)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(o)
> 	compiler_test.go:24:  9: goja._newObject({})
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.setProp1(x)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.resolveVar1(trace)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.resolveVar1(rv)
> 	compiler_test.go:24:  19: goja._loadUndef({})
> 	compiler_test.go:24:  20: goja._loadUndef({})
> 	compiler_test.go:24:  21: goja.getVar1Callee(F1)
> 	compiler_test.go:24:  22: goja.call(0)
> 	compiler_test.go:24:  23: goja._dup({})
> 	compiler_test.go:24:  24: goja.getProp(x)
> 	compiler_test.go:24:  25: goja._toNumber({})
> 	compiler_test.go:24:  26: goja.rdupN(2)
> 	compiler_test.go:24:  27: goja._inc({})
> 	compiler_test.go:24:  28: goja.setProp(x)
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja._putValue({})
> 	compiler_test.go:24:  31: goja._pop({})
> 	compiler_test.go:24:  32: goja.resolveVar1(rv)
> 	compiler_test.go:24:  33: goja._loadUndef({})
> 	compiler_test.go:24:  34: goja._getValue({})
> 	compiler_test.go:24:  35: goja.getVar1(trace)
> 	compiler_test.go:24:  36: goja.getVar1(o)
> 	compiler_test.go:24:  37: goja.getProp(x)
> 	compiler_test.go:24:  38: goja._add({})
> 	compiler_test.go:24:  39: goja._add({})
> 	compiler_test.go:24:  40: goja.rdupN(1)
> 	compiler_test.go:24:  41: goja._putValue({})
> 	compiler_test.go:24:  42: goja._pop({})
> 	compiler_test.go:24:  43: goja._halt({})
> 	compiler_test.go:27: stack size: 5
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestPrefixIncBracket
> --- PASS: TestPrefixIncBracket (0.00s)
> 	compiler_test.go:24: values: [42 ]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(trace)
> 	compiler_test.go:24:  2: goja.bindName(F1)
> 	compiler_test.go:24:  3: goja.bindName(F2)
> 	compiler_test.go:24:  4: goja.bindName(rv)
> 	compiler_test.go:24:  5: goja.resolveVar1(F1)
> 	compiler_test.go:24:  6: *goja.newFunc(&{0xc420080ae0 F1 0 false 38 95})
> 	compiler_test.go:24: values: [First!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.getVar1(o)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.resolveVar1(F2)
> 	compiler_test.go:24:  10: *goja.newFunc(&{0xc420080b40 F2 0 false 98 158})
> 	compiler_test.go:24: values: [Second! x]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadVal(1)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.resolveVar1(o)
> 	compiler_test.go:24:  14: goja._newObject({})
> 	compiler_test.go:24:  15: goja.loadVal(0)
> 	compiler_test.go:24:  16: goja.setProp1(x)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.resolveVar1(trace)
> 	compiler_test.go:24:  20: goja.loadVal(1)
> 	compiler_test.go:24:  21: goja._putValue({})
> 	compiler_test.go:24:  22: goja._pop({})
> 	compiler_test.go:24:  23: goja.resolveVar1(rv)
> 	compiler_test.go:24:  24: goja._loadUndef({})
> 	compiler_test.go:24:  25: goja.getVar1Callee(F1)
> 	compiler_test.go:24:  26: goja.call(0)
> 	compiler_test.go:24:  27: goja._loadUndef({})
> 	compiler_test.go:24:  28: goja.getVar1Callee(F2)
> 	compiler_test.go:24:  29: goja.call(0)
> 	compiler_test.go:24:  30: goja.dupN(1)
> 	compiler_test.go:24:  31: goja.dupN(1)
> 	compiler_test.go:24:  32: goja._getElem({})
> 	compiler_test.go:24:  33: goja._toNumber({})
> 	compiler_test.go:24:  34: goja._inc({})
> 	compiler_test.go:24:  35: goja._setElem({})
> 	compiler_test.go:24:  36: goja._putValue({})
> 	compiler_test.go:24:  37: goja._pop({})
> 	compiler_test.go:24:  38: goja.resolveVar1(rv)
> 	compiler_test.go:24:  39: goja._loadUndef({})
> 	compiler_test.go:24:  40: goja._getValue({})
> 	compiler_test.go:24:  41: goja.getVar1(trace)
> 	compiler_test.go:24:  42: goja.getVar1(o)
> 	compiler_test.go:24:  43: goja.getProp(x)
> 	compiler_test.go:24:  44: goja._add({})
> 	compiler_test.go:24:  45: goja._add({})
> 	compiler_test.go:24:  46: goja.rdupN(1)
> 	compiler_test.go:24:  47: goja._putValue({})
> 	compiler_test.go:24:  48: goja._pop({})
> 	compiler_test.go:24:  49: goja._halt({})
> 	compiler_test.go:27: stack size: 5
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestPrefixIncDot
> --- PASS: TestPrefixIncDot (0.00s)
> 	compiler_test.go:24: values: [42 ]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(trace)
> 	compiler_test.go:24:  2: goja.bindName(F1)
> 	compiler_test.go:24:  3: goja.bindName(rv)
> 	compiler_test.go:24:  4: goja.resolveVar1(F1)
> 	compiler_test.go:24:  5: *goja.newFunc(&{0xc420080e40 F1 0 false 38 95})
> 	compiler_test.go:24: values: [First!]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.getVar1(o)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(o)
> 	compiler_test.go:24:  9: goja._newObject({})
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.setProp1(x)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.resolveVar1(trace)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.resolveVar1(rv)
> 	compiler_test.go:24:  19: goja._loadUndef({})
> 	compiler_test.go:24:  20: goja.getVar1Callee(F1)
> 	compiler_test.go:24:  21: goja.call(0)
> 	compiler_test.go:24:  22: goja._dup({})
> 	compiler_test.go:24:  23: goja.getProp(x)
> 	compiler_test.go:24:  24: goja._toNumber({})
> 	compiler_test.go:24:  25: goja._inc({})
> 	compiler_test.go:24:  26: goja.setProp(x)
> 	compiler_test.go:24:  27: goja._putValue({})
> 	compiler_test.go:24:  28: goja._pop({})
> 	compiler_test.go:24:  29: goja.resolveVar1(rv)
> 	compiler_test.go:24:  30: goja._loadUndef({})
> 	compiler_test.go:24:  31: goja._getValue({})
> 	compiler_test.go:24:  32: goja.getVar1(trace)
> 	compiler_test.go:24:  33: goja.getVar1(o)
> 	compiler_test.go:24:  34: goja.getProp(x)
> 	compiler_test.go:24:  35: goja._add({})
> 	compiler_test.go:24:  36: goja._add({})
> 	compiler_test.go:24:  37: goja.rdupN(1)
> 	compiler_test.go:24:  38: goja._putValue({})
> 	compiler_test.go:24:  39: goja._pop({})
> 	compiler_test.go:24:  40: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 0
> === RUN   TestPostDecObj
> --- PASS: TestPostDecObj (0.00s)
> 	compiler_test.go:24: values: [false 1 true]
> 	compiler_test.go:24:  0: goja.bindName(object)
> 	compiler_test.go:24:  1: goja.bindName(y)
> 	compiler_test.go:24:  2: goja.bindName(ok)
> 	compiler_test.go:24:  3: goja.resolveVar1(object)
> 	compiler_test.go:24:  4: goja._newObject({})
> 	compiler_test.go:24:  5: *goja.newFunc(&{0xc420081140  0 false 25 46})
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  6: goja.setProp1(valueOf)
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.resolveVar1(y)
> 	compiler_test.go:24:  10: goja.resolveVar1(object)
> 	compiler_test.go:24:  11: goja._loadUndef({})
> 	compiler_test.go:24:  12: goja._getValue({})
> 	compiler_test.go:24:  13: goja._toNumber({})
> 	compiler_test.go:24:  14: goja.rdupN(1)
> 	compiler_test.go:24:  15: goja._dec({})
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.resolveVar1(ok)
> 	compiler_test.go:24:  21: goja.loadVal(0)
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.getVar1(y)
> 	compiler_test.go:24:  25: goja.loadVal(1)
> 	compiler_test.go:24:  26: goja._op_strict_eq({})
> 	compiler_test.go:24:  27: goja.jne(5)
> 	compiler_test.go:24:  28: goja.resolveVar1(ok)
> 	compiler_test.go:24:  29: goja.loadVal(2)
> 	compiler_test.go:24:  30: goja._putValue({})
> 	compiler_test.go:24:  31: goja._pop({})
> 	compiler_test.go:24:  32: goja.getVar1(ok)
> 	compiler_test.go:24:  33: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestPropAcc1
> --- PASS: TestPropAcc1 (0.00s)
> 	compiler_test.go:24: values: [1 1]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(toString)
> 	compiler_test.go:24:  3: goja.call(0)
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja._op_strict_eq({})
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEvalDirect
> --- PASS: TestEvalDirect (0.00s)
> 	compiler_test.go:24: values: [false]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.bindName(foo)
> 	compiler_test.go:24:  2: goja.bindName(o)
> 	compiler_test.go:24:  3: goja.bindName(f)
> 	compiler_test.go:24:  4: goja.resolveVar1(foo)
> 	compiler_test.go:24:  5: *goja.newFunc(&{0xc420081620 foo 0 false 23 51})
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(rv)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(f)
> 	compiler_test.go:24:  9: *goja.newFunc(&{0xc420081680 f 0 false 76 162})
> 	compiler_test.go:24: values: [o.bar( foo() );]
> 	compiler_test.go:24: > 0: goja.enterFunc(0)
> 	compiler_test.go:24: > 1: goja._boxThis({})
> 	compiler_test.go:24: > 2: goja.try({9 0 true})
> 	compiler_test.go:24: > 3: goja._loadUndef({})
> 	compiler_test.go:24: > 4: goja.getVar1Callee(eval)
> 	compiler_test.go:24: > 5: goja.loadVal(0)
> 	compiler_test.go:24: > 6: goja.callEval(1)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja._halt({})
> 	compiler_test.go:24: > 9: goja.jump(4)
> 	compiler_test.go:24: > 10: <nil>(<nil>)
> 	compiler_test.go:24: > 11: goja.enterCatch(e)
> 	compiler_test.go:24: > 12: goja._halt({})
> 	compiler_test.go:24: > 13: goja._loadUndef({})
> 	compiler_test.go:24: > 14: goja._ret({})
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.resolveVar1(rv)
> 	compiler_test.go:24:  13: goja.loadVal(0)
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.resolveVar1(o)
> 	compiler_test.go:24:  17: goja._newObject({})
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja._loadUndef({})
> 	compiler_test.go:24:  21: goja.getVar1Callee(f)
> 	compiler_test.go:24:  22: goja.call(0)
> 	compiler_test.go:24:  23: goja._halt({})
> 	compiler_test.go:27: stack size: 11
> 	compiler_test.go:28: stashAllocs: 2
> === RUN   TestEvalRet
> --- PASS: TestEvalRet (0.00s)
> 	compiler_test.go:24: values: [for (var i = 0; i < 3; i++) {i}]
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja.getVar1Callee(eval)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja.callEval(1)
> 	compiler_test.go:24:  4: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEvalFunctionDecl
> --- PASS: TestEvalFunctionDecl (0.00s)
> 	compiler_test.go:24: values: [function F() {}]
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja.getVar1Callee(eval)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja.callEval(1)
> 	compiler_test.go:24:  4: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEvalFunctionExpr
> --- PASS: TestEvalFunctionExpr (0.00s)
> 	compiler_test.go:24: values: [(function F() {return 42;})]
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja._loadUndef({})
> 	compiler_test.go:24:  2: goja.getVar1Callee(eval)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.callEval(1)
> 	compiler_test.go:24:  5: goja.call(0)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestLoopRet
> --- PASS: TestLoopRet (0.00s)
> 	compiler_test.go:24: values: [0 20 1]
> 	compiler_test.go:24:  0: goja.bindName(i)
> 	compiler_test.go:24:  1: goja.resolveVar1(i)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1(i)
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja._op_lt({})
> 	compiler_test.go:24:  9: goja.jne(18)
> 	compiler_test.go:24:  10: goja.getVar1(i)
> 	compiler_test.go:24:  11: goja.loadVal(2)
> 	compiler_test.go:24:  12: goja._op_gt({})
> 	compiler_test.go:24:  13: goja.jne(5)
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja._loadUndef({})
> 	compiler_test.go:24:  16: goja.jump(11)
> 	compiler_test.go:24:  17: goja.jump(2)
> 	compiler_test.go:24:  18: goja.getVar1(i)
> 	compiler_test.go:24:  19: goja.rdupN(1)
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.resolveVar1(i)
> 	compiler_test.go:24:  22: goja._getValue({})
> 	compiler_test.go:24:  23: goja._inc({})
> 	compiler_test.go:24:  24: goja._putValue({})
> 	compiler_test.go:24:  25: goja._pop({})
> 	compiler_test.go:24:  26: goja.jump(-20)
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestLoopRet1
> --- PASS: TestLoopRet1 (0.00s)
> 	compiler_test.go:24: values: [0 20]
> 	compiler_test.go:24:  0: goja.bindName(i)
> 	compiler_test.go:24:  1: goja.resolveVar1(i)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1(i)
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja._op_lt({})
> 	compiler_test.go:24:  9: goja.jne(10)
> 	compiler_test.go:24:  10: goja._loadUndef({})
> 	compiler_test.go:24:  11: goja.rdupN(1)
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.resolveVar1(i)
> 	compiler_test.go:24:  14: goja._getValue({})
> 	compiler_test.go:24:  15: goja._inc({})
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.jump(-12)
> 	compiler_test.go:24:  19: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestInstanceof
> --- PASS: TestInstanceof (0.00s)
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.try({8 0 true})
> 	compiler_test.go:24:  2: goja._loadUndef({})
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(0)
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:24:  7: goja.jump(10)
> 	compiler_test.go:24:  8: <nil>(<nil>)
> 	compiler_test.go:24:  9: goja.enterCatch(e)
> 	compiler_test.go:24:  10: goja.resolveVar1(rv)
> 	compiler_test.go:24:  11: goja.getLocal(0)
> 	compiler_test.go:24:  12: goja.getVar1(TypeError)
> 	compiler_test.go:24:  13: goja._op_instanceof({})
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:24:  17: goja._loadUndef({})
> 	compiler_test.go:24:  18: goja._halt({})
> 	compiler_test.go:27: stack size: 2
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestStrictAssign
> --- PASS: TestStrictAssign (0.00s)
> 	compiler_test.go:24: values: [false  ]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.bindName(called)
> 	compiler_test.go:24:  2: goja.bindName(F)
> 	compiler_test.go:24:  3: goja.resolveVar1Strict(F)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4200f2c60 F 0 true 47 93})
> 	compiler_test.go:24: values: [true 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1Strict(called)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja.loadVal(1)
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1Strict(called)
> 	compiler_test.go:24:  8: goja.loadVal(0)
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.try({10 0 true})
> 	compiler_test.go:24:  12: goja.resolveVar1Strict(x)
> 	compiler_test.go:24:  13: goja._loadUndef({})
> 	compiler_test.go:24:  14: goja.getVar1Callee(F)
> 	compiler_test.go:24:  15: goja.call(0)
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja._halt({})
> 	compiler_test.go:24:  19: goja.jump(10)
> 	compiler_test.go:24:  20: <nil>(<nil>)
> 	compiler_test.go:24:  21: goja.enterCatch(e)
> 	compiler_test.go:24:  22: goja.resolveVar1Strict(rv)
> 	compiler_test.go:24:  23: goja.getLocal(0)
> 	compiler_test.go:24:  24: goja.getVar1(ReferenceError)
> 	compiler_test.go:24:  25: goja._op_instanceof({})
> 	compiler_test.go:24:  26: goja._putValue({})
> 	compiler_test.go:24:  27: goja._pop({})
> 	compiler_test.go:24:  28: goja._halt({})
> 	compiler_test.go:24:  29: goja.resolveVar1Strict(rv)
> 	compiler_test.go:24:  30: goja._loadUndef({})
> 	compiler_test.go:24:  31: goja._getValue({})
> 	compiler_test.go:24:  32: goja.loadVal(1)
> 	compiler_test.go:24:  33: goja.getVar1(called)
> 	compiler_test.go:24:  34: goja._add({})
> 	compiler_test.go:24:  35: goja._add({})
> 	compiler_test.go:24:  36: goja.rdupN(1)
> 	compiler_test.go:24:  37: goja._putValue({})
> 	compiler_test.go:24:  38: goja._pop({})
> 	compiler_test.go:24:  39: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestStrictScope
> --- PASS: TestStrictScope (0.00s)
> 	compiler_test.go:24: values: [false 1  ]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.bindName(called)
> 	compiler_test.go:24:  2: goja.bindName(F)
> 	compiler_test.go:24:  3: goja.resolveVar1(F)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4200f2fc0 F 0 true 32 74})
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1Strict(x)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(called)
> 	compiler_test.go:24:  8: goja.loadVal(0)
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.try({8 0 true})
> 	compiler_test.go:24:  12: goja._loadUndef({})
> 	compiler_test.go:24:  13: goja.getVar1Callee(F)
> 	compiler_test.go:24:  14: goja.call(0)
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:24:  17: goja.jump(10)
> 	compiler_test.go:24:  18: <nil>(<nil>)
> 	compiler_test.go:24:  19: goja.enterCatch(e)
> 	compiler_test.go:24:  20: goja.resolveVar1(rv)
> 	compiler_test.go:24:  21: goja.getLocal(0)
> 	compiler_test.go:24:  22: goja.getVar1(ReferenceError)
> 	compiler_test.go:24:  23: goja._op_instanceof({})
> 	compiler_test.go:24:  24: goja._putValue({})
> 	compiler_test.go:24:  25: goja._pop({})
> 	compiler_test.go:24:  26: goja._halt({})
> 	compiler_test.go:24:  27: goja.resolveVar1(x)
> 	compiler_test.go:24:  28: goja.loadVal(1)
> 	compiler_test.go:24:  29: goja._putValue({})
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.resolveVar1(rv)
> 	compiler_test.go:24:  32: goja._loadUndef({})
> 	compiler_test.go:24:  33: goja._getValue({})
> 	compiler_test.go:24:  34: goja.loadVal(2)
> 	compiler_test.go:24:  35: goja.getVar1(x)
> 	compiler_test.go:24:  36: goja._add({})
> 	compiler_test.go:24:  37: goja._add({})
> 	compiler_test.go:24:  38: goja.rdupN(1)
> 	compiler_test.go:24:  39: goja._putValue({})
> 	compiler_test.go:24:  40: goja._pop({})
> 	compiler_test.go:24:  41: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestStringObj
> --- PASS: TestStringObj (0.00s)
> 	compiler_test.go:24: values: [test 0 2 1]
> 	compiler_test.go:24:  0: goja.bindName(s)
> 	compiler_test.go:24:  1: goja.resolveVar1(s)
> 	compiler_test.go:24:  2: goja.getVar1(String)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._new(1)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.getVar1(s)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._getElem({})
> 	compiler_test.go:24:  10: goja.getVar1(s)
> 	compiler_test.go:24:  11: goja.loadVal(2)
> 	compiler_test.go:24:  12: goja._getElem({})
> 	compiler_test.go:24:  13: goja._add({})
> 	compiler_test.go:24:  14: goja.getVar1(s)
> 	compiler_test.go:24:  15: goja.loadVal(3)
> 	compiler_test.go:24:  16: goja._getElem({})
> 	compiler_test.go:24:  17: goja._add({})
> 	compiler_test.go:24:  18: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestStringPrimitive
> --- PASS: TestStringPrimitive (0.00s)
> 	compiler_test.go:24: values: [test 0 2 1]
> 	compiler_test.go:24:  0: goja.bindName(s)
> 	compiler_test.go:24:  1: goja.resolveVar1(s)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(s)
> 	compiler_test.go:24:  6: goja.loadVal(1)
> 	compiler_test.go:24:  7: goja._getElem({})
> 	compiler_test.go:24:  8: goja.getVar1(s)
> 	compiler_test.go:24:  9: goja.loadVal(2)
> 	compiler_test.go:24:  10: goja._getElem({})
> 	compiler_test.go:24:  11: goja._add({})
> 	compiler_test.go:24:  12: goja.getVar1(s)
> 	compiler_test.go:24:  13: goja.loadVal(3)
> 	compiler_test.go:24:  14: goja._getElem({})
> 	compiler_test.go:24:  15: goja._add({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestCallGlobalObject
> --- PASS: TestCallGlobalObject (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.try({8 0 true})
> 	compiler_test.go:24:  2: goja._loadUndef({})
> 	compiler_test.go:24:  3: goja._loadGlobalObject({})
> 	compiler_test.go:24:  4: goja.call(0)
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:24:  7: goja.jump(10)
> 	compiler_test.go:24:  8: <nil>(<nil>)
> 	compiler_test.go:24:  9: goja.enterCatch(e)
> 	compiler_test.go:24:  10: goja.resolveVar1(rv)
> 	compiler_test.go:24:  11: goja.getLocal(0)
> 	compiler_test.go:24:  12: goja.getVar1(TypeError)
> 	compiler_test.go:24:  13: goja._op_instanceof({})
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:24:  17: goja._loadUndef({})
> 	compiler_test.go:24:  18: goja._halt({})
> 	compiler_test.go:27: stack size: 2
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestFuncLength
> --- PASS: TestFuncLength (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4200f3c80 F 2 false 2 24})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja._loadUndef({})
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(F)
> 	compiler_test.go:24:  6: goja.getProp(length)
> 	compiler_test.go:24:  7: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNativeFuncLength
> --- PASS: TestNativeFuncLength (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.getVar1(eval)
> 	compiler_test.go:24:  1: goja.getProp(length)
> 	compiler_test.go:24:  2: goja.getVar1(Object)
> 	compiler_test.go:24:  3: goja.getProp(defineProperty)
> 	compiler_test.go:24:  4: goja.getProp(length)
> 	compiler_test.go:24:  5: goja._add({})
> 	compiler_test.go:24:  6: goja.getVar1(String)
> 	compiler_test.go:24:  7: goja.getProp(length)
> 	compiler_test.go:24:  8: goja._add({})
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArguments
> --- PASS: TestArguments (0.00s)
> 	compiler_test.go:24: values: [1 2 3]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420232180 F 0 false 2 67})
> 	compiler_test.go:24: values: [  1]
> 	compiler_test.go:24: > 0: goja.enterFunc(0)
> 	compiler_test.go:24: > 1: goja.bindName(arguments)
> 	compiler_test.go:24: > 2: goja.createArgs(0)
> 	compiler_test.go:24: > 3: goja.setLocalP(0)
> 	compiler_test.go:24: > 4: goja.getLocal(0)
> 	compiler_test.go:24: > 5: goja.getProp(length)
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._add({})
> 	compiler_test.go:24: > 8: goja.getLocal(0)
> 	compiler_test.go:24: > 9: goja.loadVal(1)
> 	compiler_test.go:24: > 10: goja._getElem({})
> 	compiler_test.go:24: > 11: goja._add({})
> 	compiler_test.go:24: > 12: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.loadVal(2)
> 	compiler_test.go:24:  10: goja.call(3)
> 	compiler_test.go:24:  11: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestArgumentsPut
> --- PASS: TestArgumentsPut (0.00s)
> 	compiler_test.go:24: values: [5 2]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420232480 F 2 false 2 67})
> 	compiler_test.go:24: values: [0 1]
> 	compiler_test.go:24: > 0: goja.enterFunc(2)
> 	compiler_test.go:24: > 1: goja.bindName(x)
> 	compiler_test.go:24: > 2: goja.bindName(y)
> 	compiler_test.go:24: > 3: goja.bindName(arguments)
> 	compiler_test.go:24: > 4: goja.createArgs(2)
> 	compiler_test.go:24: > 5: goja.setLocalP(2)
> 	compiler_test.go:24: > 6: goja.getLocal(2)
> 	compiler_test.go:24: > 7: goja.loadVal(0)
> 	compiler_test.go:24: > 8: goja.dupN(1)
> 	compiler_test.go:24: > 9: goja.dupN(1)
> 	compiler_test.go:24: > 10: goja._getElem({})
> 	compiler_test.go:24: > 11: goja.getLocal(2)
> 	compiler_test.go:24: > 12: goja.loadVal(1)
> 	compiler_test.go:24: > 13: goja._getElem({})
> 	compiler_test.go:24: > 14: goja._sub({})
> 	compiler_test.go:24: > 15: goja._setElem({})
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja.getLocal(0)
> 	compiler_test.go:24: > 18: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.call(2)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestArgumentsPutStrict
> --- PASS: TestArgumentsPutStrict (0.00s)
> 	compiler_test.go:24: values: [5 2]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420232840 F 2 true 2 83})
> 	compiler_test.go:24: values: [0 1]
> 	compiler_test.go:24: > 0: goja.enterFunc(2)
> 	compiler_test.go:24: > 1: goja.bindName(x)
> 	compiler_test.go:24: > 2: goja.bindName(y)
> 	compiler_test.go:24: > 3: goja.bindName(arguments)
> 	compiler_test.go:24: > 4: goja.createArgsStrict(2)
> 	compiler_test.go:24: > 5: goja.setLocalP(2)
> 	compiler_test.go:24: > 6: goja.getLocal(2)
> 	compiler_test.go:24: > 7: goja.loadVal(0)
> 	compiler_test.go:24: > 8: goja.dupN(1)
> 	compiler_test.go:24: > 9: goja.dupN(1)
> 	compiler_test.go:24: > 10: goja._getElem({})
> 	compiler_test.go:24: > 11: goja.getLocal(2)
> 	compiler_test.go:24: > 12: goja.loadVal(1)
> 	compiler_test.go:24: > 13: goja._getElem({})
> 	compiler_test.go:24: > 14: goja._sub({})
> 	compiler_test.go:24: > 15: goja._setElemStrict({})
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja.getLocal(0)
> 	compiler_test.go:24: > 18: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.call(2)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestArgumentsExtra
> --- PASS: TestArgumentsExtra (0.00s)
> 	compiler_test.go:24: values: [1 2 42]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420232240 F 2 false 2 46})
> 	compiler_test.go:24: values: [2]
> 	compiler_test.go:24: > 0: goja.enterFunc(2)
> 	compiler_test.go:24: > 1: goja.bindName(x)
> 	compiler_test.go:24: > 2: goja.bindName(y)
> 	compiler_test.go:24: > 3: goja.bindName(arguments)
> 	compiler_test.go:24: > 4: goja.createArgs(2)
> 	compiler_test.go:24: > 5: goja.setLocalP(2)
> 	compiler_test.go:24: > 6: goja.getLocal(2)
> 	compiler_test.go:24: > 7: goja.loadVal(0)
> 	compiler_test.go:24: > 8: goja._getElem({})
> 	compiler_test.go:24: > 9: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.loadVal(2)
> 	compiler_test.go:24:  10: goja.call(3)
> 	compiler_test.go:24:  11: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestArgumentsExist
> --- PASS: TestArgumentsExist (0.00s)
> 	compiler_test.go:24: values: [1 42]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420232540 F 2 false 2 51})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-2)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.call(2)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArgumentsDelete
> --- PASS: TestArgumentsDelete (0.00s)
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420232b40 f 1 false 2 76})
> 	compiler_test.go:24: values: [0 42]
> 	compiler_test.go:24: > 0: goja.enterFunc(1)
> 	compiler_test.go:24: > 1: goja.bindName(x)
> 	compiler_test.go:24: > 2: goja.bindName(arguments)
> 	compiler_test.go:24: > 3: goja.createArgs(1)
> 	compiler_test.go:24: > 4: goja.setLocalP(1)
> 	compiler_test.go:24: > 5: goja.getLocal(1)
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._deleteElem({})
> 	compiler_test.go:24: > 8: goja._pop({})
> 	compiler_test.go:24: > 9: goja.getLocal(1)
> 	compiler_test.go:24: > 10: goja.loadVal(0)
> 	compiler_test.go:24: > 11: goja.loadVal(1)
> 	compiler_test.go:24: > 12: goja._setElem({})
> 	compiler_test.go:24: > 13: goja._pop({})
> 	compiler_test.go:24: > 14: goja.getLocal(0)
> 	compiler_test.go:24: > 15: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.call(1)
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestWith
> --- PASS: TestWith (0.00s)
> 	compiler_test.go:24: values: [1 41]
> 	compiler_test.go:24:  0: goja.bindName(b)
> 	compiler_test.go:24:  1: goja.bindName(o)
> 	compiler_test.go:24:  2: goja.resolveVar1(b)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(o)
> 	compiler_test.go:24:  7: goja._newObject({})
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.setProp1(a)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.getVar1(o)
> 	compiler_test.go:24:  13: goja._enterWith({})
> 	compiler_test.go:24:  14: goja.resolveVar1(a)
> 	compiler_test.go:24:  15: goja._getValue({})
> 	compiler_test.go:24:  16: goja.getVar1(b)
> 	compiler_test.go:24:  17: goja._add({})
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja._leaveWith({})
> 	compiler_test.go:24:  21: goja.getVar1(o)
> 	compiler_test.go:24:  22: goja.getProp(a)
> 	compiler_test.go:24:  23: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestWithInFunc
> --- PASS: TestWithInFunc (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420233140 F 0 false 2 115})
> 	compiler_test.go:24: values: [1 0 40]
> 	compiler_test.go:24: > 0: goja.enterFunc(0)
> 	compiler_test.go:24: > 1: goja.bindName(b)
> 	compiler_test.go:24: > 2: goja.bindName(c)
> 	compiler_test.go:24: > 3: goja.bindName(o)
> 	compiler_test.go:24: > 4: goja.loadVal(0)
> 	compiler_test.go:24: > 5: goja.setLocal(0)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.loadVal(1)
> 	compiler_test.go:24: > 8: goja.setLocal(1)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja._newObject({})
> 	compiler_test.go:24: > 11: goja.loadVal(2)
> 	compiler_test.go:24: > 12: goja.setProp1(a)
> 	compiler_test.go:24: > 13: goja.loadVal(0)
> 	compiler_test.go:24: > 14: goja.setProp1(c)
> 	compiler_test.go:24: > 15: goja.setLocal(2)
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja.getLocal(2)
> 	compiler_test.go:24: > 18: goja._enterWith({})
> 	compiler_test.go:24: > 19: goja.resolveVar1(a)
> 	compiler_test.go:24: > 20: goja._getValue({})
> 	compiler_test.go:24: > 21: goja.getVar({b 16777216 false})
> 	compiler_test.go:24: > 22: goja.getVar({c 16777217 false})
> 	compiler_test.go:24: > 23: goja._add({})
> 	compiler_test.go:24: > 24: goja._add({})
> 	compiler_test.go:24: > 25: goja._putValue({})
> 	compiler_test.go:24: > 26: goja._pop({})
> 	compiler_test.go:24: > 27: goja._leaveWith({})
> 	compiler_test.go:24: > 28: goja.getLocal(2)
> 	compiler_test.go:24: > 29: goja.getProp(a)
> 	compiler_test.go:24: > 30: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 2
> === RUN   TestAssignNonExtendable
> --- PASS: TestAssignNonExtendable (0.00s)
> 	compiler_test.go:24: values: [42]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.bindName(o)
> 	compiler_test.go:24:  2: goja.resolveVar1Strict(F)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc4202334a0 F 0 true 18 53})
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.loadStack(0)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja.setPropStrict(x)
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1Strict(o)
> 	compiler_test.go:24:  7: goja.getVar1(F)
> 	compiler_test.go:24:  8: goja._new(0)
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.getVar1(Object)
> 	compiler_test.go:24:  12: goja._dup({})
> 	compiler_test.go:24:  13: goja.getPropCallee(preventExtensions)
> 	compiler_test.go:24:  14: goja.getVar1(o)
> 	compiler_test.go:24:  15: goja.call(1)
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja.getVar1(o)
> 	compiler_test.go:24:  18: goja.loadVal(0)
> 	compiler_test.go:24:  19: goja.setPropStrict(x)
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.getVar1(o)
> 	compiler_test.go:24:  22: goja.getProp(x)
> 	compiler_test.go:24:  23: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestAssignNonExtendable1
> --- PASS: TestAssignNonExtendable1 (0.00s)
> 	compiler_test.go:24: values: [42  ]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.bindName(o)
> 	compiler_test.go:24:  2: goja.bindName(rv)
> 	compiler_test.go:24:  3: goja.resolveVar1Strict(F)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc4202337a0 F 0 true 18 35})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._loadUndef({})
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1Strict(o)
> 	compiler_test.go:24:  8: goja.getVar1(F)
> 	compiler_test.go:24:  9: goja._new(0)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.getVar1(Object)
> 	compiler_test.go:24:  13: goja._dup({})
> 	compiler_test.go:24:  14: goja.getPropCallee(preventExtensions)
> 	compiler_test.go:24:  15: goja.getVar1(o)
> 	compiler_test.go:24:  16: goja.call(1)
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.try({8 0 true})
> 	compiler_test.go:24:  19: goja.getVar1(o)
> 	compiler_test.go:24:  20: goja.loadVal(0)
> 	compiler_test.go:24:  21: goja.setPropStrict(x)
> 	compiler_test.go:24:  22: goja._pop({})
> 	compiler_test.go:24:  23: goja._halt({})
> 	compiler_test.go:24:  24: goja.jump(11)
> 	compiler_test.go:24:  25: <nil>(<nil>)
> 	compiler_test.go:24:  26: goja.enterCatch(e)
> 	compiler_test.go:24:  27: goja.resolveVar1Strict(rv)
> 	compiler_test.go:24:  28: goja.getLocal(0)
> 	compiler_test.go:24:  29: goja.getProp(constructor)
> 	compiler_test.go:24:  30: goja.getVar1(TypeError)
> 	compiler_test.go:24:  31: goja._op_strict_eq({})
> 	compiler_test.go:24:  32: goja._putValue({})
> 	compiler_test.go:24:  33: goja._pop({})
> 	compiler_test.go:24:  34: goja._halt({})
> 	compiler_test.go:24:  35: goja.resolveVar1Strict(rv)
> 	compiler_test.go:24:  36: goja._loadUndef({})
> 	compiler_test.go:24:  37: goja._getValue({})
> 	compiler_test.go:24:  38: goja.loadVal(1)
> 	compiler_test.go:24:  39: goja.getVar1(o)
> 	compiler_test.go:24:  40: goja.getProp(x)
> 	compiler_test.go:24:  41: goja._add({})
> 	compiler_test.go:24:  42: goja._add({})
> 	compiler_test.go:24:  43: goja.rdupN(1)
> 	compiler_test.go:24:  44: goja._putValue({})
> 	compiler_test.go:24:  45: goja._pop({})
> 	compiler_test.go:24:  46: goja._halt({})
> 	compiler_test.go:27: stack size: 4
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestAssignStrict
> --- PASS: TestAssignStrict (0.00s)
> 	compiler_test.go:24: values: [eval = 42]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.try({9 0 true})
> 	compiler_test.go:24:  2: goja._loadUndef({})
> 	compiler_test.go:24:  3: goja.getVar1Callee(eval)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja.callEvalStrict(1)
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja._halt({})
> 	compiler_test.go:24:  8: goja.jump(10)
> 	compiler_test.go:24:  9: <nil>(<nil>)
> 	compiler_test.go:24:  10: goja.enterCatch(e)
> 	compiler_test.go:24:  11: goja.resolveVar1Strict(rv)
> 	compiler_test.go:24:  12: goja.getLocal(0)
> 	compiler_test.go:24:  13: goja.getVar1(SyntaxError)
> 	compiler_test.go:24:  14: goja._op_instanceof({})
> 	compiler_test.go:24:  15: goja._putValue({})
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja._halt({})
> 	compiler_test.go:24:  18: goja._loadUndef({})
> 	compiler_test.go:24:  19: goja._halt({})
> 	compiler_test.go:27: stack size: 3
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestIllegalArgmentName
> --- PASS: TestIllegalArgmentName (0.00s)
> 	compiler_test.go:24: values: [function F(eval) {}]
> 	compiler_test.go:24:  0: goja.bindName(rv)
> 	compiler_test.go:24:  1: goja.try({9 0 true})
> 	compiler_test.go:24:  2: goja._loadUndef({})
> 	compiler_test.go:24:  3: goja.getVar1Callee(eval)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja.callEvalStrict(1)
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja._halt({})
> 	compiler_test.go:24:  8: goja.jump(10)
> 	compiler_test.go:24:  9: <nil>(<nil>)
> 	compiler_test.go:24:  10: goja.enterCatch(e)
> 	compiler_test.go:24:  11: goja.resolveVar1Strict(rv)
> 	compiler_test.go:24:  12: goja.getLocal(0)
> 	compiler_test.go:24:  13: goja.getVar1(SyntaxError)
> 	compiler_test.go:24:  14: goja._op_instanceof({})
> 	compiler_test.go:24:  15: goja._putValue({})
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja._halt({})
> 	compiler_test.go:24:  18: goja._loadUndef({})
> 	compiler_test.go:24:  19: goja._halt({})
> 	compiler_test.go:27: stack size: 3
> 	compiler_test.go:28: stashAllocs: 1
> === RUN   TestFunction
> --- PASS: TestFunction (0.00s)
> 	compiler_test.go:24: values: [ return ' one' arg return ' ' + arg two]
> 	compiler_test.go:24:  0: goja.bindName(f0)
> 	compiler_test.go:24:  1: goja.bindName(f1)
> 	compiler_test.go:24:  2: goja.bindName(f2)
> 	compiler_test.go:24:  3: goja.resolveVar1(f0)
> 	compiler_test.go:24:  4: goja._loadUndef({})
> 	compiler_test.go:24:  5: goja.getVar1Callee(Function)
> 	compiler_test.go:24:  6: goja.loadVal(0)
> 	compiler_test.go:24:  7: goja.call(1)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.resolveVar1(f1)
> 	compiler_test.go:24:  11: goja._loadUndef({})
> 	compiler_test.go:24:  12: goja.getVar1Callee(Function)
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja.call(1)
> 	compiler_test.go:24:  15: goja._putValue({})
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja.resolveVar1(f2)
> 	compiler_test.go:24:  18: goja._loadUndef({})
> 	compiler_test.go:24:  19: goja.getVar1Callee(Function)
> 	compiler_test.go:24:  20: goja.loadVal(2)
> 	compiler_test.go:24:  21: goja.loadVal(3)
> 	compiler_test.go:24:  22: goja.call(2)
> 	compiler_test.go:24:  23: goja._putValue({})
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja._loadUndef({})
> 	compiler_test.go:24:  26: goja.getVar1Callee(f0)
> 	compiler_test.go:24:  27: goja.call(0)
> 	compiler_test.go:24:  28: goja._loadUndef({})
> 	compiler_test.go:24:  29: goja.getVar1Callee(f1)
> 	compiler_test.go:24:  30: goja.call(0)
> 	compiler_test.go:24:  31: goja._add({})
> 	compiler_test.go:24:  32: goja._loadUndef({})
> 	compiler_test.go:24:  33: goja.getVar1Callee(f2)
> 	compiler_test.go:24:  34: goja.loadVal(4)
> 	compiler_test.go:24:  35: goja.call(1)
> 	compiler_test.go:24:  36: goja._add({})
> 	compiler_test.go:24:  37: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestFunction1
> --- PASS: TestFunction1 (0.00s)
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4200f2720 f1 1 false 11 96})
> 	compiler_test.go:24: values: [0 true 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 1})
> 	compiler_test.go:24: > 1: goja._loadCallee({})
> 	compiler_test.go:24: > 2: goja.storeStackP(1)
> 	compiler_test.go:24: > 3: goja.loadStack(-1)
> 	compiler_test.go:24: > 4: goja.loadVal(0)
> 	compiler_test.go:24: > 5: goja._op_eq({})
> 	compiler_test.go:24: > 6: goja.jne(3)
> 	compiler_test.go:24: > 7: goja.loadVal(1)
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24: > 9: goja._loadUndef({})
> 	compiler_test.go:24: > 10: goja.loadStack(1)
> 	compiler_test.go:24: > 11: goja.loadStack(-1)
> 	compiler_test.go:24: > 12: goja.loadVal(2)
> 	compiler_test.go:24: > 13: goja._sub({})
> 	compiler_test.go:24: > 14: goja.call(1)
> 	compiler_test.go:24: > 15: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.call(1)
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 10
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestFunction2
> --- PASS: TestFunction2 (0.00s)
> 	compiler_test.go:24: values: [ 1]
> 	compiler_test.go:24:  0: goja.bindName(trace)
> 	compiler_test.go:24:  1: goja.bindName(f)
> 	compiler_test.go:24:  2: goja.bindName(f1)
> 	compiler_test.go:24:  3: goja.bindName(f2)
> 	compiler_test.go:24:  4: goja.resolveVar1(f)
> 	compiler_test.go:24:  5: *goja.newFunc(&{0xc4200f2a20 f 1 false 19 147})
> 	compiler_test.go:24: values: [f( ) 0 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja._add({})
> 	compiler_test.go:24: > 6: goja.loadVal(1)
> 	compiler_test.go:24: > 7: goja._add({})
> 	compiler_test.go:24: > 8: goja._add({})
> 	compiler_test.go:24: > 9: goja._putValue({})
> 	compiler_test.go:24: > 10: goja._pop({})
> 	compiler_test.go:24: > 11: goja.loadStack(-1)
> 	compiler_test.go:24: > 12: goja.loadVal(2)
> 	compiler_test.go:24: > 13: goja._op_eq({})
> 	compiler_test.go:24: > 14: goja.jne(3)
> 	compiler_test.go:24: > 15: goja._loadUndef({})
> 	compiler_test.go:24: > 16: goja._retStashless({})
> 	compiler_test.go:24: > 17: goja._loadUndef({})
> 	compiler_test.go:24: > 18: goja.getVar1Callee(f)
> 	compiler_test.go:24: > 19: goja.loadStack(-1)
> 	compiler_test.go:24: > 20: goja.loadVal(3)
> 	compiler_test.go:24: > 21: goja._sub({})
> 	compiler_test.go:24: > 22: goja.call(1)
> 	compiler_test.go:24: > 23: goja._retStashless({})
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(f1)
> 	compiler_test.go:24:  9: *goja.newFunc(&{0xc4200f2a80 f1 0 false 150 189})
> 	compiler_test.go:24: values: [f1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(trace)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._add({})
> 	compiler_test.go:24: > 5: goja._putValue({})
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja._loadUndef({})
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.resolveVar1(trace)
> 	compiler_test.go:24:  13: goja.loadVal(0)
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.resolveVar1(f2)
> 	compiler_test.go:24:  17: goja.getVar1(f)
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.resolveVar1(f)
> 	compiler_test.go:24:  21: goja.getVar1(f1)
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja._loadUndef({})
> 	compiler_test.go:24:  25: goja.getVar1Callee(f2)
> 	compiler_test.go:24:  26: goja.loadVal(1)
> 	compiler_test.go:24:  27: goja.call(1)
> 	compiler_test.go:24:  28: goja._pop({})
> 	compiler_test.go:24:  29: goja.getVar1(trace)
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 8
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestFunctionToString
> --- PASS: TestFunctionToString (0.00s)
> 	compiler_test.go:24: values: [arg1 arg2 return 42]
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja.getVar1Callee(Function)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja.loadVal(1)
> 	compiler_test.go:24:  4: goja.loadVal(2)
> 	compiler_test.go:24:  5: goja.call(3)
> 	compiler_test.go:24:  6: goja._dup({})
> 	compiler_test.go:24:  7: goja.getPropCallee(toString)
> 	compiler_test.go:24:  8: goja.call(0)
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestObjectLiteral
> --- PASS: TestObjectLiteral (0.00s)
> 	compiler_test.go:24: values: [false 42]
> 	compiler_test.go:24:  0: goja.bindName(getterCalled)
> 	compiler_test.go:24:  1: goja.bindName(setterCalled)
> 	compiler_test.go:24:  2: goja.bindName(o)
> 	compiler_test.go:24:  3: goja.resolveVar1(getterCalled)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(setterCalled)
> 	compiler_test.go:24:  8: goja.loadVal(0)
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.resolveVar1(o)
> 	compiler_test.go:24:  12: goja._newObject({})
> 	compiler_test.go:24:  13: *goja.newFunc(&{0xc4200f30e0  0 false 70 95})
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(getterCalled)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  14: goja.setPropGetter(x)
> 	compiler_test.go:24:  15: *goja.newFunc(&{0xc4200f3140  0 false 101 126})
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(setterCalled)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  16: goja.setPropSetter(x)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(o)
> 	compiler_test.go:24:  20: goja.getProp(x)
> 	compiler_test.go:24:  21: goja._pop({})
> 	compiler_test.go:24:  22: goja.getVar1(o)
> 	compiler_test.go:24:  23: goja.loadVal(1)
> 	compiler_test.go:24:  24: goja.setProp(x)
> 	compiler_test.go:24:  25: goja._pop({})
> 	compiler_test.go:24:  26: goja.getVar1(getterCalled)
> 	compiler_test.go:24:  27: goja.jneq1(3)
> 	compiler_test.go:24:  28: goja._pop({})
> 	compiler_test.go:24:  29: goja.getVar1(setterCalled)
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestConst
> --- PASS: TestConst (0.00s)
> 	compiler_test.go:24: values: [true -Infinity false]
> 	compiler_test.go:24:  0: goja.bindName(v1)
> 	compiler_test.go:24:  1: goja.bindName(v2)
> 	compiler_test.go:24:  2: goja.bindName(v3)
> 	compiler_test.go:24:  3: goja.bindName(v4)
> 	compiler_test.go:24:  4: goja.resolveVar1(v1)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(v2)
> 	compiler_test.go:24:  9: goja.loadVal(1)
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.resolveVar1(v3)
> 	compiler_test.go:24:  13: goja.getVar1(v1)
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.resolveVar1(v4)
> 	compiler_test.go:24:  17: goja.loadVal(2)
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.getVar1(v1)
> 	compiler_test.go:24:  21: goja.loadVal(0)
> 	compiler_test.go:24:  22: goja._op_strict_eq({})
> 	compiler_test.go:24:  23: goja.jneq1(6)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(v2)
> 	compiler_test.go:24:  26: goja.getVar1(Infinity)
> 	compiler_test.go:24:  27: goja._neg({})
> 	compiler_test.go:24:  28: goja._op_strict_eq({})
> 	compiler_test.go:24:  29: goja.jneq1(5)
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.getVar1(v3)
> 	compiler_test.go:24:  32: goja.getVar1(v1)
> 	compiler_test.go:24:  33: goja._op_strict_eq({})
> 	compiler_test.go:24:  34: goja.jneq1(5)
> 	compiler_test.go:24:  35: goja._pop({})
> 	compiler_test.go:24:  36: goja.getVar1(v4)
> 	compiler_test.go:24:  37: goja.loadVal(2)
> 	compiler_test.go:24:  38: goja._op_strict_eq({})
> 	compiler_test.go:24:  39: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestConstWhile
> --- PASS: TestConstWhile (0.00s)
> 	compiler_test.go:24: values: [0 9 10]
> 	compiler_test.go:24:  0: goja.bindName(c)
> 	compiler_test.go:24:  1: goja.resolveVar1(c)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.resolveVar1(c)
> 	compiler_test.go:24:  6: goja._loadUndef({})
> 	compiler_test.go:24:  7: goja._getValue({})
> 	compiler_test.go:24:  8: goja._toNumber({})
> 	compiler_test.go:24:  9: goja._inc({})
> 	compiler_test.go:24:  10: goja.rdupN(1)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja._op_gt({})
> 	compiler_test.go:24:  15: goja.jne(2)
> 	compiler_test.go:24:  16: goja.jump(2)
> 	compiler_test.go:24:  17: goja.jump(-12)
> 	compiler_test.go:24:  18: goja.getVar1(c)
> 	compiler_test.go:24:  19: goja.loadVal(2)
> 	compiler_test.go:24:  20: goja._op_strict_eq({})
> 	compiler_test.go:24:  21: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestConstWhileThrow
> --- PASS: TestConstWhileThrow (0.00s)
> 	compiler_test.go:24: values: [false Value is not an object: true]
> 	compiler_test.go:24:  0: goja.bindName(thrown)
> 	compiler_test.go:24:  1: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.try({8 0 true})
> 	compiler_test.go:24:  6: goja.getVar1(TypeError)
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja._new(1)
> 	compiler_test.go:24:  9: goja._throw({})
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:24:  11: goja.jump(10)
> 	compiler_test.go:24:  12: <nil>(<nil>)
> 	compiler_test.go:24:  13: goja.enterCatch(e)
> 	compiler_test.go:24:  14: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  15: goja.getLocal(0)
> 	compiler_test.go:24:  16: goja.getVar1(TypeError)
> 	compiler_test.go:24:  17: goja._op_instanceof({})
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja._halt({})
> 	compiler_test.go:24:  21: goja.getVar1(thrown)
> 	compiler_test.go:24:  22: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestDupParams
> --- PASS: TestDupParams (0.00s)
> 	compiler_test.go:24: values: [1 2]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420080360 F 3 false 2 38})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 3})
> 	compiler_test.go:24: > 1: goja.loadStack(-3)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.call(2)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestUseUnsuppliedParam
> --- PASS: TestUseUnsuppliedParam (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(getMessage)
> 	compiler_test.go:24:  1: goja.resolveVar1(getMessage)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4200806c0 getMessage 1 false 2 130})
> 	compiler_test.go:24: values: [  123 456]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.getVar1(undefined)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(4)
> 	compiler_test.go:24: > 5: goja.loadVal(0)
> 	compiler_test.go:24: > 6: goja.storeStack(-1)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.loadStack(-1)
> 	compiler_test.go:24: > 9: goja.loadVal(1)
> 	compiler_test.go:24: > 10: goja._add({})
> 	compiler_test.go:24: > 11: goja.storeStack(-1)
> 	compiler_test.go:24: > 12: goja._pop({})
> 	compiler_test.go:24: > 13: goja.loadStack(-1)
> 	compiler_test.go:24: > 14: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(getMessage)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestForInLoop
> --- PASS: TestForInLoop (0.00s)
> 	compiler_test.go:24: values: [42 44 45 false x y Already has X true Already has Y]
> 	compiler_test.go:24:  0: goja.bindName(Proto)
> 	compiler_test.go:24:  1: goja.bindName(o)
> 	compiler_test.go:24:  2: goja.bindName(hasX)
> 	compiler_test.go:24:  3: goja.bindName(hasY)
> 	compiler_test.go:24:  4: goja.bindName(i)
> 	compiler_test.go:24:  5: goja.resolveVar1(Proto)
> 	compiler_test.go:24:  6: *goja.newFunc(&{0xc420080ae0 Proto 0 false 2 21})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja._loadUndef({})
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.getVar1(Proto)
> 	compiler_test.go:24:  10: goja.getProp(prototype)
> 	compiler_test.go:24:  11: goja.loadVal(0)
> 	compiler_test.go:24:  12: goja.setProp(x)
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.resolveVar1(o)
> 	compiler_test.go:24:  15: goja.getVar1(Proto)
> 	compiler_test.go:24:  16: goja._new(0)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(o)
> 	compiler_test.go:24:  20: goja.loadVal(1)
> 	compiler_test.go:24:  21: goja.setProp(y)
> 	compiler_test.go:24:  22: goja._pop({})
> 	compiler_test.go:24:  23: goja.getVar1(o)
> 	compiler_test.go:24:  24: goja.loadVal(2)
> 	compiler_test.go:24:  25: goja.setProp(x)
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja.resolveVar1(hasX)
> 	compiler_test.go:24:  28: goja.loadVal(3)
> 	compiler_test.go:24:  29: goja._putValue({})
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.resolveVar1(hasY)
> 	compiler_test.go:24:  32: goja.loadVal(3)
> 	compiler_test.go:24:  33: goja._putValue({})
> 	compiler_test.go:24:  34: goja._pop({})
> 	compiler_test.go:24:  35: goja.getVar1(o)
> 	compiler_test.go:24:  36: goja._enumerate({})
> 	compiler_test.go:24:  37: goja.enumNext(43)
> 	compiler_test.go:24:  38: goja.resolveVar1(i)
> 	compiler_test.go:24:  39: goja._enumGet({})
> 	compiler_test.go:24:  40: goja._putValue({})
> 	compiler_test.go:24:  41: goja._pop({})
> 	compiler_test.go:24:  42: goja.getVar1(i)
> 	compiler_test.go:24:  43: goja._dup({})
> 	compiler_test.go:24:  44: goja.loadVal(4)
> 	compiler_test.go:24:  45: goja._op_strict_eq({})
> 	compiler_test.go:24:  46: goja.jne(3)
> 	compiler_test.go:24:  47: goja._pop({})
> 	compiler_test.go:24:  48: goja.jump(9)
> 	compiler_test.go:24:  49: goja._dup({})
> 	compiler_test.go:24:  50: goja.loadVal(5)
> 	compiler_test.go:24:  51: goja._op_strict_eq({})
> 	compiler_test.go:24:  52: goja.jne(3)
> 	compiler_test.go:24:  53: goja._pop({})
> 	compiler_test.go:24:  54: goja.jump(14)
> 	compiler_test.go:24:  55: goja._pop({})
> 	compiler_test.go:24:  56: goja.jump(23)
> 	compiler_test.go:24:  57: goja.getVar1(hasX)
> 	compiler_test.go:24:  58: goja.jne(5)
> 	compiler_test.go:24:  59: goja.getVar1(Error)
> 	compiler_test.go:24:  60: goja.loadVal(6)
> 	compiler_test.go:24:  61: goja._new(1)
> 	compiler_test.go:24:  62: goja._throw({})
> 	compiler_test.go:24:  63: goja.resolveVar1(hasX)
> 	compiler_test.go:24:  64: goja.loadVal(7)
> 	compiler_test.go:24:  65: goja._putValue({})
> 	compiler_test.go:24:  66: goja._pop({})
> 	compiler_test.go:24:  67: goja.jump(12)
> 	compiler_test.go:24:  68: goja.getVar1(hasY)
> 	compiler_test.go:24:  69: goja.jne(5)
> 	compiler_test.go:24:  70: goja.getVar1(Error)
> 	compiler_test.go:24:  71: goja.loadVal(8)
> 	compiler_test.go:24:  72: goja._new(1)
> 	compiler_test.go:24:  73: goja._throw({})
> 	compiler_test.go:24:  74: goja.resolveVar1(hasY)
> 	compiler_test.go:24:  75: goja.loadVal(7)
> 	compiler_test.go:24:  76: goja._putValue({})
> 	compiler_test.go:24:  77: goja._pop({})
> 	compiler_test.go:24:  78: goja.jump(1)
> 	compiler_test.go:24:  79: goja.jump(-42)
> 	compiler_test.go:24:  80: goja._enumPop({})
> 	compiler_test.go:24:  81: goja.getVar1(hasX)
> 	compiler_test.go:24:  82: goja.jneq1(3)
> 	compiler_test.go:24:  83: goja._pop({})
> 	compiler_test.go:24:  84: goja.getVar1(hasY)
> 	compiler_test.go:24:  85: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestForInLoopRet
> --- PASS: TestForInLoopRet (0.00s)
> 	compiler_test.go:24: values: [1 2 true]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(i)
> 	compiler_test.go:24:  2: goja.resolveVar1(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.getVar1(o)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.setProp(x)
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(o)
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja.setProp(y)
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(o)
> 	compiler_test.go:24:  15: goja._enumerate({})
> 	compiler_test.go:24:  16: goja._loadUndef({})
> 	compiler_test.go:24:  17: goja.enumNext(9)
> 	compiler_test.go:24:  18: goja.resolveVar1(i)
> 	compiler_test.go:24:  19: goja._enumGet({})
> 	compiler_test.go:24:  20: goja._putValue({})
> 	compiler_test.go:24:  21: goja._pop({})
> 	compiler_test.go:24:  22: goja.loadVal(2)
> 	compiler_test.go:24:  23: goja.rdupN(1)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.jump(-8)
> 	compiler_test.go:24:  26: goja._enumPop({})
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestWhileLoopResult
> --- PASS: TestWhileLoopResult (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja._loadUndef({})
> 	compiler_test.go:24:  1: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSwitch
> --- PASS: TestSwitch (0.00s)
> 	compiler_test.go:24: values: [0 1 2 4]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4200814a0 F 1 false 2 165})
> 	compiler_test.go:24: values: [0 1 2 3]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 1})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja._dup({})
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._op_strict_eq({})
> 	compiler_test.go:24: > 8: goja.jne(3)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.jump(21)
> 	compiler_test.go:24: > 11: goja._dup({})
> 	compiler_test.go:24: > 12: goja.loadVal(1)
> 	compiler_test.go:24: > 13: goja._op_strict_eq({})
> 	compiler_test.go:24: > 14: goja.jne(3)
> 	compiler_test.go:24: > 15: goja._pop({})
> 	compiler_test.go:24: > 16: goja.jump(19)
> 	compiler_test.go:24: > 17: goja._dup({})
> 	compiler_test.go:24: > 18: goja.loadVal(2)
> 	compiler_test.go:24: > 19: goja._op_strict_eq({})
> 	compiler_test.go:24: > 20: goja.jne(3)
> 	compiler_test.go:24: > 21: goja._pop({})
> 	compiler_test.go:24: > 22: goja.jump(21)
> 	compiler_test.go:24: > 23: goja._dup({})
> 	compiler_test.go:24: > 24: goja.loadVal(3)
> 	compiler_test.go:24: > 25: goja._op_strict_eq({})
> 	compiler_test.go:24: > 26: goja.jne(3)
> 	compiler_test.go:24: > 27: goja._pop({})
> 	compiler_test.go:24: > 28: goja.jump(20)
> 	compiler_test.go:24: > 29: goja._pop({})
> 	compiler_test.go:24: > 30: goja.jump(9)
> 	compiler_test.go:24: > 31: goja.loadStack(1)
> 	compiler_test.go:24: > 32: goja._inc({})
> 	compiler_test.go:24: > 33: goja.storeStack(1)
> 	compiler_test.go:24: > 34: goja._pop({})
> 	compiler_test.go:24: > 35: goja.loadStack(1)
> 	compiler_test.go:24: > 36: goja._inc({})
> 	compiler_test.go:24: > 37: goja.storeStack(1)
> 	compiler_test.go:24: > 38: goja._pop({})
> 	compiler_test.go:24: > 39: goja.loadStack(1)
> 	compiler_test.go:24: > 40: goja._inc({})
> 	compiler_test.go:24: > 41: goja.storeStack(1)
> 	compiler_test.go:24: > 42: goja._pop({})
> 	compiler_test.go:24: > 43: goja.loadStack(1)
> 	compiler_test.go:24: > 44: goja._inc({})
> 	compiler_test.go:24: > 45: goja.storeStack(1)
> 	compiler_test.go:24: > 46: goja._pop({})
> 	compiler_test.go:24: > 47: goja.jump(5)
> 	compiler_test.go:24: > 48: goja.loadStack(1)
> 	compiler_test.go:24: > 49: goja._inc({})
> 	compiler_test.go:24: > 50: goja.storeStack(1)
> 	compiler_test.go:24: > 51: goja._pop({})
> 	compiler_test.go:24: > 52: goja.loadStack(1)
> 	compiler_test.go:24: > 53: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.call(1)
> 	compiler_test.go:24:  9: goja._loadUndef({})
> 	compiler_test.go:24:  10: goja.getVar1Callee(F)
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja.call(1)
> 	compiler_test.go:24:  13: goja._add({})
> 	compiler_test.go:24:  14: goja._loadUndef({})
> 	compiler_test.go:24:  15: goja.getVar1Callee(F)
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja.call(1)
> 	compiler_test.go:24:  18: goja._add({})
> 	compiler_test.go:24:  19: goja._loadUndef({})
> 	compiler_test.go:24:  20: goja.getVar1Callee(F)
> 	compiler_test.go:24:  21: goja.loadVal(3)
> 	compiler_test.go:24:  22: goja.call(1)
> 	compiler_test.go:24:  23: goja._add({})
> 	compiler_test.go:24:  24: goja._halt({})
> 	compiler_test.go:60: stack size: 8
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSwitchDefFirst
> --- PASS: TestSwitchDefFirst (0.00s)
> 	compiler_test.go:24: values: [0 1 2 4]
> 	compiler_test.go:24:  0: goja.bindName(F)
> 	compiler_test.go:24:  1: goja.resolveVar1(F)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420081800 F 1 false 2 165})
> 	compiler_test.go:24: values: [0 1 2 3]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 1})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja.storeStack(1)
> 	compiler_test.go:24: > 3: goja._pop({})
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja._dup({})
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._op_strict_eq({})
> 	compiler_test.go:24: > 8: goja.jne(3)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.jump(24)
> 	compiler_test.go:24: > 11: goja._dup({})
> 	compiler_test.go:24: > 12: goja.loadVal(1)
> 	compiler_test.go:24: > 13: goja._op_strict_eq({})
> 	compiler_test.go:24: > 14: goja.jne(3)
> 	compiler_test.go:24: > 15: goja._pop({})
> 	compiler_test.go:24: > 16: goja.jump(22)
> 	compiler_test.go:24: > 17: goja._dup({})
> 	compiler_test.go:24: > 18: goja.loadVal(2)
> 	compiler_test.go:24: > 19: goja._op_strict_eq({})
> 	compiler_test.go:24: > 20: goja.jne(3)
> 	compiler_test.go:24: > 21: goja._pop({})
> 	compiler_test.go:24: > 22: goja.jump(20)
> 	compiler_test.go:24: > 23: goja._dup({})
> 	compiler_test.go:24: > 24: goja.loadVal(3)
> 	compiler_test.go:24: > 25: goja._op_strict_eq({})
> 	compiler_test.go:24: > 26: goja.jne(3)
> 	compiler_test.go:24: > 27: goja._pop({})
> 	compiler_test.go:24: > 28: goja.jump(19)
> 	compiler_test.go:24: > 29: goja._pop({})
> 	compiler_test.go:24: > 30: goja.loadStack(1)
> 	compiler_test.go:24: > 31: goja._inc({})
> 	compiler_test.go:24: > 32: goja.storeStack(1)
> 	compiler_test.go:24: > 33: goja._pop({})
> 	compiler_test.go:24: > 34: goja.loadStack(1)
> 	compiler_test.go:24: > 35: goja._inc({})
> 	compiler_test.go:24: > 36: goja.storeStack(1)
> 	compiler_test.go:24: > 37: goja._pop({})
> 	compiler_test.go:24: > 38: goja.loadStack(1)
> 	compiler_test.go:24: > 39: goja._inc({})
> 	compiler_test.go:24: > 40: goja.storeStack(1)
> 	compiler_test.go:24: > 41: goja._pop({})
> 	compiler_test.go:24: > 42: goja.loadStack(1)
> 	compiler_test.go:24: > 43: goja._inc({})
> 	compiler_test.go:24: > 44: goja.storeStack(1)
> 	compiler_test.go:24: > 45: goja._pop({})
> 	compiler_test.go:24: > 46: goja.jump(5)
> 	compiler_test.go:24: > 47: goja.loadStack(1)
> 	compiler_test.go:24: > 48: goja._inc({})
> 	compiler_test.go:24: > 49: goja.storeStack(1)
> 	compiler_test.go:24: > 50: goja._pop({})
> 	compiler_test.go:24: > 51: goja.loadStack(1)
> 	compiler_test.go:24: > 52: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(F)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.call(1)
> 	compiler_test.go:24:  9: goja._loadUndef({})
> 	compiler_test.go:24:  10: goja.getVar1Callee(F)
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja.call(1)
> 	compiler_test.go:24:  13: goja._add({})
> 	compiler_test.go:24:  14: goja._loadUndef({})
> 	compiler_test.go:24:  15: goja.getVar1Callee(F)
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja.call(1)
> 	compiler_test.go:24:  18: goja._add({})
> 	compiler_test.go:24:  19: goja._loadUndef({})
> 	compiler_test.go:24:  20: goja.getVar1Callee(F)
> 	compiler_test.go:24:  21: goja.loadVal(3)
> 	compiler_test.go:24:  22: goja.call(1)
> 	compiler_test.go:24:  23: goja._add({})
> 	compiler_test.go:24:  24: goja._halt({})
> 	compiler_test.go:60: stack size: 8
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSwitchResult
> --- PASS: TestSwitchResult (0.00s)
> 	compiler_test.go:24: values: [2 0 1 3 zero one two three default]
> 	compiler_test.go:24:  0: goja.bindName(x)
> 	compiler_test.go:24:  1: goja.resolveVar1(x)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1(x)
> 	compiler_test.go:24:  7: goja._dup({})
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._op_strict_eq({})
> 	compiler_test.go:24:  10: goja.jne(3)
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.jump(21)
> 	compiler_test.go:24:  13: goja._dup({})
> 	compiler_test.go:24:  14: goja.loadVal(2)
> 	compiler_test.go:24:  15: goja._op_strict_eq({})
> 	compiler_test.go:24:  16: goja.jne(3)
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.jump(17)
> 	compiler_test.go:24:  19: goja._dup({})
> 	compiler_test.go:24:  20: goja.loadVal(0)
> 	compiler_test.go:24:  21: goja._op_strict_eq({})
> 	compiler_test.go:24:  22: goja.jne(3)
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.jump(13)
> 	compiler_test.go:24:  25: goja._dup({})
> 	compiler_test.go:24:  26: goja.loadVal(3)
> 	compiler_test.go:24:  27: goja._op_strict_eq({})
> 	compiler_test.go:24:  28: goja.jne(3)
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja.jump(10)
> 	compiler_test.go:24:  31: goja._pop({})
> 	compiler_test.go:24:  32: goja.jump(10)
> 	compiler_test.go:24:  33: goja._pop({})
> 	compiler_test.go:24:  34: goja.loadVal(4)
> 	compiler_test.go:24:  35: goja._pop({})
> 	compiler_test.go:24:  36: goja.loadVal(5)
> 	compiler_test.go:24:  37: goja._pop({})
> 	compiler_test.go:24:  38: goja.loadVal(6)
> 	compiler_test.go:24:  39: goja.jump(5)
> 	compiler_test.go:24:  40: goja._pop({})
> 	compiler_test.go:24:  41: goja.loadVal(7)
> 	compiler_test.go:24:  42: goja._pop({})
> 	compiler_test.go:24:  43: goja.loadVal(8)
> 	compiler_test.go:24:  44: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSwitchNoMatch
> --- PASS: TestSwitchNoMatch (0.00s)
> 	compiler_test.go:24: values: [5 0 2]
> 	compiler_test.go:24:  0: goja.bindName(x)
> 	compiler_test.go:24:  1: goja.bindName(result)
> 	compiler_test.go:24:  2: goja.resolveVar1(x)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.getVar1(x)
> 	compiler_test.go:24:  7: goja._dup({})
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._op_strict_eq({})
> 	compiler_test.go:24:  10: goja.jne(3)
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.jump(3)
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.jump(6)
> 	compiler_test.go:24:  15: goja.resolveVar1(result)
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.jump(1)
> 	compiler_test.go:24:  20: goja.getVar1(result)
> 	compiler_test.go:24:  21: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestGetOwnPropertyNames
> --- PASS: TestGetOwnPropertyNames (0.00s)
> 	compiler_test.go:24: values: [42 test false prop1 prop2 true]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(hasProp1)
> 	compiler_test.go:24:  2: goja.bindName(hasProp2)
> 	compiler_test.go:24:  3: goja.bindName(names)
> 	compiler_test.go:24:  4: goja.bindName(i)
> 	compiler_test.go:24:  5: goja.bindName(p)
> 	compiler_test.go:24:  6: goja.resolveVar1(o)
> 	compiler_test.go:24:  7: goja._newObject({})
> 	compiler_test.go:24:  8: goja.loadVal(0)
> 	compiler_test.go:24:  9: goja.setProp1(prop1)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja.setProp1(prop2)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.resolveVar1(hasProp1)
> 	compiler_test.go:24:  15: goja.loadVal(2)
> 	compiler_test.go:24:  16: goja._putValue({})
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.resolveVar1(hasProp2)
> 	compiler_test.go:24:  19: goja.loadVal(2)
> 	compiler_test.go:24:  20: goja._putValue({})
> 	compiler_test.go:24:  21: goja._pop({})
> 	compiler_test.go:24:  22: goja.resolveVar1(names)
> 	compiler_test.go:24:  23: goja.getVar1(Object)
> 	compiler_test.go:24:  24: goja._dup({})
> 	compiler_test.go:24:  25: goja.getPropCallee(getOwnPropertyNames)
> 	compiler_test.go:24:  26: goja.getVar1(o)
> 	compiler_test.go:24:  27: goja.call(1)
> 	compiler_test.go:24:  28: goja._putValue({})
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja.getVar1(names)
> 	compiler_test.go:24:  31: goja._enumerate({})
> 	compiler_test.go:24:  32: goja.enumNext(37)
> 	compiler_test.go:24:  33: goja.resolveVar1(i)
> 	compiler_test.go:24:  34: goja._enumGet({})
> 	compiler_test.go:24:  35: goja._putValue({})
> 	compiler_test.go:24:  36: goja._pop({})
> 	compiler_test.go:24:  37: goja.resolveVar1(p)
> 	compiler_test.go:24:  38: goja.getVar1(names)
> 	compiler_test.go:24:  39: goja.getVar1(i)
> 	compiler_test.go:24:  40: goja._getElem({})
> 	compiler_test.go:24:  41: goja._putValue({})
> 	compiler_test.go:24:  42: goja._pop({})
> 	compiler_test.go:24:  43: goja.getVar1(p)
> 	compiler_test.go:24:  44: goja._dup({})
> 	compiler_test.go:24:  45: goja.loadVal(3)
> 	compiler_test.go:24:  46: goja._op_strict_eq({})
> 	compiler_test.go:24:  47: goja.jne(3)
> 	compiler_test.go:24:  48: goja._pop({})
> 	compiler_test.go:24:  49: goja.jump(9)
> 	compiler_test.go:24:  50: goja._dup({})
> 	compiler_test.go:24:  51: goja.loadVal(4)
> 	compiler_test.go:24:  52: goja._op_strict_eq({})
> 	compiler_test.go:24:  53: goja.jne(3)
> 	compiler_test.go:24:  54: goja._pop({})
> 	compiler_test.go:24:  55: goja.jump(8)
> 	compiler_test.go:24:  56: goja._pop({})
> 	compiler_test.go:24:  57: goja.jump(11)
> 	compiler_test.go:24:  58: goja.resolveVar1(hasProp1)
> 	compiler_test.go:24:  59: goja.loadVal(5)
> 	compiler_test.go:24:  60: goja._putValue({})
> 	compiler_test.go:24:  61: goja._pop({})
> 	compiler_test.go:24:  62: goja.jump(6)
> 	compiler_test.go:24:  63: goja.resolveVar1(hasProp2)
> 	compiler_test.go:24:  64: goja.loadVal(5)
> 	compiler_test.go:24:  65: goja._putValue({})
> 	compiler_test.go:24:  66: goja._pop({})
> 	compiler_test.go:24:  67: goja.jump(1)
> 	compiler_test.go:24:  68: goja.jump(-36)
> 	compiler_test.go:24:  69: goja._enumPop({})
> 	compiler_test.go:24:  70: goja.getVar1(hasProp1)
> 	compiler_test.go:24:  71: goja.jneq1(3)
> 	compiler_test.go:24:  72: goja._pop({})
> 	compiler_test.go:24:  73: goja.getVar1(hasProp2)
> 	compiler_test.go:24:  74: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArrayLiteral
> --- PASS: TestArrayLiteral (0.00s)
> 	compiler_test.go:24: values: [false true]
> 	compiler_test.go:24:  0: goja.bindName(f1Called)
> 	compiler_test.go:24:  1: goja.bindName(f2Called)
> 	compiler_test.go:24:  2: goja.bindName(f3Called)
> 	compiler_test.go:24:  3: goja.bindName(errorThrown)
> 	compiler_test.go:24:  4: goja.bindName(F1)
> 	compiler_test.go:24:  5: goja.bindName(F2)
> 	compiler_test.go:24:  6: goja.bindName(F3)
> 	compiler_test.go:24:  7: goja.bindName(a)
> 	compiler_test.go:24:  8: goja.resolveVar1(F1)
> 	compiler_test.go:24:  9: *goja.newFunc(&{0xc420302540 F1 0 false 99 136})
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(f1Called)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja.resolveVar1(F2)
> 	compiler_test.go:24:  13: *goja.newFunc(&{0xc4203025a0 F2 0 false 139 176})
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(f2Called)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.resolveVar1(F3)
> 	compiler_test.go:24:  17: *goja.newFunc(&{0xc420302600 F3 0 false 179 216})
> 	compiler_test.go:24: values: [true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(f3Called)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._putValue({})
> 	compiler_test.go:24: > 4: goja._pop({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.resolveVar1(f1Called)
> 	compiler_test.go:24:  21: goja.loadVal(0)
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.resolveVar1(f2Called)
> 	compiler_test.go:24:  25: goja.loadVal(0)
> 	compiler_test.go:24:  26: goja._putValue({})
> 	compiler_test.go:24:  27: goja._pop({})
> 	compiler_test.go:24:  28: goja.resolveVar1(f3Called)
> 	compiler_test.go:24:  29: goja.loadVal(0)
> 	compiler_test.go:24:  30: goja._putValue({})
> 	compiler_test.go:24:  31: goja._pop({})
> 	compiler_test.go:24:  32: goja.resolveVar1(errorThrown)
> 	compiler_test.go:24:  33: goja.loadVal(0)
> 	compiler_test.go:24:  34: goja._putValue({})
> 	compiler_test.go:24:  35: goja._pop({})
> 	compiler_test.go:24:  36: goja.try({20 0 true})
> 	compiler_test.go:24:  37: goja.resolveVar1(a)
> 	compiler_test.go:24:  38: goja._loadUndef({})
> 	compiler_test.go:24:  39: goja.getVar1Callee(F1)
> 	compiler_test.go:24:  40: goja.call(0)
> 	compiler_test.go:24:  41: goja._loadUndef({})
> 	compiler_test.go:24:  42: goja.getVar1Callee(x)
> 	compiler_test.go:24:  43: goja._loadUndef({})
> 	compiler_test.go:24:  44: goja.getVar1Callee(F3)
> 	compiler_test.go:24:  45: goja.call(0)
> 	compiler_test.go:24:  46: goja.call(1)
> 	compiler_test.go:24:  47: goja._loadUndef({})
> 	compiler_test.go:24:  48: goja.getVar1Callee(F2)
> 	compiler_test.go:24:  49: goja.call(0)
> 	compiler_test.go:24:  50: goja.newArray(3)
> 	compiler_test.go:24:  51: goja._putValue({})
> 	compiler_test.go:24:  52: goja._pop({})
> 	compiler_test.go:24:  53: goja._halt({})
> 	compiler_test.go:24:  54: goja.jump(15)
> 	compiler_test.go:24:  55: <nil>(<nil>)
> 	compiler_test.go:24:  56: goja.enterCatch(e)
> 	compiler_test.go:24:  57: goja.getLocal(0)
> 	compiler_test.go:24:  58: goja.getVar1(ReferenceError)
> 	compiler_test.go:24:  59: goja._op_instanceof({})
> 	compiler_test.go:24:  60: goja.jne(6)
> 	compiler_test.go:24:  61: goja.resolveVar1(errorThrown)
> 	compiler_test.go:24:  62: goja.loadVal(1)
> 	compiler_test.go:24:  63: goja._putValue({})
> 	compiler_test.go:24:  64: goja._pop({})
> 	compiler_test.go:24:  65: goja.jump(3)
> 	compiler_test.go:24:  66: goja.getLocal(0)
> 	compiler_test.go:24:  67: goja._throw({})
> 	compiler_test.go:24:  68: goja._halt({})
> 	compiler_test.go:24:  69: goja.getVar1(f1Called)
> 	compiler_test.go:24:  70: goja.jneq1(4)
> 	compiler_test.go:24:  71: goja._pop({})
> 	compiler_test.go:24:  72: goja.getVar1(f2Called)
> 	compiler_test.go:24:  73: goja._not({})
> 	compiler_test.go:24:  74: goja.jneq1(3)
> 	compiler_test.go:24:  75: goja._pop({})
> 	compiler_test.go:24:  76: goja.getVar1(f3Called)
> 	compiler_test.go:24:  77: goja.jneq1(3)
> 	compiler_test.go:24:  78: goja._pop({})
> 	compiler_test.go:24:  79: goja.getVar1(errorThrown)
> 	compiler_test.go:24:  80: goja.jneq1(5)
> 	compiler_test.go:24:  81: goja._pop({})
> 	compiler_test.go:24:  82: goja.getVar1(a)
> 	compiler_test.go:24:  83: goja.getVar1(undefined)
> 	compiler_test.go:24:  84: goja._op_strict_eq({})
> 	compiler_test.go:24:  85: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestJumpOutOfReturn
> --- PASS: TestJumpOutOfReturn (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4203021e0 f 0 false 2 64})
> 	compiler_test.go:24: values: [0 true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 0})
> 	compiler_test.go:24: > 1: goja.loadStack(1)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._op_eq({})
> 	compiler_test.go:24: > 4: goja.jne(3)
> 	compiler_test.go:24: > 5: goja.loadVal(1)
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24: > 7: goja._loadUndef({})
> 	compiler_test.go:24: > 8: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSwitchJumpOutOfReturn
> --- PASS: TestSwitchJumpOutOfReturn (0.00s)
> 	compiler_test.go:24: values: [0]
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.resolveVar1(f)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc420302840 f 1 false 2 82})
> 	compiler_test.go:24: values: [0]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja._dup({})
> 	compiler_test.go:24: > 3: goja.loadVal(0)
> 	compiler_test.go:24: > 4: goja._op_strict_eq({})
> 	compiler_test.go:24: > 5: goja.jne(3)
> 	compiler_test.go:24: > 6: goja._pop({})
> 	compiler_test.go:24: > 7: goja.jump(3)
> 	compiler_test.go:24: > 8: goja._pop({})
> 	compiler_test.go:24: > 9: goja.jump(2)
> 	compiler_test.go:24: > 10: goja.jump(3)
> 	compiler_test.go:24: > 11: goja.loadStack(-1)
> 	compiler_test.go:24: > 12: goja._retStashless({})
> 	compiler_test.go:24: > 13: goja._loadUndef({})
> 	compiler_test.go:24: > 14: goja._retStashless({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(f)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.call(1)
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSetToReadOnlyPropertyStrictBracket
> --- PASS: TestSetToReadOnlyPropertyStrictBracket (0.00s)
> 	compiler_test.go:24: values: [false test 42 true 43]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1Strict(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(Object)
> 	compiler_test.go:24:  11: goja._dup({})
> 	compiler_test.go:24:  12: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  13: goja.getVar1(o)
> 	compiler_test.go:24:  14: goja.loadVal(1)
> 	compiler_test.go:24:  15: goja._newObject({})
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja.setProp1(value)
> 	compiler_test.go:24:  18: goja.loadVal(3)
> 	compiler_test.go:24:  19: goja.setProp1(configurable)
> 	compiler_test.go:24:  20: goja.call(3)
> 	compiler_test.go:24:  21: goja._pop({})
> 	compiler_test.go:24:  22: goja.try({9 0 true})
> 	compiler_test.go:24:  23: goja.getVar1(o)
> 	compiler_test.go:24:  24: goja.loadVal(1)
> 	compiler_test.go:24:  25: goja.loadVal(4)
> 	compiler_test.go:24:  26: goja._setElemStrict({})
> 	compiler_test.go:24:  27: goja._pop({})
> 	compiler_test.go:24:  28: goja._halt({})
> 	compiler_test.go:24:  29: goja.jump(10)
> 	compiler_test.go:24:  30: <nil>(<nil>)
> 	compiler_test.go:24:  31: goja.enterCatch(e)
> 	compiler_test.go:24:  32: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  33: goja.getLocal(0)
> 	compiler_test.go:24:  34: goja.getVar1(TypeError)
> 	compiler_test.go:24:  35: goja._op_instanceof({})
> 	compiler_test.go:24:  36: goja._putValue({})
> 	compiler_test.go:24:  37: goja._pop({})
> 	compiler_test.go:24:  38: goja._halt({})
> 	compiler_test.go:24:  39: goja.getVar1(thrown)
> 	compiler_test.go:24:  40: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestSetToReadOnlyPropertyStrictDot
> --- PASS: TestSetToReadOnlyPropertyStrictDot (0.00s)
> 	compiler_test.go:24: values: [false test 42 true 43]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1Strict(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(Object)
> 	compiler_test.go:24:  11: goja._dup({})
> 	compiler_test.go:24:  12: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  13: goja.getVar1(o)
> 	compiler_test.go:24:  14: goja.loadVal(1)
> 	compiler_test.go:24:  15: goja._newObject({})
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja.setProp1(value)
> 	compiler_test.go:24:  18: goja.loadVal(3)
> 	compiler_test.go:24:  19: goja.setProp1(configurable)
> 	compiler_test.go:24:  20: goja.call(3)
> 	compiler_test.go:24:  21: goja._pop({})
> 	compiler_test.go:24:  22: goja.try({8 0 true})
> 	compiler_test.go:24:  23: goja.getVar1(o)
> 	compiler_test.go:24:  24: goja.loadVal(4)
> 	compiler_test.go:24:  25: goja.setPropStrict(test)
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:24:  28: goja.jump(10)
> 	compiler_test.go:24:  29: <nil>(<nil>)
> 	compiler_test.go:24:  30: goja.enterCatch(e)
> 	compiler_test.go:24:  31: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  32: goja.getLocal(0)
> 	compiler_test.go:24:  33: goja.getVar1(TypeError)
> 	compiler_test.go:24:  34: goja._op_instanceof({})
> 	compiler_test.go:24:  35: goja._putValue({})
> 	compiler_test.go:24:  36: goja._pop({})
> 	compiler_test.go:24:  37: goja._halt({})
> 	compiler_test.go:24:  38: goja.getVar1(thrown)
> 	compiler_test.go:24:  39: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestDeleteNonConfigurablePropertyStrictBracket
> --- PASS: TestDeleteNonConfigurablePropertyStrictBracket (0.00s)
> 	compiler_test.go:24: values: [false test 42]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1Strict(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(Object)
> 	compiler_test.go:24:  11: goja._dup({})
> 	compiler_test.go:24:  12: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  13: goja.getVar1(o)
> 	compiler_test.go:24:  14: goja.loadVal(1)
> 	compiler_test.go:24:  15: goja._newObject({})
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja.setProp1(value)
> 	compiler_test.go:24:  18: goja.call(3)
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.try({8 0 true})
> 	compiler_test.go:24:  21: goja.getVar1(o)
> 	compiler_test.go:24:  22: goja.loadVal(1)
> 	compiler_test.go:24:  23: goja._deleteElemStrict({})
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja._halt({})
> 	compiler_test.go:24:  26: goja.jump(10)
> 	compiler_test.go:24:  27: <nil>(<nil>)
> 	compiler_test.go:24:  28: goja.enterCatch(e)
> 	compiler_test.go:24:  29: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  30: goja.getLocal(0)
> 	compiler_test.go:24:  31: goja.getVar1(TypeError)
> 	compiler_test.go:24:  32: goja._op_instanceof({})
> 	compiler_test.go:24:  33: goja._putValue({})
> 	compiler_test.go:24:  34: goja._pop({})
> 	compiler_test.go:24:  35: goja._halt({})
> 	compiler_test.go:24:  36: goja.getVar1(thrown)
> 	compiler_test.go:24:  37: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestDeleteNonConfigurablePropertyStrictDot
> --- PASS: TestDeleteNonConfigurablePropertyStrictDot (0.00s)
> 	compiler_test.go:24: values: [false test 42]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1Strict(o)
> 	compiler_test.go:24:  3: goja._newObject({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(Object)
> 	compiler_test.go:24:  11: goja._dup({})
> 	compiler_test.go:24:  12: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  13: goja.getVar1(o)
> 	compiler_test.go:24:  14: goja.loadVal(1)
> 	compiler_test.go:24:  15: goja._newObject({})
> 	compiler_test.go:24:  16: goja.loadVal(2)
> 	compiler_test.go:24:  17: goja.setProp1(value)
> 	compiler_test.go:24:  18: goja.call(3)
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.try({7 0 true})
> 	compiler_test.go:24:  21: goja.getVar1(o)
> 	compiler_test.go:24:  22: goja.deletePropStrict(test)
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja._halt({})
> 	compiler_test.go:24:  25: goja.jump(10)
> 	compiler_test.go:24:  26: <nil>(<nil>)
> 	compiler_test.go:24:  27: goja.enterCatch(e)
> 	compiler_test.go:24:  28: goja.resolveVar1Strict(thrown)
> 	compiler_test.go:24:  29: goja.getLocal(0)
> 	compiler_test.go:24:  30: goja.getVar1(TypeError)
> 	compiler_test.go:24:  31: goja._op_instanceof({})
> 	compiler_test.go:24:  32: goja._putValue({})
> 	compiler_test.go:24:  33: goja._pop({})
> 	compiler_test.go:24:  34: goja._halt({})
> 	compiler_test.go:24:  35: goja.getVar1(thrown)
> 	compiler_test.go:24:  36: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestCompound1
> --- PASS: TestCompound1 (0.00s)
> 	compiler_test.go:24: values: [0 1 2]
> 	compiler_test.go:24:  0: goja.bindName(x)
> 	compiler_test.go:24:  1: goja.bindName(scope)
> 	compiler_test.go:24:  2: goja.bindName(f)
> 	compiler_test.go:24:  3: goja.resolveVar1(x)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(scope)
> 	compiler_test.go:24:  8: goja._newObject({})
> 	compiler_test.go:24:  9: goja.loadVal(1)
> 	compiler_test.go:24:  10: goja.setProp1(x)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.getVar1(scope)
> 	compiler_test.go:24:  14: goja._enterWith({})
> 	compiler_test.go:24:  15: goja.resolveVar1(f)
> 	compiler_test.go:24:  16: *goja.newFunc(&{0xc420303800  0 false 76 132})
> 	compiler_test.go:24: values: [2]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.resolveVar1(x)
> 	compiler_test.go:24: > 2: goja._getValue({})
> 	compiler_test.go:24: > 3: goja.getVar1(scope)
> 	compiler_test.go:24: > 4: goja.deleteProp(x)
> 	compiler_test.go:24: > 5: goja._pop({})
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._mul({})
> 	compiler_test.go:24: > 8: goja._putValue({})
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja._loadUndef({})
> 	compiler_test.go:24: > 11: goja._retStashless({})
> 	compiler_test.go:24:  17: goja._putValue({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja._leaveWith({})
> 	compiler_test.go:24:  20: goja._loadUndef({})
> 	compiler_test.go:24:  21: goja.getVar1Callee(f)
> 	compiler_test.go:24:  22: goja.call(0)
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.getVar1(scope)
> 	compiler_test.go:24:  25: goja.getProp(x)
> 	compiler_test.go:24:  26: goja.loadVal(2)
> 	compiler_test.go:24:  27: goja._op_strict_eq({})
> 	compiler_test.go:24:  28: goja.jneq1(5)
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja.getVar1(x)
> 	compiler_test.go:24:  31: goja.loadVal(0)
> 	compiler_test.go:24:  32: goja._op_strict_eq({})
> 	compiler_test.go:24:  33: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestCompound2
> --- PASS: TestCompound2 (0.00s)
> 	compiler_test.go:24: values: [x 1]
> 	compiler_test.go:24:  0: goja.bindName(x)
> 	compiler_test.go:24:  1: goja.resolveVar1(x)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.resolveVar1(x)
> 	compiler_test.go:24:  6: goja._loadUndef({})
> 	compiler_test.go:24:  7: goja._getValue({})
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._xor({})
> 	compiler_test.go:24:  10: goja.rdupN(1)
> 	compiler_test.go:24:  11: goja._putValue({})
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestDeleteArguments
> --- PASS: TestDeleteArguments (0.00s)
> === RUN   TestReturnUndefined
> --- PASS: TestReturnUndefined (0.00s)
> 	compiler_test.go:24: values: [false]
> 	compiler_test.go:24:  0: goja.bindName(f)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1(f)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc420303f20 f 0 false 2 35})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.getVar1(x)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.try({8 0 true})
> 	compiler_test.go:24:  11: goja._loadUndef({})
> 	compiler_test.go:24:  12: goja.getVar1Callee(f)
> 	compiler_test.go:24:  13: goja.call(0)
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja._halt({})
> 	compiler_test.go:24:  16: goja.jump(10)
> 	compiler_test.go:24:  17: <nil>(<nil>)
> 	compiler_test.go:24:  18: goja.enterCatch(e)
> 	compiler_test.go:24:  19: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  20: goja.getLocal(0)
> 	compiler_test.go:24:  21: goja.getVar1(ReferenceError)
> 	compiler_test.go:24:  22: goja._op_instanceof({})
> 	compiler_test.go:24:  23: goja._putValue({})
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja._halt({})
> 	compiler_test.go:24:  26: goja.getVar1(thrown)
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestForBreak
> --- PASS: TestForBreak (0.00s)
> 	compiler_test.go:24: values: [5 for(count=0;;) {if (count===supreme)break;else count++; } undefined #1: __evaluated === 4. Actual:  __evaluated ===]
> 	compiler_test.go:24:  0: goja.bindName(supreme)
> 	compiler_test.go:24:  1: goja.bindName(count)
> 	compiler_test.go:24:  2: goja.bindName(__evaluated)
> 	compiler_test.go:24:  3: goja.resolveVar1(supreme)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(__evaluated)
> 	compiler_test.go:24:  8: goja._loadUndef({})
> 	compiler_test.go:24:  9: goja.getVar1Callee(eval)
> 	compiler_test.go:24:  10: goja.loadVal(1)
> 	compiler_test.go:24:  11: goja.callEval(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(__evaluated)
> 	compiler_test.go:24:  15: goja.loadVal(2)
> 	compiler_test.go:24:  16: goja._op_strict_neq({})
> 	compiler_test.go:24:  17: goja.jne(7)
> 	compiler_test.go:24:  18: goja.getVar1(Error)
> 	compiler_test.go:24:  19: goja.loadVal(3)
> 	compiler_test.go:24:  20: goja.getVar1(__evaluated)
> 	compiler_test.go:24:  21: goja._add({})
> 	compiler_test.go:24:  22: goja._new(1)
> 	compiler_test.go:24:  23: goja._throw({})
> 	compiler_test.go:24:  24: goja._loadUndef({})
> 	compiler_test.go:24:  25: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestLargeNumberLiteral
> --- PASS: TestLargeNumberLiteral (0.00s)
> 	compiler_test.go:24: values: [9.671406556917033e+24]
> 	compiler_test.go:24:  0: goja.bindName(x)
> 	compiler_test.go:24:  1: goja.resolveVar1(x)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(x)
> 	compiler_test.go:24:  6: goja._dup({})
> 	compiler_test.go:24:  7: goja.getPropCallee(toString)
> 	compiler_test.go:24:  8: goja.call(0)
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestIncDelete
> --- PASS: TestIncDelete (0.00s)
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.resolveVar1(o)
> 	compiler_test.go:24:  2: goja._newObject({})
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.setProp1(x)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.getVar1(o)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getProp(x)
> 	compiler_test.go:24:  10: goja.getVar1(o)
> 	compiler_test.go:24:  11: goja.deleteProp(x)
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.loadVal(0)
> 	compiler_test.go:24:  14: goja._add({})
> 	compiler_test.go:24:  15: goja.setProp(x)
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja.getVar1(o)
> 	compiler_test.go:24:  18: goja.getProp(x)
> 	compiler_test.go:24:  19: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestCompoundAssignRefError
> --- PASS: TestCompoundAssignRefError (0.00s)
> 	compiler_test.go:24: values: [false 1 true]
> 	compiler_test.go:24:  0: goja.bindName(thrown)
> 	compiler_test.go:24:  1: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.try({10 0 true})
> 	compiler_test.go:24:  6: goja.resolveVar1(a)
> 	compiler_test.go:24:  7: goja._getValue({})
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._mul({})
> 	compiler_test.go:24:  10: goja._putValue({})
> 	compiler_test.go:24:  11: goja._pop({})
> 	compiler_test.go:24:  12: goja._halt({})
> 	compiler_test.go:24:  13: goja.jump(15)
> 	compiler_test.go:24:  14: <nil>(<nil>)
> 	compiler_test.go:24:  15: goja.enterCatch(e)
> 	compiler_test.go:24:  16: goja.getLocal(0)
> 	compiler_test.go:24:  17: goja.getVar1(ReferenceError)
> 	compiler_test.go:24:  18: goja._op_instanceof({})
> 	compiler_test.go:24:  19: goja.jne(6)
> 	compiler_test.go:24:  20: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  21: goja.loadVal(2)
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.jump(3)
> 	compiler_test.go:24:  25: goja.getLocal(0)
> 	compiler_test.go:24:  26: goja._throw({})
> 	compiler_test.go:24:  27: goja._halt({})
> 	compiler_test.go:24:  28: goja.getVar1(thrown)
> 	compiler_test.go:24:  29: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestObjectLiteral__Proto__
> --- PASS: TestObjectLiteral__Proto__ (0.00s)
> 	compiler_test.go:24: values: [null 42]
> 	compiler_test.go:24:  0: goja.bindName(o)
> 	compiler_test.go:24:  1: goja.resolveVar1(o)
> 	compiler_test.go:24:  2: goja._newObject({})
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._setProto({})
> 	compiler_test.go:24:  5: goja.loadVal(1)
> 	compiler_test.go:24:  6: goja.setProp1(test)
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.getVar1(Object)
> 	compiler_test.go:24:  10: goja._dup({})
> 	compiler_test.go:24:  11: goja.getPropCallee(getPrototypeOf)
> 	compiler_test.go:24:  12: goja.getVar1(o)
> 	compiler_test.go:24:  13: goja.call(1)
> 	compiler_test.go:24:  14: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestDateUTC
> --- PASS: TestDateUTC (0.00s)
> 	compiler_test.go:24: 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_test.go:24:  0: goja.bindName($ERROR)
> 	compiler_test.go:24:  1: goja.bindName(assert)
> 	compiler_test.go:24:  2: goja.resolveVar1($ERROR)
> 	compiler_test.go:24:  3: *goja.newFunc(&{0xc420081320 $ERROR 1 false 1 56})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.getVar1(Error)
> 	compiler_test.go:24: > 2: goja.loadStack(-1)
> 	compiler_test.go:24: > 3: goja._new(1)
> 	compiler_test.go:24: > 4: goja._throw({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(assert)
> 	compiler_test.go:24:  7: *goja.newFunc(&{0xc420081380 assert 2 false 58 277})
> 	compiler_test.go:24: values: [true Expected true but got ]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(3)
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24: > 7: goja.loadStack(-2)
> 	compiler_test.go:24: > 8: goja.getVar1(undefined)
> 	compiler_test.go:24: > 9: goja._op_strict_eq({})
> 	compiler_test.go:24: > 10: goja.jne(9)
> 	compiler_test.go:24: > 11: goja.loadVal(1)
> 	compiler_test.go:24: > 12: goja._loadUndef({})
> 	compiler_test.go:24: > 13: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 14: goja.loadStack(-1)
> 	compiler_test.go:24: > 15: goja.call(1)
> 	compiler_test.go:24: > 16: goja._add({})
> 	compiler_test.go:24: > 17: goja.storeStack(-2)
> 	compiler_test.go:24: > 18: goja._pop({})
> 	compiler_test.go:24: > 19: goja._loadUndef({})
> 	compiler_test.go:24: > 20: goja.getVar1Callee($ERROR)
> 	compiler_test.go:24: > 21: goja.loadStack(-2)
> 	compiler_test.go:24: > 22: goja.call(1)
> 	compiler_test.go:24: > 23: goja._pop({})
> 	compiler_test.go:24: > 24: goja._loadUndef({})
> 	compiler_test.go:24: > 25: goja._retStashless({})
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(assert)
> 	compiler_test.go:24:  11: *goja.newFunc(&{0xc4200813e0  2 false 301 478})
> 	compiler_test.go:24: values: [0 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.loadStack(-2)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(14)
> 	compiler_test.go:24: > 5: goja.loadStack(-1)
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._op_strict_neq({})
> 	compiler_test.go:24: > 8: goja.jeq1(9)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.loadVal(1)
> 	compiler_test.go:24: > 11: goja.loadStack(-1)
> 	compiler_test.go:24: > 12: goja._div({})
> 	compiler_test.go:24: > 13: goja.loadVal(1)
> 	compiler_test.go:24: > 14: goja.loadStack(-2)
> 	compiler_test.go:24: > 15: goja._div({})
> 	compiler_test.go:24: > 16: goja._op_strict_eq({})
> 	compiler_test.go:24: > 17: goja._retStashless({})
> 	compiler_test.go:24: > 18: goja.loadStack(-1)
> 	compiler_test.go:24: > 19: goja.loadStack(-1)
> 	compiler_test.go:24: > 20: goja._op_strict_neq({})
> 	compiler_test.go:24: > 21: goja.jneq1(5)
> 	compiler_test.go:24: > 22: goja._pop({})
> 	compiler_test.go:24: > 23: goja.loadStack(-2)
> 	compiler_test.go:24: > 24: goja.loadStack(-2)
> 	compiler_test.go:24: > 25: goja._op_strict_neq({})
> 	compiler_test.go:24: > 26: goja._retStashless({})
> 	compiler_test.go:24:  12: goja.setProp(_isSameValue)
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(assert)
> 	compiler_test.go:24:  15: *goja.newFunc(&{0xc420081440  3 false 500 839})
> 	compiler_test.go:24: values: [   Expected SameValue(« », « ») to be true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 3})
> 	compiler_test.go:24: > 1: goja.getVar1(assert)
> 	compiler_test.go:24: > 2: goja._dup({})
> 	compiler_test.go:24: > 3: goja.getPropCallee(_isSameValue)
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja.loadStack(-2)
> 	compiler_test.go:24: > 6: goja.call(2)
> 	compiler_test.go:24: > 7: goja.jne(3)
> 	compiler_test.go:24: > 8: goja._loadUndef({})
> 	compiler_test.go:24: > 9: goja._retStashless({})
> 	compiler_test.go:24: > 10: goja.loadStack(-3)
> 	compiler_test.go:24: > 11: goja.getVar1(undefined)
> 	compiler_test.go:24: > 12: goja._op_strict_eq({})
> 	compiler_test.go:24: > 13: goja.jne(5)
> 	compiler_test.go:24: > 14: goja.loadVal(0)
> 	compiler_test.go:24: > 15: goja.storeStack(-3)
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja.jump(6)
> 	compiler_test.go:24: > 18: goja.loadStack(-3)
> 	compiler_test.go:24: > 19: goja.loadVal(1)
> 	compiler_test.go:24: > 20: goja._add({})
> 	compiler_test.go:24: > 21: goja.storeStack(-3)
> 	compiler_test.go:24: > 22: goja._pop({})
> 	compiler_test.go:24: > 23: goja.loadStack(-3)
> 	compiler_test.go:24: > 24: goja.loadVal(2)
> 	compiler_test.go:24: > 25: goja._loadUndef({})
> 	compiler_test.go:24: > 26: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 27: goja.loadStack(-1)
> 	compiler_test.go:24: > 28: goja.call(1)
> 	compiler_test.go:24: > 29: goja._add({})
> 	compiler_test.go:24: > 30: goja.loadVal(3)
> 	compiler_test.go:24: > 31: goja._add({})
> 	compiler_test.go:24: > 32: goja._loadUndef({})
> 	compiler_test.go:24: > 33: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 34: goja.loadStack(-2)
> 	compiler_test.go:24: > 35: goja.call(1)
> 	compiler_test.go:24: > 36: goja._add({})
> 	compiler_test.go:24: > 37: goja.loadVal(4)
> 	compiler_test.go:24: > 38: goja._add({})
> 	compiler_test.go:24: > 39: goja._add({})
> 	compiler_test.go:24: > 40: goja.storeStack(-3)
> 	compiler_test.go:24: > 41: goja._pop({})
> 	compiler_test.go:24: > 42: goja._loadUndef({})
> 	compiler_test.go:24: > 43: goja.getVar1Callee($ERROR)
> 	compiler_test.go:24: > 44: goja.loadStack(-3)
> 	compiler_test.go:24: > 45: goja.call(1)
> 	compiler_test.go:24: > 46: goja._pop({})
> 	compiler_test.go:24: > 47: goja._loadUndef({})
> 	compiler_test.go:24: > 48: goja._retStashless({})
> 	compiler_test.go:24:  16: goja.setProp(sameValue)
> 	compiler_test.go:24:  17: goja._pop({})
> 	compiler_test.go:24:  18: goja.getVar1(assert)
> 	compiler_test.go:24:  19: goja._dup({})
> 	compiler_test.go:24:  20: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  21: goja.getVar1(Date)
> 	compiler_test.go:24:  22: goja._dup({})
> 	compiler_test.go:24:  23: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  24: goja.loadVal(0)
> 	compiler_test.go:24:  25: goja.loadVal(1)
> 	compiler_test.go:24:  26: goja.call(2)
> 	compiler_test.go:24:  27: goja.loadVal(1)
> 	compiler_test.go:24:  28: goja.loadVal(2)
> 	compiler_test.go:24:  29: goja.call(3)
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.getVar1(assert)
> 	compiler_test.go:24:  32: goja._dup({})
> 	compiler_test.go:24:  33: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  34: goja.getVar1(Date)
> 	compiler_test.go:24:  35: goja._dup({})
> 	compiler_test.go:24:  36: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  37: goja.loadVal(3)
> 	compiler_test.go:24:  38: goja.loadVal(1)
> 	compiler_test.go:24:  39: goja.call(2)
> 	compiler_test.go:24:  40: goja.loadVal(4)
> 	compiler_test.go:24:  41: goja.loadVal(5)
> 	compiler_test.go:24:  42: goja.call(3)
> 	compiler_test.go:24:  43: goja._pop({})
> 	compiler_test.go:24:  44: goja.getVar1(assert)
> 	compiler_test.go:24:  45: goja._dup({})
> 	compiler_test.go:24:  46: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  47: goja.getVar1(Date)
> 	compiler_test.go:24:  48: goja._dup({})
> 	compiler_test.go:24:  49: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  50: goja.loadVal(3)
> 	compiler_test.go:24:  51: goja.loadVal(6)
> 	compiler_test.go:24:  52: goja.call(2)
> 	compiler_test.go:24:  53: goja.loadVal(7)
> 	compiler_test.go:24:  54: goja.loadVal(8)
> 	compiler_test.go:24:  55: goja.call(3)
> 	compiler_test.go:24:  56: goja._pop({})
> 	compiler_test.go:24:  57: goja.getVar1(assert)
> 	compiler_test.go:24:  58: goja._dup({})
> 	compiler_test.go:24:  59: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  60: goja.getVar1(Date)
> 	compiler_test.go:24:  61: goja._dup({})
> 	compiler_test.go:24:  62: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  63: goja.loadVal(3)
> 	compiler_test.go:24:  64: goja.loadVal(6)
> 	compiler_test.go:24:  65: goja.loadVal(9)
> 	compiler_test.go:24:  66: goja.call(3)
> 	compiler_test.go:24:  67: goja.loadVal(7)
> 	compiler_test.go:24:  68: goja.loadVal(10)
> 	compiler_test.go:24:  69: goja.call(3)
> 	compiler_test.go:24:  70: goja._pop({})
> 	compiler_test.go:24:  71: goja.getVar1(assert)
> 	compiler_test.go:24:  72: goja._dup({})
> 	compiler_test.go:24:  73: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  74: goja.getVar1(Date)
> 	compiler_test.go:24:  75: goja._dup({})
> 	compiler_test.go:24:  76: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  77: goja.loadVal(3)
> 	compiler_test.go:24:  78: goja.loadVal(6)
> 	compiler_test.go:24:  79: goja.loadVal(11)
> 	compiler_test.go:24:  80: goja.call(3)
> 	compiler_test.go:24:  81: goja.loadVal(12)
> 	compiler_test.go:24:  82: goja.loadVal(13)
> 	compiler_test.go:24:  83: goja.call(3)
> 	compiler_test.go:24:  84: goja._pop({})
> 	compiler_test.go:24:  85: goja.getVar1(assert)
> 	compiler_test.go:24:  86: goja._dup({})
> 	compiler_test.go:24:  87: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  88: goja.getVar1(Date)
> 	compiler_test.go:24:  89: goja._dup({})
> 	compiler_test.go:24:  90: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  91: goja.loadVal(3)
> 	compiler_test.go:24:  92: goja.loadVal(6)
> 	compiler_test.go:24:  93: goja.loadVal(11)
> 	compiler_test.go:24:  94: goja.loadVal(1)
> 	compiler_test.go:24:  95: goja.call(4)
> 	compiler_test.go:24:  96: goja.loadVal(12)
> 	compiler_test.go:24:  97: goja.loadVal(14)
> 	compiler_test.go:24:  98: goja.call(3)
> 	compiler_test.go:24:  99: goja._pop({})
> 	compiler_test.go:24:  100: goja.getVar1(assert)
> 	compiler_test.go:24:  101: goja._dup({})
> 	compiler_test.go:24:  102: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  103: goja.getVar1(Date)
> 	compiler_test.go:24:  104: goja._dup({})
> 	compiler_test.go:24:  105: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  106: goja.loadVal(3)
> 	compiler_test.go:24:  107: goja.loadVal(6)
> 	compiler_test.go:24:  108: goja.loadVal(11)
> 	compiler_test.go:24:  109: goja.loadVal(15)
> 	compiler_test.go:24:  110: goja.call(4)
> 	compiler_test.go:24:  111: goja.loadVal(16)
> 	compiler_test.go:24:  112: goja.loadVal(17)
> 	compiler_test.go:24:  113: goja.call(3)
> 	compiler_test.go:24:  114: goja._pop({})
> 	compiler_test.go:24:  115: goja.getVar1(assert)
> 	compiler_test.go:24:  116: goja._dup({})
> 	compiler_test.go:24:  117: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  118: goja.getVar1(Date)
> 	compiler_test.go:24:  119: goja._dup({})
> 	compiler_test.go:24:  120: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  121: goja.loadVal(3)
> 	compiler_test.go:24:  122: goja.loadVal(6)
> 	compiler_test.go:24:  123: goja.loadVal(11)
> 	compiler_test.go:24:  124: goja.loadVal(15)
> 	compiler_test.go:24:  125: goja.loadVal(1)
> 	compiler_test.go:24:  126: goja.call(5)
> 	compiler_test.go:24:  127: goja.loadVal(16)
> 	compiler_test.go:24:  128: goja.loadVal(18)
> 	compiler_test.go:24:  129: goja.call(3)
> 	compiler_test.go:24:  130: goja._pop({})
> 	compiler_test.go:24:  131: goja.getVar1(assert)
> 	compiler_test.go:24:  132: goja._dup({})
> 	compiler_test.go:24:  133: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  134: goja.getVar1(Date)
> 	compiler_test.go:24:  135: goja._dup({})
> 	compiler_test.go:24:  136: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  137: goja.loadVal(3)
> 	compiler_test.go:24:  138: goja.loadVal(6)
> 	compiler_test.go:24:  139: goja.loadVal(11)
> 	compiler_test.go:24:  140: goja.loadVal(15)
> 	compiler_test.go:24:  141: goja.loadVal(19)
> 	compiler_test.go:24:  142: goja.call(5)
> 	compiler_test.go:24:  143: goja.loadVal(20)
> 	compiler_test.go:24:  144: goja.loadVal(21)
> 	compiler_test.go:24:  145: goja.call(3)
> 	compiler_test.go:24:  146: goja._pop({})
> 	compiler_test.go:24:  147: goja.getVar1(assert)
> 	compiler_test.go:24:  148: goja._dup({})
> 	compiler_test.go:24:  149: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  150: goja.getVar1(Date)
> 	compiler_test.go:24:  151: goja._dup({})
> 	compiler_test.go:24:  152: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  153: goja.loadVal(3)
> 	compiler_test.go:24:  154: goja.loadVal(6)
> 	compiler_test.go:24:  155: goja.loadVal(11)
> 	compiler_test.go:24:  156: goja.loadVal(15)
> 	compiler_test.go:24:  157: goja.loadVal(19)
> 	compiler_test.go:24:  158: goja.loadVal(1)
> 	compiler_test.go:24:  159: goja.call(6)
> 	compiler_test.go:24:  160: goja.loadVal(20)
> 	compiler_test.go:24:  161: goja.loadVal(22)
> 	compiler_test.go:24:  162: goja.call(3)
> 	compiler_test.go:24:  163: goja._pop({})
> 	compiler_test.go:24:  164: goja.getVar1(assert)
> 	compiler_test.go:24:  165: goja._dup({})
> 	compiler_test.go:24:  166: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  167: goja.getVar1(Date)
> 	compiler_test.go:24:  168: goja._dup({})
> 	compiler_test.go:24:  169: goja.getPropCallee(UTC)
> 	compiler_test.go:24:  170: goja.loadVal(3)
> 	compiler_test.go:24:  171: goja.loadVal(6)
> 	compiler_test.go:24:  172: goja.loadVal(11)
> 	compiler_test.go:24:  173: goja.loadVal(15)
> 	compiler_test.go:24:  174: goja.loadVal(19)
> 	compiler_test.go:24:  175: goja.loadVal(23)
> 	compiler_test.go:24:  176: goja.call(6)
> 	compiler_test.go:24:  177: goja.loadVal(24)
> 	compiler_test.go:24:  178: goja.loadVal(25)
> 	compiler_test.go:24:  179: goja.call(3)
> 	compiler_test.go:24:  180: goja._halt({})
> 	compiler_test.go:60: stack size: 12
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNewDate
> --- PASS: TestNewDate (0.00s)
> 	compiler_test.go:24: values: [2016-09-01T12:34:56Z 12]
> 	compiler_test.go:24:  0: goja.bindName(d1)
> 	compiler_test.go:24:  1: goja.resolveVar1(d1)
> 	compiler_test.go:24:  2: goja.getVar1(Date)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._new(1)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.getVar1(d1)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(getUTCHours)
> 	compiler_test.go:24:  10: goja.call(0)
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja._op_strict_eq({})
> 	compiler_test.go:24:  13: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNewDate0
> --- PASS: TestNewDate0 (0.00s)
> 	compiler_test.go:24: values: [0]
> 	compiler_test.go:24:  0: goja.getVar1(Date)
> 	compiler_test.go:24:  1: goja.loadVal(0)
> 	compiler_test.go:24:  2: goja._new(1)
> 	compiler_test.go:24:  3: goja._dup({})
> 	compiler_test.go:24:  4: goja.getPropCallee(toUTCString)
> 	compiler_test.go:24:  5: goja.call(0)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSetHour
> --- FAIL: TestSetHour (0.00s)
> 	date_test.go:109: open /usr/lib/go-1.8/lib/time/zoneinfo.zip: no such file or directory
> === RUN   TestSetMinute
> --- PASS: TestSetMinute (0.00s)
> 	compiler_test.go:24: values: [2016 8 1 12 23 45 6 53 55 52 22 13]
> 	compiler_test.go:24:  0: goja.bindName($ERROR)
> 	compiler_test.go:24:  1: goja.bindName(assert)
> 	compiler_test.go:24:  2: goja.bindName(d)
> 	compiler_test.go:24:  3: goja.resolveVar1($ERROR)
> 	compiler_test.go:24:  4: *goja.newFunc(&{0xc420081ec0 $ERROR 1 false 1 56})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.getVar1(Error)
> 	compiler_test.go:24: > 2: goja.loadStack(-1)
> 	compiler_test.go:24: > 3: goja._new(1)
> 	compiler_test.go:24: > 4: goja._throw({})
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(assert)
> 	compiler_test.go:24:  8: *goja.newFunc(&{0xc420081f20 assert 2 false 58 277})
> 	compiler_test.go:24: values: [true Expected true but got ]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.loadVal(0)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(3)
> 	compiler_test.go:24: > 5: goja._loadUndef({})
> 	compiler_test.go:24: > 6: goja._retStashless({})
> 	compiler_test.go:24: > 7: goja.loadStack(-2)
> 	compiler_test.go:24: > 8: goja.getVar1(undefined)
> 	compiler_test.go:24: > 9: goja._op_strict_eq({})
> 	compiler_test.go:24: > 10: goja.jne(9)
> 	compiler_test.go:24: > 11: goja.loadVal(1)
> 	compiler_test.go:24: > 12: goja._loadUndef({})
> 	compiler_test.go:24: > 13: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 14: goja.loadStack(-1)
> 	compiler_test.go:24: > 15: goja.call(1)
> 	compiler_test.go:24: > 16: goja._add({})
> 	compiler_test.go:24: > 17: goja.storeStack(-2)
> 	compiler_test.go:24: > 18: goja._pop({})
> 	compiler_test.go:24: > 19: goja._loadUndef({})
> 	compiler_test.go:24: > 20: goja.getVar1Callee($ERROR)
> 	compiler_test.go:24: > 21: goja.loadStack(-2)
> 	compiler_test.go:24: > 22: goja.call(1)
> 	compiler_test.go:24: > 23: goja._pop({})
> 	compiler_test.go:24: > 24: goja._loadUndef({})
> 	compiler_test.go:24: > 25: goja._retStashless({})
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.getVar1(assert)
> 	compiler_test.go:24:  12: *goja.newFunc(&{0xc420081f80  2 false 301 478})
> 	compiler_test.go:24: values: [0 1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-1)
> 	compiler_test.go:24: > 2: goja.loadStack(-2)
> 	compiler_test.go:24: > 3: goja._op_strict_eq({})
> 	compiler_test.go:24: > 4: goja.jne(14)
> 	compiler_test.go:24: > 5: goja.loadStack(-1)
> 	compiler_test.go:24: > 6: goja.loadVal(0)
> 	compiler_test.go:24: > 7: goja._op_strict_neq({})
> 	compiler_test.go:24: > 8: goja.jeq1(9)
> 	compiler_test.go:24: > 9: goja._pop({})
> 	compiler_test.go:24: > 10: goja.loadVal(1)
> 	compiler_test.go:24: > 11: goja.loadStack(-1)
> 	compiler_test.go:24: > 12: goja._div({})
> 	compiler_test.go:24: > 13: goja.loadVal(1)
> 	compiler_test.go:24: > 14: goja.loadStack(-2)
> 	compiler_test.go:24: > 15: goja._div({})
> 	compiler_test.go:24: > 16: goja._op_strict_eq({})
> 	compiler_test.go:24: > 17: goja._retStashless({})
> 	compiler_test.go:24: > 18: goja.loadStack(-1)
> 	compiler_test.go:24: > 19: goja.loadStack(-1)
> 	compiler_test.go:24: > 20: goja._op_strict_neq({})
> 	compiler_test.go:24: > 21: goja.jneq1(5)
> 	compiler_test.go:24: > 22: goja._pop({})
> 	compiler_test.go:24: > 23: goja.loadStack(-2)
> 	compiler_test.go:24: > 24: goja.loadStack(-2)
> 	compiler_test.go:24: > 25: goja._op_strict_neq({})
> 	compiler_test.go:24: > 26: goja._retStashless({})
> 	compiler_test.go:24:  13: goja.setProp(_isSameValue)
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja.getVar1(assert)
> 	compiler_test.go:24:  16: *goja.newFunc(&{0xc4200f2000  3 false 500 839})
> 	compiler_test.go:24: values: [   Expected SameValue(« », « ») to be true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 3})
> 	compiler_test.go:24: > 1: goja.getVar1(assert)
> 	compiler_test.go:24: > 2: goja._dup({})
> 	compiler_test.go:24: > 3: goja.getPropCallee(_isSameValue)
> 	compiler_test.go:24: > 4: goja.loadStack(-1)
> 	compiler_test.go:24: > 5: goja.loadStack(-2)
> 	compiler_test.go:24: > 6: goja.call(2)
> 	compiler_test.go:24: > 7: goja.jne(3)
> 	compiler_test.go:24: > 8: goja._loadUndef({})
> 	compiler_test.go:24: > 9: goja._retStashless({})
> 	compiler_test.go:24: > 10: goja.loadStack(-3)
> 	compiler_test.go:24: > 11: goja.getVar1(undefined)
> 	compiler_test.go:24: > 12: goja._op_strict_eq({})
> 	compiler_test.go:24: > 13: goja.jne(5)
> 	compiler_test.go:24: > 14: goja.loadVal(0)
> 	compiler_test.go:24: > 15: goja.storeStack(-3)
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja.jump(6)
> 	compiler_test.go:24: > 18: goja.loadStack(-3)
> 	compiler_test.go:24: > 19: goja.loadVal(1)
> 	compiler_test.go:24: > 20: goja._add({})
> 	compiler_test.go:24: > 21: goja.storeStack(-3)
> 	compiler_test.go:24: > 22: goja._pop({})
> 	compiler_test.go:24: > 23: goja.loadStack(-3)
> 	compiler_test.go:24: > 24: goja.loadVal(2)
> 	compiler_test.go:24: > 25: goja._loadUndef({})
> 	compiler_test.go:24: > 26: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 27: goja.loadStack(-1)
> 	compiler_test.go:24: > 28: goja.call(1)
> 	compiler_test.go:24: > 29: goja._add({})
> 	compiler_test.go:24: > 30: goja.loadVal(3)
> 	compiler_test.go:24: > 31: goja._add({})
> 	compiler_test.go:24: > 32: goja._loadUndef({})
> 	compiler_test.go:24: > 33: goja.getVar1Callee(String)
> 	compiler_test.go:24: > 34: goja.loadStack(-2)
> 	compiler_test.go:24: > 35: goja.call(1)
> 	compiler_test.go:24: > 36: goja._add({})
> 	compiler_test.go:24: > 37: goja.loadVal(4)
> 	compiler_test.go:24: > 38: goja._add({})
> 	compiler_test.go:24: > 39: goja._add({})
> 	compiler_test.go:24: > 40: goja.storeStack(-3)
> 	compiler_test.go:24: > 41: goja._pop({})
> 	compiler_test.go:24: > 42: goja._loadUndef({})
> 	compiler_test.go:24: > 43: goja.getVar1Callee($ERROR)
> 	compiler_test.go:24: > 44: goja.loadStack(-3)
> 	compiler_test.go:24: > 45: goja.call(1)
> 	compiler_test.go:24: > 46: goja._pop({})
> 	compiler_test.go:24: > 47: goja._loadUndef({})
> 	compiler_test.go:24: > 48: goja._retStashless({})
> 	compiler_test.go:24:  17: goja.setProp(sameValue)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.resolveVar1(d)
> 	compiler_test.go:24:  20: goja.getVar1(Date)
> 	compiler_test.go:24:  21: goja.loadVal(0)
> 	compiler_test.go:24:  22: goja.loadVal(1)
> 	compiler_test.go:24:  23: goja.loadVal(2)
> 	compiler_test.go:24:  24: goja.loadVal(3)
> 	compiler_test.go:24:  25: goja.loadVal(4)
> 	compiler_test.go:24:  26: goja.loadVal(5)
> 	compiler_test.go:24:  27: goja._new(6)
> 	compiler_test.go:24:  28: goja._putValue({})
> 	compiler_test.go:24:  29: goja._pop({})
> 	compiler_test.go:24:  30: goja.getVar1(assert)
> 	compiler_test.go:24:  31: goja._dup({})
> 	compiler_test.go:24:  32: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  33: goja.getVar1(d)
> 	compiler_test.go:24:  34: goja._dup({})
> 	compiler_test.go:24:  35: goja.getPropCallee(getHours)
> 	compiler_test.go:24:  36: goja.call(0)
> 	compiler_test.go:24:  37: goja.loadVal(3)
> 	compiler_test.go:24:  38: goja.call(2)
> 	compiler_test.go:24:  39: goja._pop({})
> 	compiler_test.go:24:  40: goja.getVar1(assert)
> 	compiler_test.go:24:  41: goja._dup({})
> 	compiler_test.go:24:  42: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  43: goja.getVar1(d)
> 	compiler_test.go:24:  44: goja._dup({})
> 	compiler_test.go:24:  45: goja.getPropCallee(getUTCHours)
> 	compiler_test.go:24:  46: goja.call(0)
> 	compiler_test.go:24:  47: goja.loadVal(6)
> 	compiler_test.go:24:  48: goja.call(2)
> 	compiler_test.go:24:  49: goja._pop({})
> 	compiler_test.go:24:  50: goja.getVar1(assert)
> 	compiler_test.go:24:  51: goja._dup({})
> 	compiler_test.go:24:  52: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  53: goja.getVar1(d)
> 	compiler_test.go:24:  54: goja._dup({})
> 	compiler_test.go:24:  55: goja.getPropCallee(getMinutes)
> 	compiler_test.go:24:  56: goja.call(0)
> 	compiler_test.go:24:  57: goja.loadVal(4)
> 	compiler_test.go:24:  58: goja.call(2)
> 	compiler_test.go:24:  59: goja._pop({})
> 	compiler_test.go:24:  60: goja.getVar1(assert)
> 	compiler_test.go:24:  61: goja._dup({})
> 	compiler_test.go:24:  62: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  63: goja.getVar1(d)
> 	compiler_test.go:24:  64: goja._dup({})
> 	compiler_test.go:24:  65: goja.getPropCallee(getUTCMinutes)
> 	compiler_test.go:24:  66: goja.call(0)
> 	compiler_test.go:24:  67: goja.loadVal(7)
> 	compiler_test.go:24:  68: goja.call(2)
> 	compiler_test.go:24:  69: goja._pop({})
> 	compiler_test.go:24:  70: goja.getVar1(d)
> 	compiler_test.go:24:  71: goja._dup({})
> 	compiler_test.go:24:  72: goja.getPropCallee(setMinutes)
> 	compiler_test.go:24:  73: goja.loadVal(8)
> 	compiler_test.go:24:  74: goja.call(1)
> 	compiler_test.go:24:  75: goja._pop({})
> 	compiler_test.go:24:  76: goja.getVar1(assert)
> 	compiler_test.go:24:  77: goja._dup({})
> 	compiler_test.go:24:  78: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  79: goja.getVar1(d)
> 	compiler_test.go:24:  80: goja._dup({})
> 	compiler_test.go:24:  81: goja.getPropCallee(getMinutes)
> 	compiler_test.go:24:  82: goja.call(0)
> 	compiler_test.go:24:  83: goja.loadVal(8)
> 	compiler_test.go:24:  84: goja.call(2)
> 	compiler_test.go:24:  85: goja._pop({})
> 	compiler_test.go:24:  86: goja.getVar1(assert)
> 	compiler_test.go:24:  87: goja._dup({})
> 	compiler_test.go:24:  88: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  89: goja.getVar1(d)
> 	compiler_test.go:24:  90: goja._dup({})
> 	compiler_test.go:24:  91: goja.getPropCallee(getSeconds)
> 	compiler_test.go:24:  92: goja.call(0)
> 	compiler_test.go:24:  93: goja.loadVal(5)
> 	compiler_test.go:24:  94: goja.call(2)
> 	compiler_test.go:24:  95: goja._pop({})
> 	compiler_test.go:24:  96: goja.getVar1(d)
> 	compiler_test.go:24:  97: goja._dup({})
> 	compiler_test.go:24:  98: goja.getPropCallee(setUTCMinutes)
> 	compiler_test.go:24:  99: goja.loadVal(9)
> 	compiler_test.go:24:  100: goja.call(1)
> 	compiler_test.go:24:  101: goja._pop({})
> 	compiler_test.go:24:  102: goja.getVar1(assert)
> 	compiler_test.go:24:  103: goja._dup({})
> 	compiler_test.go:24:  104: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  105: goja.getVar1(d)
> 	compiler_test.go:24:  106: goja._dup({})
> 	compiler_test.go:24:  107: goja.getPropCallee(getMinutes)
> 	compiler_test.go:24:  108: goja.call(0)
> 	compiler_test.go:24:  109: goja.loadVal(10)
> 	compiler_test.go:24:  110: goja.call(2)
> 	compiler_test.go:24:  111: goja._pop({})
> 	compiler_test.go:24:  112: goja.getVar1(assert)
> 	compiler_test.go:24:  113: goja._dup({})
> 	compiler_test.go:24:  114: goja.getPropCallee(sameValue)
> 	compiler_test.go:24:  115: goja.getVar1(d)
> 	compiler_test.go:24:  116: goja._dup({})
> 	compiler_test.go:24:  117: goja.getPropCallee(getHours)
> 	compiler_test.go:24:  118: goja.call(0)
> 	compiler_test.go:24:  119: goja.loadVal(11)
> 	compiler_test.go:24:  120: goja.call(2)
> 	compiler_test.go:24:  121: goja._halt({})
> 	compiler_test.go:60: stack size: 11
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestTimezoneOffset
> --- FAIL: TestTimezoneOffset (0.00s)
> 	date_test.go:172: open /usr/lib/go-1.8/lib/time/zoneinfo.zip: no such file or directory
> === RUN   TestDateValueOf
> --- PASS: TestDateValueOf (0.00s)
> 	compiler_test.go:24: values: [1230000000000000]
> 	compiler_test.go:24:  0: goja.bindName(d9)
> 	compiler_test.go:24:  1: goja.resolveVar1(d9)
> 	compiler_test.go:24:  2: goja.getVar1(Date)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja._new(1)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.getVar1(d9)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(valueOf)
> 	compiler_test.go:24:  10: goja.call(0)
> 	compiler_test.go:24:  11: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestDateSetters
> --- FAIL: TestDateSetters (0.00s)
> 	date_test.go:215: open /usr/lib/go-1.8/lib/time/zoneinfo.zip: no such file or directory
> === RUN   TestGoMapReflectGetSet
> --- PASS: TestGoMapReflectGetSet (0.00s)
> === RUN   TestGoMapReflectIntKey
> --- PASS: TestGoMapReflectIntKey (0.00s)
> === RUN   TestGoMapReflectDelete
> --- PASS: TestGoMapReflectDelete (0.00s)
> === RUN   TestGoMapReflectJSON
> --- PASS: TestGoMapReflectJSON (0.00s)
> === RUN   TestGoMapReflectProto
> --- PASS: TestGoMapReflectProto (0.00s)
> === RUN   TestGomapProp
> --- PASS: TestGomapProp (0.00s)
> === RUN   TestGomapEnumerate
> --- PASS: TestGomapEnumerate (0.00s)
> === RUN   TestGomapDeleteWhileEnumerate
> --- PASS: TestGomapDeleteWhileEnumerate (0.00s)
> === RUN   TestGomapInstanceOf
> --- PASS: TestGomapInstanceOf (0.00s)
> === RUN   TestGomapTypeOf
> --- PASS: TestGomapTypeOf (0.00s)
> === RUN   TestGomapProto
> --- PASS: TestGomapProto (0.00s)
> === RUN   TestGoMapExtensibility
> --- PASS: TestGoMapExtensibility (0.00s)
> === RUN   TestGoReflectGet
> --- PASS: TestGoReflectGet (0.00s)
> === RUN   TestGoReflectSet
> --- PASS: TestGoReflectSet (0.00s)
> === RUN   TestGoReflectEnumerate
> --- PASS: TestGoReflectEnumerate (0.00s)
> === RUN   TestGoReflectCustomIntUnbox
> --- PASS: TestGoReflectCustomIntUnbox (0.00s)
> === RUN   TestGoReflectPreserveCustomType
> --- PASS: TestGoReflectPreserveCustomType (0.00s)
> === RUN   TestGoReflectCustomIntValueOf
> --- PASS: TestGoReflectCustomIntValueOf (0.00s)
> === RUN   TestGoReflectEqual
> --- PASS: TestGoReflectEqual (0.00s)
> === RUN   TestGoReflectMethod
> --- PASS: TestGoReflectMethod (0.00s)
> === RUN   TestGoReflectMethodPtr
> --- PASS: TestGoReflectMethodPtr (0.00s)
> === RUN   TestGoReflectProp
> --- PASS: TestGoReflectProp (0.00s)
> === RUN   TestGoReflectRedefineFieldSuccess
> --- PASS: TestGoReflectRedefineFieldSuccess (0.00s)
> === RUN   TestGoReflectRedefineFieldNonWritable
> --- PASS: TestGoReflectRedefineFieldNonWritable (0.00s)
> === RUN   TestGoReflectRedefineFieldConfigurable
> --- PASS: TestGoReflectRedefineFieldConfigurable (0.00s)
> === RUN   TestGoReflectRedefineMethod
> --- PASS: TestGoReflectRedefineMethod (0.00s)
> === RUN   TestGoReflectEmbeddedStruct
> --- PASS: TestGoReflectEmbeddedStruct (0.00s)
> === RUN   TestGoReflectCustomNaming
> === RUN   TestGoReflectCustomNaming/get_property
> === RUN   TestGoReflectCustomNaming/set_property
> === RUN   TestGoReflectCustomNaming/enumerate_properties
> --- PASS: TestGoReflectCustomNaming (0.00s)
>     --- PASS: TestGoReflectCustomNaming/get_property (0.00s)
>     --- PASS: TestGoReflectCustomNaming/set_property (0.00s)
>     --- PASS: TestGoReflectCustomNaming/enumerate_properties (0.00s)
> === RUN   TestNonStructAnonFields
> --- PASS: TestNonStructAnonFields (0.00s)
> === RUN   TestGoSliceReflectBasic
> --- PASS: TestGoSliceReflectBasic (0.00s)
> === RUN   TestGoSliceReflectIn
> --- PASS: TestGoSliceReflectIn (0.00s)
> === RUN   TestGoSliceReflectSet
> --- PASS: TestGoSliceReflectSet (0.00s)
> === RUN   TestGoSliceReflectProto
> --- PASS: TestGoSliceReflectProto (0.00s)
> === RUN   TestGoSliceBasic
> --- PASS: TestGoSliceBasic (0.00s)
> === RUN   TestGoSliceIn
> --- PASS: TestGoSliceIn (0.00s)
> === RUN   TestGoSliceExpand
> --- PASS: TestGoSliceExpand (0.00s)
> === RUN   TestGoSliceProto
> --- PASS: TestGoSliceProto (0.00s)
> === RUN   TestArray1
> --- PASS: TestArray1 (0.00s)
> === RUN   TestRegexp1
> --- PASS: TestRegexp1 (0.00s)
> 	compiler_test.go:24: values: [(['"])(.*?)\1 'test' null 3 2 test]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: goja.getVar1(RegExp)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._new(1)
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(m)
> 	compiler_test.go:24:  9: goja.getVar1(r)
> 	compiler_test.go:24:  10: goja._dup({})
> 	compiler_test.go:24:  11: goja.getPropCallee(exec)
> 	compiler_test.go:24:  12: goja.loadVal(1)
> 	compiler_test.go:24:  13: goja.call(1)
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.getVar1(m)
> 	compiler_test.go:24:  17: goja.loadVal(2)
> 	compiler_test.go:24:  18: goja._op_strict_neq({})
> 	compiler_test.go:24:  19: goja.jneq1(6)
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.getVar1(m)
> 	compiler_test.go:24:  22: goja.getProp(length)
> 	compiler_test.go:24:  23: goja.loadVal(3)
> 	compiler_test.go:24:  24: goja._op_eq({})
> 	compiler_test.go:24:  25: goja.jneq1(7)
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja.getVar1(m)
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._getElem({})
> 	compiler_test.go:24:  30: goja.loadVal(5)
> 	compiler_test.go:24:  31: goja._op_strict_eq({})
> 	compiler_test.go:24:  32: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexp2
> --- PASS: TestRegexp2 (0.00s)
> 	compiler_test.go:24: values: [(['"])(.*?)['"] 'test' null 3 2 test]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: goja.getVar1(RegExp)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._new(1)
> 	compiler_test.go:24:  6: goja._putValue({})
> 	compiler_test.go:24:  7: goja._pop({})
> 	compiler_test.go:24:  8: goja.resolveVar1(m)
> 	compiler_test.go:24:  9: goja.getVar1(r)
> 	compiler_test.go:24:  10: goja._dup({})
> 	compiler_test.go:24:  11: goja.getPropCallee(exec)
> 	compiler_test.go:24:  12: goja.loadVal(1)
> 	compiler_test.go:24:  13: goja.call(1)
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.getVar1(m)
> 	compiler_test.go:24:  17: goja.loadVal(2)
> 	compiler_test.go:24:  18: goja._op_strict_neq({})
> 	compiler_test.go:24:  19: goja.jneq1(6)
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.getVar1(m)
> 	compiler_test.go:24:  22: goja.getProp(length)
> 	compiler_test.go:24:  23: goja.loadVal(3)
> 	compiler_test.go:24:  24: goja._op_eq({})
> 	compiler_test.go:24:  25: goja.jneq1(7)
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja.getVar1(m)
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._getElem({})
> 	compiler_test.go:24:  30: goja.loadVal(5)
> 	compiler_test.go:24:  31: goja._op_strict_eq({})
> 	compiler_test.go:24:  32: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpLiteral
> --- PASS: TestRegexpLiteral (0.00s)
> 	compiler_test.go:24: values: ['test' null 3 2 test]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc420291300 (['\"])(.*?)\1 false false false})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(m)
> 	compiler_test.go:24:  7: goja.getVar1(r)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(exec)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.call(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(m)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._op_strict_neq({})
> 	compiler_test.go:24:  17: goja.jneq1(6)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(m)
> 	compiler_test.go:24:  20: goja.getProp(length)
> 	compiler_test.go:24:  21: goja.loadVal(2)
> 	compiler_test.go:24:  22: goja._op_eq({})
> 	compiler_test.go:24:  23: goja.jneq1(7)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(m)
> 	compiler_test.go:24:  26: goja.loadVal(3)
> 	compiler_test.go:24:  27: goja._getElem({})
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._op_strict_eq({})
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpRe2Unicode
> --- PASS: TestRegexpRe2Unicode (0.00s)
> 	compiler_test.go:24: values: ['Тест' null 2 1 Тест]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc4203ae320 [40 1090 1077 1089 1090 41] false true false})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(m)
> 	compiler_test.go:24:  7: goja.getVar1(r)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(exec)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.call(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(m)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._op_strict_neq({})
> 	compiler_test.go:24:  17: goja.jneq1(6)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(m)
> 	compiler_test.go:24:  20: goja.getProp(length)
> 	compiler_test.go:24:  21: goja.loadVal(2)
> 	compiler_test.go:24:  22: goja._op_eq({})
> 	compiler_test.go:24:  23: goja.jneq1(7)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(m)
> 	compiler_test.go:24:  26: goja.loadVal(3)
> 	compiler_test.go:24:  27: goja._getElem({})
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._op_strict_eq({})
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpRe2UnicodeTarget
> --- PASS: TestRegexpRe2UnicodeTarget (0.00s)
> 	compiler_test.go:24: values: ['Тест' null 3 2 Тест]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc4203ae640 (['\"])(.*?)['\"] false true false})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(m)
> 	compiler_test.go:24:  7: goja.getVar1(r)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(exec)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.call(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(m)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._op_strict_neq({})
> 	compiler_test.go:24:  17: goja.jneq1(6)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(m)
> 	compiler_test.go:24:  20: goja.getProp(length)
> 	compiler_test.go:24:  21: goja.loadVal(2)
> 	compiler_test.go:24:  22: goja._op_eq({})
> 	compiler_test.go:24:  23: goja.jneq1(7)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(m)
> 	compiler_test.go:24:  26: goja.loadVal(3)
> 	compiler_test.go:24:  27: goja._getElem({})
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._op_strict_eq({})
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpRegexp2Unicode
> --- PASS: TestRegexpRegexp2Unicode (0.00s)
> 	compiler_test.go:24: values: ['Тест' null 3 2 Тест]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc420291200 [40 91 39 92 34 93 41 40 1090 1077 1089 1090 41 92 49] false true false})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(m)
> 	compiler_test.go:24:  7: goja.getVar1(r)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(exec)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.call(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(m)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._op_strict_neq({})
> 	compiler_test.go:24:  17: goja.jneq1(6)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(m)
> 	compiler_test.go:24:  20: goja.getProp(length)
> 	compiler_test.go:24:  21: goja.loadVal(2)
> 	compiler_test.go:24:  22: goja._op_eq({})
> 	compiler_test.go:24:  23: goja.jneq1(7)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(m)
> 	compiler_test.go:24:  26: goja.loadVal(3)
> 	compiler_test.go:24:  27: goja._getElem({})
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._op_strict_eq({})
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpRegexp2UnicodeTarget
> --- PASS: TestRegexpRegexp2UnicodeTarget (0.00s)
> 	compiler_test.go:24: values: ['Тест' null 3 2 Тест]
> 	compiler_test.go:24:  0: goja.bindName(r)
> 	compiler_test.go:24:  1: goja.bindName(m)
> 	compiler_test.go:24:  2: goja.resolveVar1(r)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc420291e00 (['\"])(.*?)\1 false false false})
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(m)
> 	compiler_test.go:24:  7: goja.getVar1(r)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(exec)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja.call(1)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(m)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja._op_strict_neq({})
> 	compiler_test.go:24:  17: goja.jneq1(6)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(m)
> 	compiler_test.go:24:  20: goja.getProp(length)
> 	compiler_test.go:24:  21: goja.loadVal(2)
> 	compiler_test.go:24:  22: goja._op_eq({})
> 	compiler_test.go:24:  23: goja.jneq1(7)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(m)
> 	compiler_test.go:24:  26: goja.loadVal(3)
> 	compiler_test.go:24:  27: goja._getElem({})
> 	compiler_test.go:24:  28: goja.loadVal(4)
> 	compiler_test.go:24:  29: goja._op_strict_eq({})
> 	compiler_test.go:24:  30: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpRe2Whitespace
> --- PASS: TestRegexpRe2Whitespace (0.00s)
> 	compiler_test.go:24: values: [   ​  ​]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(replace)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc4203aefa0 \s+ true false false})
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja.loadVal(2)
> 	compiler_test.go:24:  7: goja._op_strict_eq({})
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpRegexp2Whitespace
> --- PASS: TestRegexpRegexp2Whitespace (0.00s)
> 	compiler_test.go:24: values: [A   A​  ​]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(replace)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc42001cd00 (A)\s+\1 true false false})
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja.loadVal(2)
> 	compiler_test.go:24:  7: goja._op_strict_eq({})
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEmptyCharClassRe2
> --- PASS: TestEmptyCharClassRe2 (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc4203af2c0 [] false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNegatedEmptyCharClassRe2
> --- PASS: TestNegatedEmptyCharClassRe2 (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc4203af4a0 [^] false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEmptyCharClassRegexp2
> --- PASS: TestEmptyCharClassRegexp2 (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc42001de80 ([])\1 false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexp2Negate
> --- PASS: TestRegexp2Negate (0.00s)
> 	compiler_test.go:24: values: [aa]
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc4200f8680 ([\D1])\1 false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestAlternativeRe2
> --- PASS: TestAlternativeRe2 (0.00s)
> 	compiler_test.go:24: values: [ null]
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc4203af860 ()| false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(exec)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja.loadVal(1)
> 	compiler_test.go:24:  6: goja._op_strict_neq({})
> 	compiler_test.go:24:  7: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpReplaceGlobal
> --- PASS: TestRegexpReplaceGlobal (0.00s)
> 	compiler_test.go:24: values: [QBZPbage
> 		y_cynprubyqre ]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(replace)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc4203afc20 ^\s*|\s*$ true false false})
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpNumCaptures
> --- PASS: TestRegexpNumCaptures (0.00s)
> 	compiler_test.go:24: values: [Fubpxjnir Synfu 9.0  e115 ]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(replace)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc4203afe00 ([a-zA-Z]|\s)+ false false false})
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpNumCaptures1
> --- PASS: TestRegexpNumCaptures1 (0.00s)
> 	compiler_test.go:24: values: [Fubpxjnir Sy	fu 9.0  e115 ]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(replace)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc42001a1e0 ^.*\s+(\S+\s+\S+$) false false false})
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpSInClass
> --- PASS: TestRegexpSInClass (0.00s)
> 	compiler_test.go:24: values: [
]
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc4203de600 [\S] false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpDotMatchSlashR
> --- PASS: TestRegexpDotMatchSlashR (0.00s)
> 	compiler_test.go:24: values: [
> ]
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc42001a6e0 . false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpDotMatchSlashRInGroup
> --- PASS: TestRegexpDotMatchSlashRInGroup (0.00s)
> 	compiler_test.go:24: values: [
> ]
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc42001aaa0 (.) false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestRegexpSplitWithBackRef
> --- PASS: TestRegexpSplitWithBackRef (0.00s)
> 	compiler_test.go:24: values: [a++b+-c  $$ ]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(split)
> 	compiler_test.go:24:  3: *goja.newRegexp(&{0xc4203df800 ([+-])\1 false false false})
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._dup({})
> 	compiler_test.go:24:  6: goja.getPropCallee(join)
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja.call(1)
> 	compiler_test.go:24:  9: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestEscapeNonASCII
> --- PASS: TestEscapeNonASCII (0.00s)
> 	compiler_test.go:24: values: [⩓]
> 	compiler_test.go:24:  0: *goja.newRegexp(&{0xc42001b5e0 [92 10835] false false false})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(test)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestGlobalObjectProto
> --- PASS: TestGlobalObjectProto (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja._loadGlobalObject({})
> 	compiler_test.go:24:  1: goja.getVar1(Object)
> 	compiler_test.go:24:  2: goja._op_instanceof({})
> 	compiler_test.go:24:  3: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArrayProtoProp
> --- PASS: TestArrayProtoProp (0.00s)
> 	compiler_test.go:24: values: [0 42 true false 0 1]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.getVar1(Object)
> 	compiler_test.go:24:  2: goja._dup({})
> 	compiler_test.go:24:  3: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  4: goja.getVar1(Array)
> 	compiler_test.go:24:  5: goja.getProp(prototype)
> 	compiler_test.go:24:  6: goja.loadVal(0)
> 	compiler_test.go:24:  7: goja._newObject({})
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.setProp1(value)
> 	compiler_test.go:24:  10: goja.loadVal(2)
> 	compiler_test.go:24:  11: goja.setProp1(configurable)
> 	compiler_test.go:24:  12: goja.loadVal(3)
> 	compiler_test.go:24:  13: goja.setProp1(writable)
> 	compiler_test.go:24:  14: goja.call(3)
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.resolveVar1(a)
> 	compiler_test.go:24:  17: goja.newArray(0)
> 	compiler_test.go:24:  18: goja._putValue({})
> 	compiler_test.go:24:  19: goja._pop({})
> 	compiler_test.go:24:  20: goja.getVar1(a)
> 	compiler_test.go:24:  21: goja.loadVal(4)
> 	compiler_test.go:24:  22: goja.loadVal(5)
> 	compiler_test.go:24:  23: goja._setElem({})
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(a)
> 	compiler_test.go:24:  26: goja.loadVal(4)
> 	compiler_test.go:24:  27: goja._getElem({})
> 	compiler_test.go:24:  28: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArrayDelete
> --- PASS: TestArrayDelete (0.00s)
> 	compiler_test.go:24: values: [1 2 0]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(deleted)
> 	compiler_test.go:24:  2: goja.bindName(undef)
> 	compiler_test.go:24:  3: goja.bindName(len)
> 	compiler_test.go:24:  4: goja.resolveVar1(a)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja.loadVal(1)
> 	compiler_test.go:24:  7: goja.newArray(2)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.resolveVar1(deleted)
> 	compiler_test.go:24:  11: goja.getVar1(a)
> 	compiler_test.go:24:  12: goja.loadVal(2)
> 	compiler_test.go:24:  13: goja._deleteElem({})
> 	compiler_test.go:24:  14: goja._putValue({})
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.resolveVar1(undef)
> 	compiler_test.go:24:  17: goja.getVar1(a)
> 	compiler_test.go:24:  18: goja.loadVal(2)
> 	compiler_test.go:24:  19: goja._getElem({})
> 	compiler_test.go:24:  20: goja.getVar1(undefined)
> 	compiler_test.go:24:  21: goja._op_strict_eq({})
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.resolveVar1(len)
> 	compiler_test.go:24:  25: goja.getVar1(a)
> 	compiler_test.go:24:  26: goja.getProp(length)
> 	compiler_test.go:24:  27: goja._putValue({})
> 	compiler_test.go:24:  28: goja._pop({})
> 	compiler_test.go:24:  29: goja.getVar1(deleted)
> 	compiler_test.go:24:  30: goja.jneq1(3)
> 	compiler_test.go:24:  31: goja._pop({})
> 	compiler_test.go:24:  32: goja.getVar1(undef)
> 	compiler_test.go:24:  33: goja.jneq1(5)
> 	compiler_test.go:24:  34: goja._pop({})
> 	compiler_test.go:24:  35: goja.getVar1(len)
> 	compiler_test.go:24:  36: goja.loadVal(1)
> 	compiler_test.go:24:  37: goja._op_strict_eq({})
> 	compiler_test.go:24:  38: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArrayDeleteNonexisting
> --- PASS: TestArrayDeleteNonexisting (0.00s)
> 	compiler_test.go:24: values: [0 42]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.getVar1(Array)
> 	compiler_test.go:24:  2: goja.getProp(prototype)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja._setElem({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(a)
> 	compiler_test.go:24:  8: goja.newArray(0)
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.getVar1(a)
> 	compiler_test.go:24:  12: goja.loadVal(0)
> 	compiler_test.go:24:  13: goja._deleteElem({})
> 	compiler_test.go:24:  14: goja.jneq1(7)
> 	compiler_test.go:24:  15: goja._pop({})
> 	compiler_test.go:24:  16: goja.getVar1(a)
> 	compiler_test.go:24:  17: goja.loadVal(0)
> 	compiler_test.go:24:  18: goja._getElem({})
> 	compiler_test.go:24:  19: goja.loadVal(1)
> 	compiler_test.go:24:  20: goja._op_strict_eq({})
> 	compiler_test.go:24:  21: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArraySetLength
> --- PASS: TestArraySetLength (0.00s)
> 	compiler_test.go:24: values: [1 2 1]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(assert0)
> 	compiler_test.go:24:  2: goja.bindName(assert1)
> 	compiler_test.go:24:  3: goja.bindName(assert2)
> 	compiler_test.go:24:  4: goja.resolveVar1(a)
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja.loadVal(1)
> 	compiler_test.go:24:  7: goja.newArray(2)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.resolveVar1(assert0)
> 	compiler_test.go:24:  11: goja.getVar1(a)
> 	compiler_test.go:24:  12: goja.getProp(length)
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja._op_eq({})
> 	compiler_test.go:24:  15: goja._putValue({})
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja.getVar1(a)
> 	compiler_test.go:24:  18: goja.loadVal(2)
> 	compiler_test.go:24:  19: goja.setProp(length)
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.getVar1(a)
> 	compiler_test.go:24:  22: goja.loadVal(0)
> 	compiler_test.go:24:  23: goja.setProp(length)
> 	compiler_test.go:24:  24: goja._pop({})
> 	compiler_test.go:24:  25: goja.getVar1(a)
> 	compiler_test.go:24:  26: goja.loadVal(0)
> 	compiler_test.go:24:  27: goja.setProp(length)
> 	compiler_test.go:24:  28: goja._pop({})
> 	compiler_test.go:24:  29: goja.resolveVar1(assert1)
> 	compiler_test.go:24:  30: goja.getVar1(a)
> 	compiler_test.go:24:  31: goja.getProp(length)
> 	compiler_test.go:24:  32: goja.loadVal(0)
> 	compiler_test.go:24:  33: goja._op_eq({})
> 	compiler_test.go:24:  34: goja._putValue({})
> 	compiler_test.go:24:  35: goja._pop({})
> 	compiler_test.go:24:  36: goja.getVar1(a)
> 	compiler_test.go:24:  37: goja.loadVal(1)
> 	compiler_test.go:24:  38: goja.setProp(length)
> 	compiler_test.go:24:  39: goja._pop({})
> 	compiler_test.go:24:  40: goja.resolveVar1(assert2)
> 	compiler_test.go:24:  41: goja.getVar1(a)
> 	compiler_test.go:24:  42: goja.getProp(length)
> 	compiler_test.go:24:  43: goja.loadVal(1)
> 	compiler_test.go:24:  44: goja._op_eq({})
> 	compiler_test.go:24:  45: goja._putValue({})
> 	compiler_test.go:24:  46: goja._pop({})
> 	compiler_test.go:24:  47: goja.getVar1(assert0)
> 	compiler_test.go:24:  48: goja.jneq1(3)
> 	compiler_test.go:24:  49: goja._pop({})
> 	compiler_test.go:24:  50: goja.getVar1(assert1)
> 	compiler_test.go:24:  51: goja.jneq1(3)
> 	compiler_test.go:24:  52: goja._pop({})
> 	compiler_test.go:24:  53: goja.getVar1(assert2)
> 	compiler_test.go:24:  54: goja.jneq1(7)
> 	compiler_test.go:24:  55: goja._pop({})
> 	compiler_test.go:24:  56: goja.getVar1(a)
> 	compiler_test.go:24:  57: goja.loadVal(0)
> 	compiler_test.go:24:  58: goja._getElem({})
> 	compiler_test.go:24:  59: goja.getVar1(undefined)
> 	compiler_test.go:24:  60: goja._op_strict_eq({})
> 	compiler_test.go:24:  61: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestUnicodeString
> --- PASS: TestUnicodeString (0.00s)
> 	compiler_test.go:24: values: [Тест 4 1 е]
> 	compiler_test.go:24:  0: goja.bindName(s)
> 	compiler_test.go:24:  1: goja.resolveVar1(s)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(s)
> 	compiler_test.go:24:  6: goja.getProp(length)
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja._op_strict_eq({})
> 	compiler_test.go:24:  9: goja.jneq1(7)
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.getVar1(s)
> 	compiler_test.go:24:  12: goja.loadVal(2)
> 	compiler_test.go:24:  13: goja._getElem({})
> 	compiler_test.go:24:  14: goja.loadVal(3)
> 	compiler_test.go:24:  15: goja._op_strict_eq({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArrayReverseNonOptimisable
> --- PASS: TestArrayReverseNonOptimisable (0.00s)
> 	compiler_test.go:24: values: [0 true 1 43 2 0 44 42]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.resolveVar1(a)
> 	compiler_test.go:24:  2: goja.newArray(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(Object)
> 	compiler_test.go:24:  6: goja._dup({})
> 	compiler_test.go:24:  7: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  8: goja.getVar1(a)
> 	compiler_test.go:24:  9: goja.loadVal(0)
> 	compiler_test.go:24:  10: goja._newObject({})
> 	compiler_test.go:24:  11: *goja.newFunc(&{0xc420081800  0 false 51 73})
> 	compiler_test.go:24: values: [42]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 0})
> 	compiler_test.go:24: > 1: goja.loadVal(0)
> 	compiler_test.go:24: > 2: goja._retStashless({})
> 	compiler_test.go:24:  12: goja.setProp1(get)
> 	compiler_test.go:24:  13: *goja.newFunc(&{0xc420081980  1 false 80 175})
> 	compiler_test.go:24: values: [0 1 true]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 1})
> 	compiler_test.go:24: > 1: goja.getVar1(Object)
> 	compiler_test.go:24: > 2: goja._dup({})
> 	compiler_test.go:24: > 3: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24: > 4: goja.getVar1(a)
> 	compiler_test.go:24: > 5: goja.loadVal(0)
> 	compiler_test.go:24: > 6: goja._newObject({})
> 	compiler_test.go:24: > 7: goja.loadStack(-1)
> 	compiler_test.go:24: > 8: goja.loadVal(1)
> 	compiler_test.go:24: > 9: goja._add({})
> 	compiler_test.go:24: > 10: goja.setProp1(value)
> 	compiler_test.go:24: > 11: goja.loadVal(2)
> 	compiler_test.go:24: > 12: goja.setProp1(writable)
> 	compiler_test.go:24: > 13: goja.loadVal(2)
> 	compiler_test.go:24: > 14: goja.setProp1(configurable)
> 	compiler_test.go:24: > 15: goja.call(3)
> 	compiler_test.go:24: > 16: goja._pop({})
> 	compiler_test.go:24: > 17: goja._loadUndef({})
> 	compiler_test.go:24: > 18: goja._retStashless({})
> 	compiler_test.go:24:  14: goja.setProp1(set)
> 	compiler_test.go:24:  15: goja.loadVal(1)
> 	compiler_test.go:24:  16: goja.setProp1(configurable)
> 	compiler_test.go:24:  17: goja.call(3)
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.getVar1(a)
> 	compiler_test.go:24:  20: goja.loadVal(2)
> 	compiler_test.go:24:  21: goja.loadVal(3)
> 	compiler_test.go:24:  22: goja._setElem({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.getVar1(a)
> 	compiler_test.go:24:  25: goja._dup({})
> 	compiler_test.go:24:  26: goja.getPropCallee(reverse)
> 	compiler_test.go:24:  27: goja.call(0)
> 	compiler_test.go:24:  28: goja._pop({})
> 	compiler_test.go:24:  29: goja.getVar1(a)
> 	compiler_test.go:24:  30: goja.getProp(length)
> 	compiler_test.go:24:  31: goja.loadVal(4)
> 	compiler_test.go:24:  32: goja._op_strict_eq({})
> 	compiler_test.go:24:  33: goja.jneq1(7)
> 	compiler_test.go:24:  34: goja._pop({})
> 	compiler_test.go:24:  35: goja.getVar1(a)
> 	compiler_test.go:24:  36: goja.loadVal(5)
> 	compiler_test.go:24:  37: goja._getElem({})
> 	compiler_test.go:24:  38: goja.loadVal(6)
> 	compiler_test.go:24:  39: goja._op_strict_eq({})
> 	compiler_test.go:24:  40: goja.jneq1(7)
> 	compiler_test.go:24:  41: goja._pop({})
> 	compiler_test.go:24:  42: goja.getVar1(a)
> 	compiler_test.go:24:  43: goja.loadVal(2)
> 	compiler_test.go:24:  44: goja._getElem({})
> 	compiler_test.go:24:  45: goja.loadVal(7)
> 	compiler_test.go:24:  46: goja._op_strict_eq({})
> 	compiler_test.go:24:  47: goja._halt({})
> 	compiler_test.go:60: stack size: 12
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestArrayPushNonOptimisable
> --- PASS: TestArrayPushNonOptimisable (0.00s)
> 	compiler_test.go:24: values: [0 42 false 1]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.getVar1(Object)
> 	compiler_test.go:24:  3: goja._dup({})
> 	compiler_test.go:24:  4: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  5: goja.getVar1(Object)
> 	compiler_test.go:24:  6: goja.getProp(prototype)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._newObject({})
> 	compiler_test.go:24:  9: goja.loadVal(1)
> 	compiler_test.go:24:  10: goja.setProp1(value)
> 	compiler_test.go:24:  11: goja.call(3)
> 	compiler_test.go:24:  12: goja._pop({})
> 	compiler_test.go:24:  13: goja.resolveVar1(a)
> 	compiler_test.go:24:  14: goja.newArray(0)
> 	compiler_test.go:24:  15: goja._putValue({})
> 	compiler_test.go:24:  16: goja._pop({})
> 	compiler_test.go:24:  17: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  18: goja.loadVal(2)
> 	compiler_test.go:24:  19: goja._putValue({})
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.try({10 0 true})
> 	compiler_test.go:24:  22: goja.getVar1(a)
> 	compiler_test.go:24:  23: goja._dup({})
> 	compiler_test.go:24:  24: goja.getPropCallee(push)
> 	compiler_test.go:24:  25: goja.loadVal(3)
> 	compiler_test.go:24:  26: goja.call(1)
> 	compiler_test.go:24:  27: goja._pop({})
> 	compiler_test.go:24:  28: goja._halt({})
> 	compiler_test.go:24:  29: goja.jump(10)
> 	compiler_test.go:24:  30: <nil>(<nil>)
> 	compiler_test.go:24:  31: goja.enterCatch(e)
> 	compiler_test.go:24:  32: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  33: goja.getLocal(0)
> 	compiler_test.go:24:  34: goja.getVar1(TypeError)
> 	compiler_test.go:24:  35: goja._op_instanceof({})
> 	compiler_test.go:24:  36: goja._putValue({})
> 	compiler_test.go:24:  37: goja._pop({})
> 	compiler_test.go:24:  38: goja._halt({})
> 	compiler_test.go:24:  39: goja.getVar1(thrown)
> 	compiler_test.go:24:  40: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestArraySetLengthWithPropItems
> --- PASS: TestArraySetLengthWithPropItems (0.00s)
> 	compiler_test.go:24: values: [1 2 3 4 false 2 42 length 0]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(thrown)
> 	compiler_test.go:24:  2: goja.resolveVar1(a)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.loadVal(2)
> 	compiler_test.go:24:  6: goja.loadVal(3)
> 	compiler_test.go:24:  7: goja.newArray(4)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  11: goja.loadVal(4)
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.getVar1(Object)
> 	compiler_test.go:24:  15: goja._dup({})
> 	compiler_test.go:24:  16: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  17: goja.getVar1(a)
> 	compiler_test.go:24:  18: goja.loadVal(5)
> 	compiler_test.go:24:  19: goja._newObject({})
> 	compiler_test.go:24:  20: goja.loadVal(6)
> 	compiler_test.go:24:  21: goja.setProp1(value)
> 	compiler_test.go:24:  22: goja.loadVal(4)
> 	compiler_test.go:24:  23: goja.setProp1(configurable)
> 	compiler_test.go:24:  24: goja.loadVal(4)
> 	compiler_test.go:24:  25: goja.setProp1(writable)
> 	compiler_test.go:24:  26: goja.call(3)
> 	compiler_test.go:24:  27: goja._pop({})
> 	compiler_test.go:24:  28: goja.try({16 0 true})
> 	compiler_test.go:24:  29: goja.getVar1(Object)
> 	compiler_test.go:24:  30: goja._dup({})
> 	compiler_test.go:24:  31: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  32: goja.getVar1(a)
> 	compiler_test.go:24:  33: goja.loadVal(7)
> 	compiler_test.go:24:  34: goja._newObject({})
> 	compiler_test.go:24:  35: goja.loadVal(8)
> 	compiler_test.go:24:  36: goja.setProp1(value)
> 	compiler_test.go:24:  37: goja.loadVal(4)
> 	compiler_test.go:24:  38: goja.setProp1(writable)
> 	compiler_test.go:24:  39: goja.call(3)
> 	compiler_test.go:24:  40: goja._pop({})
> 	compiler_test.go:24:  41: goja._halt({})
> 	compiler_test.go:24:  42: goja.jump(10)
> 	compiler_test.go:24:  43: <nil>(<nil>)
> 	compiler_test.go:24:  44: goja.enterCatch(e)
> 	compiler_test.go:24:  45: goja.resolveVar1(thrown)
> 	compiler_test.go:24:  46: goja.getLocal(0)
> 	compiler_test.go:24:  47: goja.getVar1(TypeError)
> 	compiler_test.go:24:  48: goja._op_instanceof({})
> 	compiler_test.go:24:  49: goja._putValue({})
> 	compiler_test.go:24:  50: goja._pop({})
> 	compiler_test.go:24:  51: goja._halt({})
> 	compiler_test.go:24:  52: goja.getVar1(thrown)
> 	compiler_test.go:24:  53: goja.jneq1(6)
> 	compiler_test.go:24:  54: goja._pop({})
> 	compiler_test.go:24:  55: goja.getVar1(a)
> 	compiler_test.go:24:  56: goja.getProp(length)
> 	compiler_test.go:24:  57: goja.loadVal(2)
> 	compiler_test.go:24:  58: goja._op_strict_eq({})
> 	compiler_test.go:24:  59: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   Test2TierHierarchyProp
> --- PASS: Test2TierHierarchyProp (0.00s)
> 	compiler_test.go:24: values: [test 42 false true 43]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(b)
> 	compiler_test.go:24:  2: goja.bindName(c)
> 	compiler_test.go:24:  3: goja.resolveVar1(a)
> 	compiler_test.go:24:  4: goja._newObject({})
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.getVar1(Object)
> 	compiler_test.go:24:  8: goja._dup({})
> 	compiler_test.go:24:  9: goja.getPropCallee(defineProperty)
> 	compiler_test.go:24:  10: goja.getVar1(a)
> 	compiler_test.go:24:  11: goja.loadVal(0)
> 	compiler_test.go:24:  12: goja._newObject({})
> 	compiler_test.go:24:  13: goja.loadVal(1)
> 	compiler_test.go:24:  14: goja.setProp1(value)
> 	compiler_test.go:24:  15: goja.loadVal(2)
> 	compiler_test.go:24:  16: goja.setProp1(writable)
> 	compiler_test.go:24:  17: goja.loadVal(2)
> 	compiler_test.go:24:  18: goja.setProp1(enumerable)
> 	compiler_test.go:24:  19: goja.loadVal(3)
> 	compiler_test.go:24:  20: goja.setProp1(configurable)
> 	compiler_test.go:24:  21: goja.call(3)
> 	compiler_test.go:24:  22: goja._pop({})
> 	compiler_test.go:24:  23: goja.resolveVar1(b)
> 	compiler_test.go:24:  24: goja.getVar1(Object)
> 	compiler_test.go:24:  25: goja._dup({})
> 	compiler_test.go:24:  26: goja.getPropCallee(create)
> 	compiler_test.go:24:  27: goja.getVar1(a)
> 	compiler_test.go:24:  28: goja.call(1)
> 	compiler_test.go:24:  29: goja._putValue({})
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.resolveVar1(c)
> 	compiler_test.go:24:  32: goja.getVar1(Object)
> 	compiler_test.go:24:  33: goja._dup({})
> 	compiler_test.go:24:  34: goja.getPropCallee(create)
> 	compiler_test.go:24:  35: goja.getVar1(b)
> 	compiler_test.go:24:  36: goja.call(1)
> 	compiler_test.go:24:  37: goja._putValue({})
> 	compiler_test.go:24:  38: goja._pop({})
> 	compiler_test.go:24:  39: goja.getVar1(c)
> 	compiler_test.go:24:  40: goja.loadVal(4)
> 	compiler_test.go:24:  41: goja.setProp(test)
> 	compiler_test.go:24:  42: goja._pop({})
> 	compiler_test.go:24:  43: goja.getVar1(c)
> 	compiler_test.go:24:  44: goja.getProp(test)
> 	compiler_test.go:24:  45: goja.loadVal(1)
> 	compiler_test.go:24:  46: goja._op_strict_eq({})
> 	compiler_test.go:24:  47: goja.jneq1(8)
> 	compiler_test.go:24:  48: goja._pop({})
> 	compiler_test.go:24:  49: goja.getVar1(b)
> 	compiler_test.go:24:  50: goja._dup({})
> 	compiler_test.go:24:  51: goja.getPropCallee(hasOwnProperty)
> 	compiler_test.go:24:  52: goja.loadVal(0)
> 	compiler_test.go:24:  53: goja.call(1)
> 	compiler_test.go:24:  54: goja._not({})
> 	compiler_test.go:24:  55: goja._halt({})
> 	compiler_test.go:60: stack size: 6
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestConstStringIter
> --- PASS: TestConstStringIter (0.00s)
> 	compiler_test.go:24: values: [0 1234 1234567]
> 	compiler_test.go:24:  0: goja.bindName(count)
> 	compiler_test.go:24:  1: goja.bindName(i)
> 	compiler_test.go:24:  2: goja.bindName(j)
> 	compiler_test.go:24:  3: goja.resolveVar1(count)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.loadVal(1)
> 	compiler_test.go:24:  8: goja._enumerate({})
> 	compiler_test.go:24:  9: goja.enumNext(20)
> 	compiler_test.go:24:  10: goja.resolveVar1(i)
> 	compiler_test.go:24:  11: goja._enumGet({})
> 	compiler_test.go:24:  12: goja._putValue({})
> 	compiler_test.go:24:  13: goja._pop({})
> 	compiler_test.go:24:  14: goja.loadVal(2)
> 	compiler_test.go:24:  15: goja._enumerate({})
> 	compiler_test.go:24:  16: goja.enumNext(11)
> 	compiler_test.go:24:  17: goja.resolveVar1(j)
> 	compiler_test.go:24:  18: goja._enumGet({})
> 	compiler_test.go:24:  19: goja._putValue({})
> 	compiler_test.go:24:  20: goja._pop({})
> 	compiler_test.go:24:  21: goja.resolveVar1(count)
> 	compiler_test.go:24:  22: goja._getValue({})
> 	compiler_test.go:24:  23: goja._inc({})
> 	compiler_test.go:24:  24: goja._putValue({})
> 	compiler_test.go:24:  25: goja._pop({})
> 	compiler_test.go:24:  26: goja.jump(-10)
> 	compiler_test.go:24:  27: goja._enumPop({})
> 	compiler_test.go:24:  28: goja.jump(-19)
> 	compiler_test.go:24:  29: goja._enumPop({})
> 	compiler_test.go:24:  30: goja.getVar1(count)
> 	compiler_test.go:24:  31: goja._halt({})
> 	compiler_test.go:60: stack size: 1
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestUnicodeConcat
> --- PASS: TestUnicodeConcat (0.00s)
> 	compiler_test.go:24: values: [тест test абвгд тестtest тестtestабвгд testтестабвгд тестабвгд]
> 	compiler_test.go:24:  0: goja.bindName(s)
> 	compiler_test.go:24:  1: goja.bindName(s1)
> 	compiler_test.go:24:  2: goja.bindName(s2)
> 	compiler_test.go:24:  3: goja.resolveVar1(s)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja._putValue({})
> 	compiler_test.go:24:  6: goja._pop({})
> 	compiler_test.go:24:  7: goja.resolveVar1(s1)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja._putValue({})
> 	compiler_test.go:24:  10: goja._pop({})
> 	compiler_test.go:24:  11: goja.resolveVar1(s2)
> 	compiler_test.go:24:  12: goja.loadVal(2)
> 	compiler_test.go:24:  13: goja._putValue({})
> 	compiler_test.go:24:  14: goja._pop({})
> 	compiler_test.go:24:  15: goja.getVar1(s)
> 	compiler_test.go:24:  16: goja._dup({})
> 	compiler_test.go:24:  17: goja.getPropCallee(concat)
> 	compiler_test.go:24:  18: goja.getVar1(s1)
> 	compiler_test.go:24:  19: goja.call(1)
> 	compiler_test.go:24:  20: goja.loadVal(3)
> 	compiler_test.go:24:  21: goja._op_strict_eq({})
> 	compiler_test.go:24:  22: goja.jneq1(10)
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.getVar1(s)
> 	compiler_test.go:24:  25: goja._dup({})
> 	compiler_test.go:24:  26: goja.getPropCallee(concat)
> 	compiler_test.go:24:  27: goja.getVar1(s1)
> 	compiler_test.go:24:  28: goja.getVar1(s2)
> 	compiler_test.go:24:  29: goja.call(2)
> 	compiler_test.go:24:  30: goja.loadVal(4)
> 	compiler_test.go:24:  31: goja._op_strict_eq({})
> 	compiler_test.go:24:  32: goja.jneq1(10)
> 	compiler_test.go:24:  33: goja._pop({})
> 	compiler_test.go:24:  34: goja.getVar1(s1)
> 	compiler_test.go:24:  35: goja._dup({})
> 	compiler_test.go:24:  36: goja.getPropCallee(concat)
> 	compiler_test.go:24:  37: goja.getVar1(s)
> 	compiler_test.go:24:  38: goja.getVar1(s2)
> 	compiler_test.go:24:  39: goja.call(2)
> 	compiler_test.go:24:  40: goja.loadVal(5)
> 	compiler_test.go:24:  41: goja._op_strict_eq({})
> 	compiler_test.go:24:  42: goja.jneq1(9)
> 	compiler_test.go:24:  43: goja._pop({})
> 	compiler_test.go:24:  44: goja.getVar1(s)
> 	compiler_test.go:24:  45: goja._dup({})
> 	compiler_test.go:24:  46: goja.getPropCallee(concat)
> 	compiler_test.go:24:  47: goja.getVar1(s2)
> 	compiler_test.go:24:  48: goja.call(1)
> 	compiler_test.go:24:  49: goja.loadVal(6)
> 	compiler_test.go:24:  50: goja._op_strict_eq({})
> 	compiler_test.go:24:  51: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestIndexOf
> --- PASS: TestIndexOf (0.00s)
> 	compiler_test.go:24: values: [abc  4]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(indexOf)
> 	compiler_test.go:24:  3: goja.loadVal(1)
> 	compiler_test.go:24:  4: goja.loadVal(2)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestUnicodeIndexOf
> --- PASS: TestUnicodeIndexOf (0.00s)
> 	compiler_test.go:24: values: [абвгд вг 1]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(indexOf)
> 	compiler_test.go:24:  3: goja.loadVal(1)
> 	compiler_test.go:24:  4: goja.loadVal(2)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestLastIndexOf
> --- PASS: TestLastIndexOf (0.00s)
> 	compiler_test.go:24: values: [abcabab ab 3]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(lastIndexOf)
> 	compiler_test.go:24:  3: goja.loadVal(1)
> 	compiler_test.go:24:  4: goja.loadVal(2)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestUnicodeLastIndexOf
> --- PASS: TestUnicodeLastIndexOf (0.00s)
> 	compiler_test.go:24: values: [абвабаб аб 3]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(lastIndexOf)
> 	compiler_test.go:24:  3: goja.loadVal(1)
> 	compiler_test.go:24:  4: goja.loadVal(2)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestUnicodeLastIndexOf1
> --- PASS: TestUnicodeLastIndexOf1 (0.00s)
> 	compiler_test.go:24: values: [abꞐcde cd]
> 	compiler_test.go:24:  0: goja.loadVal(0)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(lastIndexOf)
> 	compiler_test.go:24:  3: goja.loadVal(1)
> 	compiler_test.go:24:  4: goja.call(1)
> 	compiler_test.go:24:  5: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNumber
> --- PASS: TestNumber (0.00s)
> 	compiler_test.go:24: values: [100111122133144160]
> 	compiler_test.go:24:  0: goja.getVar1(Number)
> 	compiler_test.go:24:  1: goja.loadVal(0)
> 	compiler_test.go:24:  2: goja._new(1)
> 	compiler_test.go:24:  3: goja._dup({})
> 	compiler_test.go:24:  4: goja.getPropCallee(toString)
> 	compiler_test.go:24:  5: goja.call(0)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 2
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestFractionalNumberToStringRadix
> --- PASS: TestFractionalNumberToStringRadix (0.00s)
> 	compiler_test.go:24: values: [123.456 36]
> 	compiler_test.go:24:  0: goja.getVar1(Number)
> 	compiler_test.go:24:  1: goja.loadVal(0)
> 	compiler_test.go:24:  2: goja._new(1)
> 	compiler_test.go:24:  3: goja._dup({})
> 	compiler_test.go:24:  4: goja.getPropCallee(toString)
> 	compiler_test.go:24:  5: goja.loadVal(1)
> 	compiler_test.go:24:  6: goja.call(1)
> 	compiler_test.go:24:  7: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestSetFunc
> --- PASS: TestSetFunc (0.00s)
> === RUN   TestObjectGetSet
> --- PASS: TestObjectGetSet (0.00s)
> === RUN   TestThrowFromNativeFunc
> --- PASS: TestThrowFromNativeFunc (0.00s)
> === RUN   TestSetGoFunc
> --- PASS: TestSetGoFunc (0.00s)
> === RUN   TestArgsKeys
> --- PASS: TestArgsKeys (0.00s)
> 	compiler_test.go:24: values: [1 2]
> 	compiler_test.go:24:  0: goja.bindName(testArgs2)
> 	compiler_test.go:24:  1: goja.resolveVar1(testArgs2)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4200805a0 testArgs2 3 false 2 131})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFunc(3)
> 	compiler_test.go:24: > 1: goja.bindName(x)
> 	compiler_test.go:24: > 2: goja.bindName(y)
> 	compiler_test.go:24: > 3: goja.bindName(z)
> 	compiler_test.go:24: > 4: goja.bindName(arguments)
> 	compiler_test.go:24: > 5: goja.createArgs(3)
> 	compiler_test.go:24: > 6: goja.setLocalP(3)
> 	compiler_test.go:24: > 7: goja.getVar1(Object)
> 	compiler_test.go:24: > 8: goja._dup({})
> 	compiler_test.go:24: > 9: goja.getPropCallee(keys)
> 	compiler_test.go:24: > 10: goja.getLocal(3)
> 	compiler_test.go:24: > 11: goja.call(1)
> 	compiler_test.go:24: > 12: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(testArgs2)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja.loadVal(1)
> 	compiler_test.go:24:  9: goja.call(2)
> 	compiler_test.go:24:  10: goja.getProp(length)
> 	compiler_test.go:24:  11: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 1
> === RUN   TestIPowOverflow
> --- PASS: TestIPowOverflow (0.00s)
> 	compiler_test.go:24: values: [65536 6]
> 	compiler_test.go:24:  0: goja.getVar1(Math)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(pow)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.loadVal(1)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestIPowZero
> --- PASS: TestIPowZero (0.00s)
> 	compiler_test.go:24: values: [0]
> 	compiler_test.go:24:  0: goja.getVar1(Math)
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(pow)
> 	compiler_test.go:24:  3: goja.loadVal(0)
> 	compiler_test.go:24:  4: goja.loadVal(0)
> 	compiler_test.go:24:  5: goja.call(2)
> 	compiler_test.go:24:  6: goja._halt({})
> 	compiler_test.go:60: stack size: 4
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestInterrupt
> --- PASS: TestInterrupt (0.20s)
> === RUN   TestRuntime_ExportToSlice
> --- PASS: TestRuntime_ExportToSlice (0.00s)
> === RUN   TestRuntime_ExportToMap
> --- PASS: TestRuntime_ExportToMap (0.00s)
> === RUN   TestRuntime_ExportToMap1
> --- PASS: TestRuntime_ExportToMap1 (0.00s)
> === RUN   TestRuntime_ExportToStruct
> --- PASS: TestRuntime_ExportToStruct (0.00s)
> === RUN   TestRuntime_ExportToFunc
> --- PASS: TestRuntime_ExportToFunc (0.00s)
> === RUN   TestRuntime_ExportToFuncThrow
> --- PASS: TestRuntime_ExportToFuncThrow (0.00s)
> === RUN   TestRuntime_ExportToFuncFail
> --- PASS: TestRuntime_ExportToFuncFail (0.00s)
> === RUN   TestRuntime_ExportToCallable
> --- PASS: TestRuntime_ExportToCallable (0.00s)
> === RUN   TestRuntime_ExportToObject
> --- PASS: TestRuntime_ExportToObject (0.00s)
> === RUN   TestGoFuncError
> --- PASS: TestGoFuncError (0.00s)
> === RUN   TestToValueNil
> --- PASS: TestToValueNil (0.00s)
> === RUN   TestJSONEscape
> --- PASS: TestJSONEscape (0.00s)
> 	compiler_test.go:24: values: [\+1]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.resolveVar1(a)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(JSON)
> 	compiler_test.go:24:  6: goja._dup({})
> 	compiler_test.go:24:  7: goja.getPropCallee(stringify)
> 	compiler_test.go:24:  8: goja.getVar1(a)
> 	compiler_test.go:24:  9: goja.call(1)
> 	compiler_test.go:24:  10: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestJSONObjectInArray
> --- PASS: TestJSONObjectInArray (0.00s)
> 	compiler_test.go:24: values: [[{"a":1},{"a":2}]]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.resolveVar1(a)
> 	compiler_test.go:24:  2: goja.loadVal(0)
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja.getVar1(JSON)
> 	compiler_test.go:24:  6: goja._dup({})
> 	compiler_test.go:24:  7: goja.getPropCallee(stringify)
> 	compiler_test.go:24:  8: goja.getVar1(JSON)
> 	compiler_test.go:24:  9: goja._dup({})
> 	compiler_test.go:24:  10: goja.getPropCallee(parse)
> 	compiler_test.go:24:  11: goja.getVar1(a)
> 	compiler_test.go:24:  12: goja.call(1)
> 	compiler_test.go:24:  13: goja.call(1)
> 	compiler_test.go:24:  14: goja.getVar1(a)
> 	compiler_test.go:24:  15: goja._op_eq({})
> 	compiler_test.go:24:  16: goja._halt({})
> 	compiler_test.go:60: stack size: 5
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestJSONQuirkyNumbers
> --- PASS: TestJSONQuirkyNumbers (0.00s)
> 	compiler_test.go:24: values: [null NaN:  Infinity:  -Infinity: ]
> 	compiler_test.go:24:  0: goja.bindName(s)
> 	compiler_test.go:24:  1: goja.resolveVar1(s)
> 	compiler_test.go:24:  2: goja.getVar1(JSON)
> 	compiler_test.go:24:  3: goja._dup({})
> 	compiler_test.go:24:  4: goja.getPropCallee(stringify)
> 	compiler_test.go:24:  5: goja.getVar1(NaN)
> 	compiler_test.go:24:  6: goja.call(1)
> 	compiler_test.go:24:  7: goja._putValue({})
> 	compiler_test.go:24:  8: goja._pop({})
> 	compiler_test.go:24:  9: goja.getVar1(s)
> 	compiler_test.go:24:  10: goja.loadVal(0)
> 	compiler_test.go:24:  11: goja._op_neq({})
> 	compiler_test.go:24:  12: goja.jne(7)
> 	compiler_test.go:24:  13: goja.getVar1(Error)
> 	compiler_test.go:24:  14: goja.loadVal(1)
> 	compiler_test.go:24:  15: goja.getVar1(s)
> 	compiler_test.go:24:  16: goja._add({})
> 	compiler_test.go:24:  17: goja._new(1)
> 	compiler_test.go:24:  18: goja._throw({})
> 	compiler_test.go:24:  19: goja.resolveVar1(s)
> 	compiler_test.go:24:  20: goja.getVar1(JSON)
> 	compiler_test.go:24:  21: goja._dup({})
> 	compiler_test.go:24:  22: goja.getPropCallee(stringify)
> 	compiler_test.go:24:  23: goja.getVar1(Infinity)
> 	compiler_test.go:24:  24: goja.call(1)
> 	compiler_test.go:24:  25: goja._putValue({})
> 	compiler_test.go:24:  26: goja._pop({})
> 	compiler_test.go:24:  27: goja.getVar1(s)
> 	compiler_test.go:24:  28: goja.loadVal(0)
> 	compiler_test.go:24:  29: goja._op_neq({})
> 	compiler_test.go:24:  30: goja.jne(7)
> 	compiler_test.go:24:  31: goja.getVar1(Error)
> 	compiler_test.go:24:  32: goja.loadVal(2)
> 	compiler_test.go:24:  33: goja.getVar1(s)
> 	compiler_test.go:24:  34: goja._add({})
> 	compiler_test.go:24:  35: goja._new(1)
> 	compiler_test.go:24:  36: goja._throw({})
> 	compiler_test.go:24:  37: goja.resolveVar1(s)
> 	compiler_test.go:24:  38: goja.getVar1(JSON)
> 	compiler_test.go:24:  39: goja._dup({})
> 	compiler_test.go:24:  40: goja.getPropCallee(stringify)
> 	compiler_test.go:24:  41: goja.getVar1(Infinity)
> 	compiler_test.go:24:  42: goja._neg({})
> 	compiler_test.go:24:  43: goja.call(1)
> 	compiler_test.go:24:  44: goja._putValue({})
> 	compiler_test.go:24:  45: goja._pop({})
> 	compiler_test.go:24:  46: goja.getVar1(s)
> 	compiler_test.go:24:  47: goja.loadVal(0)
> 	compiler_test.go:24:  48: goja._op_neq({})
> 	compiler_test.go:24:  49: goja.jne(7)
> 	compiler_test.go:24:  50: goja.getVar1(Error)
> 	compiler_test.go:24:  51: goja.loadVal(3)
> 	compiler_test.go:24:  52: goja.getVar1(s)
> 	compiler_test.go:24:  53: goja._add({})
> 	compiler_test.go:24:  54: goja._new(1)
> 	compiler_test.go:24:  55: goja._throw({})
> 	compiler_test.go:24:  56: goja._loadUndef({})
> 	compiler_test.go:24:  57: goja._halt({})
> 	compiler_test.go:60: stack size: 3
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestJSONNil
> --- PASS: TestJSONNil (0.00s)
> === RUN   TestJsonEncodable
> --- PASS: TestJsonEncodable (0.00s)
> === RUN   TestSortComparatorReturnValues
> --- PASS: TestSortComparatorReturnValues (0.00s)
> 	compiler_test.go:24: values: [0 12 11 Value at index   is incorrect: ]
> 	compiler_test.go:24:  0: goja.bindName(a)
> 	compiler_test.go:24:  1: goja.bindName(i)
> 	compiler_test.go:24:  2: goja.resolveVar1(a)
> 	compiler_test.go:24:  3: goja.newArray(0)
> 	compiler_test.go:24:  4: goja._putValue({})
> 	compiler_test.go:24:  5: goja._pop({})
> 	compiler_test.go:24:  6: goja.resolveVar1(i)
> 	compiler_test.go:24:  7: goja.loadVal(0)
> 	compiler_test.go:24:  8: goja._putValue({})
> 	compiler_test.go:24:  9: goja._pop({})
> 	compiler_test.go:24:  10: goja.getVar1(i)
> 	compiler_test.go:24:  11: goja.loadVal(1)
> 	compiler_test.go:24:  12: goja._op_lt({})
> 	compiler_test.go:24:  13: goja.jne(12)
> 	compiler_test.go:24:  14: goja.getVar1(a)
> 	compiler_test.go:24:  15: goja.getVar1(i)
> 	compiler_test.go:24:  16: goja.getVar1(i)
> 	compiler_test.go:24:  17: goja._setElem({})
> 	compiler_test.go:24:  18: goja._pop({})
> 	compiler_test.go:24:  19: goja.resolveVar1(i)
> 	compiler_test.go:24:  20: goja._getValue({})
> 	compiler_test.go:24:  21: goja._inc({})
> 	compiler_test.go:24:  22: goja._putValue({})
> 	compiler_test.go:24:  23: goja._pop({})
> 	compiler_test.go:24:  24: goja.jump(-14)
> 	compiler_test.go:24:  25: goja.getVar1(a)
> 	compiler_test.go:24:  26: goja._dup({})
> 	compiler_test.go:24:  27: goja.getPropCallee(sort)
> 	compiler_test.go:24:  28: *goja.newFunc(&{0xc4200f2ea0  2 false 73 104})
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({0 2})
> 	compiler_test.go:24: > 1: goja.loadStack(-2)
> 	compiler_test.go:24: > 2: goja.loadStack(-1)
> 	compiler_test.go:24: > 3: goja._sub({})
> 	compiler_test.go:24: > 4: goja._retStashless({})
> 	compiler_test.go:24:  29: goja.call(1)
> 	compiler_test.go:24:  30: goja._pop({})
> 	compiler_test.go:24:  31: goja.resolveVar1(i)
> 	compiler_test.go:24:  32: goja.loadVal(0)
> 	compiler_test.go:24:  33: goja._putValue({})
> 	compiler_test.go:24:  34: goja._pop({})
> 	compiler_test.go:24:  35: goja._loadUndef({})
> 	compiler_test.go:24:  36: goja.getVar1(i)
> 	compiler_test.go:24:  37: goja.loadVal(1)
> 	compiler_test.go:24:  38: goja._op_lt({})
> 	compiler_test.go:24:  39: goja.jne(30)
> 	compiler_test.go:24:  40: goja.getVar1(a)
> 	compiler_test.go:24:  41: goja.getVar1(i)
> 	compiler_test.go:24:  42: goja._getElem({})
> 	compiler_test.go:24:  43: goja.loadVal(2)
> 	compiler_test.go:24:  44: goja.getVar1(i)
> 	compiler_test.go:24:  45: goja._sub({})
> 	compiler_test.go:24:  46: goja._op_strict_neq({})
> 	compiler_test.go:24:  47: goja.jne(13)
> 	compiler_test.go:24:  48: goja.getVar1(Error)
> 	compiler_test.go:24:  49: goja.loadVal(3)
> 	compiler_test.go:24:  50: goja.getVar1(i)
> 	compiler_test.go:24:  51: goja._add({})
> 	compiler_test.go:24:  52: goja.loadVal(4)
> 	compiler_test.go:24:  53: goja._add({})
> 	compiler_test.go:24:  54: goja.getVar1(a)
> 	compiler_test.go:24:  55: goja.getVar1(i)
> 	compiler_test.go:24:  56: goja._getElem({})
> 	compiler_test.go:24:  57: goja._add({})
> 	compiler_test.go:24:  58: goja._new(1)
> 	compiler_test.go:24:  59: goja._throw({})
> 	compiler_test.go:24:  60: goja._loadUndef({})
> 	compiler_test.go:24:  61: goja.rdupN(1)
> 	compiler_test.go:24:  62: goja._pop({})
> 	compiler_test.go:24:  63: goja.resolveVar1(i)
> 	compiler_test.go:24:  64: goja._getValue({})
> 	compiler_test.go:24:  65: goja._inc({})
> 	compiler_test.go:24:  66: goja._putValue({})
> 	compiler_test.go:24:  67: goja._pop({})
> 	compiler_test.go:24:  68: goja.jump(-32)
> 	compiler_test.go:24:  69: goja._halt({})
> 	compiler_test.go:60: stack size: 9
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNilApplyArg
> --- PASS: TestNilApplyArg (0.00s)
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24:  0: *goja.newFunc(&{0xc4200f3260 x 2 false 3 68})
> 	compiler_test.go:24: values: [1]
> 	compiler_test.go:24: > 0: goja.enterFuncStashless({1 2})
> 	compiler_test.go:24: > 1: goja._loadCallee({})
> 	compiler_test.go:24: > 2: goja.storeStackP(1)
> 	compiler_test.go:24: > 3: goja.loadStack(-1)
> 	compiler_test.go:24: > 4: goja.getVar1(undefined)
> 	compiler_test.go:24: > 5: goja._op_strict_eq({})
> 	compiler_test.go:24: > 6: goja.jneq1(5)
> 	compiler_test.go:24: > 7: goja._pop({})
> 	compiler_test.go:24: > 8: goja.loadStack(-2)
> 	compiler_test.go:24: > 9: goja.loadVal(0)
> 	compiler_test.go:24: > 10: goja._op_strict_eq({})
> 	compiler_test.go:24: > 11: goja._retStashless({})
> 	compiler_test.go:24:  1: goja._dup({})
> 	compiler_test.go:24:  2: goja.getPropCallee(apply)
> 	compiler_test.go:24:  3: goja._loadGlobalObject({})
> 	compiler_test.go:24:  4: goja._loadNil({})
> 	compiler_test.go:24:  5: goja.loadVal(0)
> 	compiler_test.go:24:  6: goja.newArray(2)
> 	compiler_test.go:24:  7: goja.call(2)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 11
> 	compiler_test.go:61: stashAllocs: 0
> === RUN   TestNilCallArg
> --- PASS: TestNilCallArg (0.00s)
> === RUN   TestNullCallArg
> --- PASS: TestNullCallArg (0.00s)
> === RUN   TestObjectKeys
> --- PASS: TestObjectKeys (0.00s)
> === RUN   TestPosition
> --- PASS: TestPosition (0.00s)
> === RUN   TestTC39
> --- SKIP: TestTC39 (0.00s)
> 	tc39_test.go:263: If you want to run tc39 tests, download them from https://github.com/tc39/test262 and put into testdata/test262. The last working commit is 1ba3a7c4a93fc93b3d0d7e4146f59934a896837d. (stat testdata/test262: no such file or directory)
> === RUN   TestVM1
> --- PASS: TestVM1 (0.00s)
> === RUN   TestEvalVar
> --- PASS: TestEvalVar (0.00s)
> 	compiler_test.go:24: values: []
> 	compiler_test.go:24:  0: goja.bindName(test)
> 	compiler_test.go:24:  1: goja.resolveVar1(test)
> 	compiler_test.go:24:  2: *goja.newFunc(&{0xc4200f2c60 test 0 false 2 106})
> 	compiler_test.go:24: values: [var a = 'yes'; var z = 'no'; a; yes]
> 	compiler_test.go:24: > 0: goja.enterFunc(0)
> 	compiler_test.go:24: > 1: goja.bindName(a)
> 	compiler_test.go:24: > 2: goja._boxThis({})
> 	compiler_test.go:24: > 3: goja._loadUndef({})
> 	compiler_test.go:24: > 4: goja.getVar1Callee(eval)
> 	compiler_test.go:24: > 5: goja.loadVal(0)
> 	compiler_test.go:24: > 6: goja.callEval(1)
> 	compiler_test.go:24: > 7: goja.loadVal(1)
> 	compiler_test.go:24: > 8: goja._op_strict_eq({})
> 	compiler_test.go:24: > 9: goja.jneq1(5)
> 	compiler_test.go:24: > 10: goja._pop({})
> 	compiler_test.go:24: > 11: goja.getVar1(a)
> 	compiler_test.go:24: > 12: goja.loadVal(1)
> 	compiler_test.go:24: > 13: goja._op_strict_eq({})
> 	compiler_test.go:24: > 14: goja._ret({})
> 	compiler_test.go:24:  3: goja._putValue({})
> 	compiler_test.go:24:  4: goja._pop({})
> 	compiler_test.go:24:  5: goja._loadUndef({})
> 	compiler_test.go:24:  6: goja.getVar1Callee(test)
> 	compiler_test.go:24:  7: goja.call(0)
> 	compiler_test.go:24:  8: goja._halt({})
> 	compiler_test.go:60: stack size: 7
> 	compiler_test.go:61: stashAllocs: 1
> FAIL
> FAIL	github.com/dop251/goja	0.323s
> ?   	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]
> dh_auto_test: go test -v -p 16 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://aws-logs.debian.net/2017/08/05/golang-github-dop251-goja_0.0~git20170430.0.d382686-1_unstable.log

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!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Pkg-go-maintainers mailing list