BEAM-native JS engine and compiler#5
Open
dannote wants to merge 1015 commits into
Open
Conversation
0eb3475 to
7c1c574
Compare
75fdba5 to
527d5b9
Compare
Result: {"status":"keep","js_bytecode_existing_failures":42,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":116,"js_bytecode_existing_unsupported":40,"js_bytecode_existing_mismatches":1,"js_bytecode_existing_native_loadable":115,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":29,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":129,"js_bytecode_existing_unsupported":27,"js_bytecode_existing_mismatches":1,"js_bytecode_existing_native_loadable":128,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
…losure mutation
Result: {"status":"keep","js_bytecode_existing_failures":29,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":129,"js_bytecode_existing_unsupported":27,"js_bytecode_existing_mismatches":1,"js_bytecode_existing_native_loadable":128,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":24,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":137,"js_bytecode_existing_unsupported":19,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":135,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":24,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":137,"js_bytecode_existing_unsupported":19,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":135,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":23,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":139,"js_bytecode_existing_unsupported":17,"js_bytecode_existing_mismatches":5,"js_bytecode_existing_native_loadable":136,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
…s, var_ref, eval opcode)
Result: {"status":"keep","js_bytecode_existing_failures":23,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":139,"js_bytecode_existing_unsupported":17,"js_bytecode_existing_mismatches":5,"js_bytecode_existing_native_loadable":136,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":22,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":139,"js_bytecode_existing_unsupported":17,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":137,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":22,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":139,"js_bytecode_existing_unsupported":17,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":137,"js_bytecode_compiler_cases":130,"js_bytecode_compiler_compiled":130,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":130,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":21,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":140,"js_bytecode_existing_unsupported":16,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":138,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":21,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":140,"js_bytecode_existing_unsupported":16,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":138,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":18,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":18,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":18,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":4,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
…ture
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
…ed function atom tables
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","js_bytecode_existing_failures":16,"js_bytecode_existing_cases":157,"js_bytecode_existing_compiled":143,"js_bytecode_existing_unsupported":13,"js_bytecode_existing_mismatches":2,"js_bytecode_existing_native_loadable":141,"js_bytecode_compiler_cases":132,"js_bytecode_compiler_compiled":132,"js_bytecode_compiler_unsupported":0,"js_bytecode_compiler_mismatches":0,"js_bytecode_compiler_native_loadable":132,"js_bytecode_compiler_failures":0}
Result: {"status":"keep","compatibility_failures":6,"compiler_test262_cases":153,"compiler_test262_pass":147,"compiler_test262_failures":6,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":0,"compiler_test262_both_fail":5,"compiler_test262_interpreter_fail_compiler_pass":0,"compatibility_pass":147,"compatibility_cases":153,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":0,"both_fail":5,"interpreter_fail_compiler_pass":0,"elapsed_ms":10489}
Result: {"status":"keep","compatibility_failures":5,"compiler_test262_cases":153,"compiler_test262_pass":148,"compiler_test262_failures":5,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":0,"compiler_test262_both_fail":5,"compiler_test262_interpreter_fail_compiler_pass":0,"compatibility_pass":148,"compatibility_cases":153,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":0,"both_fail":5,"interpreter_fail_compiler_pass":0,"elapsed_ms":7006}
Result: {"status":"keep","compatibility_failures":4,"compiler_test262_cases":153,"compiler_test262_pass":149,"compiler_test262_failures":4,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":0,"compiler_test262_both_fail":4,"compiler_test262_interpreter_fail_compiler_pass":0,"compatibility_pass":149,"compatibility_cases":153,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":0,"both_fail":4,"interpreter_fail_compiler_pass":0,"elapsed_ms":6853}
Result: {"status":"keep","compatibility_failures":5,"compiler_test262_cases":300,"compiler_test262_pass":295,"compiler_test262_failures":5,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":0,"compiler_test262_both_fail":5,"compiler_test262_interpreter_fail_compiler_pass":0,"compatibility_pass":295,"compatibility_cases":300,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":0,"both_fail":5,"interpreter_fail_compiler_pass":0,"elapsed_ms":11094}
Result: {"status":"keep","compatibility_failures":4,"compiler_test262_cases":300,"compiler_test262_pass":296,"compiler_test262_failures":4,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":0,"compiler_test262_both_fail":4,"compiler_test262_interpreter_fail_compiler_pass":0,"compatibility_pass":296,"compatibility_cases":300,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":0,"both_fail":4,"interpreter_fail_compiler_pass":0,"elapsed_ms":10888}
Result: {"status":"keep","compatibility_failures":101,"compiler_test262_cases":509,"compiler_test262_pass":408,"compiler_test262_failures":101,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":94,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":408,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":94,"interpreter_fail_compiler_pass":3,"elapsed_ms":52527}
Result: {"status":"keep","compatibility_failures":96,"compiler_test262_cases":509,"compiler_test262_pass":413,"compiler_test262_failures":96,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":89,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":413,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":89,"interpreter_fail_compiler_pass":3,"elapsed_ms":52785}
Result: {"status":"keep","compatibility_failures":94,"compiler_test262_cases":509,"compiler_test262_pass":415,"compiler_test262_failures":94,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":87,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":415,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":87,"interpreter_fail_compiler_pass":3,"elapsed_ms":53446}
Result: {"status":"keep","compatibility_failures":92,"compiler_test262_cases":509,"compiler_test262_pass":417,"compiler_test262_failures":92,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":85,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":417,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":85,"interpreter_fail_compiler_pass":3,"elapsed_ms":52621}
Result: {"status":"keep","compatibility_failures":87,"compiler_test262_cases":509,"compiler_test262_pass":422,"compiler_test262_failures":87,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":80,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":422,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":80,"interpreter_fail_compiler_pass":3,"elapsed_ms":52808}
Result: {"status":"keep","compatibility_failures":85,"compiler_test262_cases":509,"compiler_test262_pass":424,"compiler_test262_failures":85,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":78,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":424,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":78,"interpreter_fail_compiler_pass":3,"elapsed_ms":53528}
Result: {"status":"keep","compatibility_failures":83,"compiler_test262_cases":509,"compiler_test262_pass":426,"compiler_test262_failures":83,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":76,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":426,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":76,"interpreter_fail_compiler_pass":3,"elapsed_ms":53330}
Result: {"status":"keep","compatibility_failures":82,"compiler_test262_cases":509,"compiler_test262_pass":427,"compiler_test262_failures":82,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":75,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":427,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":75,"interpreter_fail_compiler_pass":3,"elapsed_ms":54589}
Result: {"status":"keep","compatibility_failures":79,"compiler_test262_cases":509,"compiler_test262_pass":430,"compiler_test262_failures":79,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":72,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":430,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":72,"interpreter_fail_compiler_pass":3,"elapsed_ms":54858}
Result: {"status":"keep","compatibility_failures":76,"compiler_test262_cases":509,"compiler_test262_pass":433,"compiler_test262_failures":76,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":69,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":433,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":69,"interpreter_fail_compiler_pass":3,"elapsed_ms":55003}
Result: {"status":"keep","compatibility_failures":74,"compiler_test262_cases":509,"compiler_test262_pass":435,"compiler_test262_failures":74,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":66,"compiler_test262_interpreter_fail_compiler_pass":4,"compatibility_pass":435,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":66,"interpreter_fail_compiler_pass":4,"elapsed_ms":53779}
Result: {"status":"keep","compatibility_failures":73,"compiler_test262_cases":509,"compiler_test262_pass":436,"compiler_test262_failures":73,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":66,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":436,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":66,"interpreter_fail_compiler_pass":3,"elapsed_ms":53580}
Result: {"status":"keep","compatibility_failures":67,"compiler_test262_cases":509,"compiler_test262_pass":442,"compiler_test262_failures":67,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":60,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":442,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":60,"interpreter_fail_compiler_pass":3,"elapsed_ms":52710}
Result: {"status":"keep","compatibility_failures":66,"compiler_test262_cases":509,"compiler_test262_pass":443,"compiler_test262_failures":66,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":59,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":443,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":59,"interpreter_fail_compiler_pass":3,"elapsed_ms":54121}
Result: {"status":"keep","compatibility_failures":65,"compiler_test262_cases":509,"compiler_test262_pass":444,"compiler_test262_failures":65,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":58,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":444,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":58,"interpreter_fail_compiler_pass":3,"elapsed_ms":53853}
Result: {"status":"keep","compatibility_failures":63,"compiler_test262_cases":509,"compiler_test262_pass":446,"compiler_test262_failures":63,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":56,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":446,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":56,"interpreter_fail_compiler_pass":3,"elapsed_ms":53710}
Result: {"status":"keep","compatibility_failures":60,"compiler_test262_cases":509,"compiler_test262_pass":449,"compiler_test262_failures":60,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":53,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":449,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":53,"interpreter_fail_compiler_pass":3,"elapsed_ms":52538}
Result: {"status":"keep","compatibility_failures":59,"compiler_test262_cases":509,"compiler_test262_pass":450,"compiler_test262_failures":59,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":52,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":450,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":52,"interpreter_fail_compiler_pass":3,"elapsed_ms":54064}
Result: {"status":"keep","compatibility_failures":58,"compiler_test262_cases":509,"compiler_test262_pass":451,"compiler_test262_failures":58,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":51,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":451,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":51,"interpreter_fail_compiler_pass":3,"elapsed_ms":54072}
Result: {"status":"keep","compatibility_failures":54,"compiler_test262_cases":509,"compiler_test262_pass":455,"compiler_test262_failures":54,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":47,"compiler_test262_interpreter_fail_compiler_pass":3,"compatibility_pass":455,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":47,"interpreter_fail_compiler_pass":3,"elapsed_ms":53153}
Result: {"status":"keep","compatibility_failures":52,"compiler_test262_cases":509,"compiler_test262_pass":457,"compiler_test262_failures":52,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":47,"compiler_test262_interpreter_fail_compiler_pass":1,"compatibility_pass":457,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":47,"interpreter_fail_compiler_pass":1,"elapsed_ms":53553}
Result: {"status":"keep","compatibility_failures":43,"compiler_test262_cases":509,"compiler_test262_pass":466,"compiler_test262_failures":43,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":38,"compiler_test262_interpreter_fail_compiler_pass":1,"compatibility_pass":466,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":38,"interpreter_fail_compiler_pass":1,"elapsed_ms":53010}
Result: {"status":"keep","compatibility_failures":43,"compiler_test262_cases":509,"compiler_test262_pass":466,"compiler_test262_failures":43,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":2,"compiler_test262_both_fail":38,"compiler_test262_interpreter_fail_compiler_pass":1,"compatibility_pass":466,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":2,"both_fail":38,"interpreter_fail_compiler_pass":1,"elapsed_ms":54997}
Result: {"status":"keep","compatibility_failures":41,"compiler_test262_cases":509,"compiler_test262_pass":468,"compiler_test262_failures":41,"compiler_test262_compiler_errors":0,"compiler_test262_compiler_crashes":0,"compiler_test262_compiler_fails":0,"compiler_test262_both_fail":38,"compiler_test262_interpreter_fail_compiler_pass":1,"compatibility_pass":468,"compatibility_cases":509,"compiler_errors":0,"compiler_crashes":0,"compiler_fails":0,"both_fail":38,"interpreter_fail_compiler_pass":1,"elapsed_ms":52777}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a second QuickJS execution backend that runs decoded QuickJS bytecode on the BEAM, plus an experimental compiler path that lowers QuickJS bytecode to BEAM modules.
Public API and runtime modes
mode: :beamsupport for running JavaScript through the BEAM VM backendmode: :autocompiler-backed execution with fallbackmode: :beam_compilerQUICKBEAM_MODE=beam_compilersupport for audit runs:beambackend viaQuickBEAM.disasm/2Error.captureStackTraceBytecode VM
Compiler backend
JavaScript semantics covered
Object,Array,Function,String,Number,BooleanMath,JSON,Date,RegExpMap,Set,WeakMap,WeakSet, collection iterators, and self-iterabilitySymbol, well-known symbols, property keys, andSymbol.toStringTagPromise,async/await, generators, delegatedyield*, and async generatorsProxyandReflect, including descriptor/prototype/extensibility invariantsTypedArray,ArrayBuffer,BigIntsuper, private fields, private methods, private accessors, static private members, brand checks, and constructor return semanticsObject.create,Object.assign,Object.fromEntries, freeze/seal/preventExtensions/isExtensible/isFrozen/isSealedeval,with, refs, globals, callback/global write freshness, delete semantics,in,instanceof,new, update operators, arithmetic/coercion edge cases, and BigInt operationsgosub/retfinally control flow, nested catches inside finally, break/continue through finally, and catch-region slot preservationwith/destructuringStatic analysis and cleanup
ex_dna,ex_slop, andcredomix lintnow runs ExDNA with a zero-clone budget--no-starttest runs:modeAudit and benchmark tooling
bench/vm_compiler_compat.exsbench/vm_compiler_corpus.exsbench/vm_compiler_opcode_coverage.exsbench/vm_compiler_perf.exsbench/vm_compiler_semantic_gaps.exsbench/vm_compiler_test262.exstest/support/vm_compiler_audit.exCurrent compiler audit status
invalid, intentionally unsupported45.239µsto42.845µs1.113xRecent validation
mix compile --warnings-as-errorsmix lintmix dialyzermix test test/js/parser test/vm/auto_mode_test.exs test/vm/compiler_differential_test.exs test/web_apis/beam_fetch_test.exs test/web_apis/beam_text_encoding_test.exs test/web_apis/beam_buffer_test.exs test/web_apis/beam_streams_test.exs test/web_apis/event_source_test.exsmix test --no-start --exclude napi_addon --exclude napi_sqlite test/web_apis/event_source_test.exs test/web_apis/beam_event_source_test.exsPARSER_BENCH=vm_compiler_semantics ./autoresearch.shTEST262_LIMIT=1500 TEST262_CASE_TIMEOUT=5000 PARSER_BENCH=vm_compiler_test262 ./autoresearch.shPrevious broad validation:
QUICKBEAM_BUILD=1 MIX_ENV=test mix testMIX_ENV=test QUICKBEAM_BUILD=1 mix test test/vm/js_engine_test.exs --include js_engine --seed 0mix format --check-formattedmix credo --strictmix dialyzermix ex_dnazlint lib/quickbeam/*.zig lib/quickbeam/napi/*.zigbunx oxlint -c oxlint.json --type-aware --type-check priv/ts/bunx jscpd lib/quickbeam/*.zig priv/ts/*.ts --min-tokens 50 --threshold 0