• Richard Musiol's avatar
    syscall/js: use stable references to JavaScript values · 8997ec1c
    Richard Musiol authored
    This commit changes how JavaScript values are referenced by Go code.
    After this change, a JavaScript value is always represented by the same
    ref, even if passed multiple times from JavaScript to Go. This allows
    Go's == operator to work as expected on js.Value (strict equality).
    Additionally, the performance of some operations of the syscall/js
    package got improved by saving additional roundtrips to JavaScript code.
    
    Fixes #25802.
    
    Change-Id: Ide6ffe66c6aa1caf5327a2d3ddbe48fe7c180461
    Reviewed-on: https://go-review.googlesource.com/120561
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    8997ec1c
js_js.s 857 Bytes