gitextract_xo92gz2d/ ├── .cargo/ │ └── config.toml ├── .config/ │ └── nextest.toml ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ ├── custom.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── codecov.yml │ ├── dependabot.yml │ ├── labeler.yml │ ├── release.yml │ └── workflows/ │ ├── codeql.yml │ ├── labeler.yml │ ├── nightly_build.yml │ ├── pr_management.yml │ ├── pull_request.yml │ ├── release.yml │ ├── rust.yml │ ├── security_audit.yml │ ├── test262.yml │ ├── test262_comment.yml │ ├── test262_release.yml │ └── webassembly.yml ├── .gitignore ├── .husky/ │ └── pre-push ├── .prettierignore ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── ABOUT.md ├── CHANGELOG.md ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE-MIT ├── LICENSE-UNLICENSE ├── Makefile.toml ├── PR_MESSAGE_EXPECT_EXPRESSION.md ├── README.md ├── SECURITY.md ├── benches/ │ ├── Cargo.toml │ ├── benches/ │ │ └── scripts.rs │ ├── scripts/ │ │ ├── basic/ │ │ │ ├── call-loop.js │ │ │ ├── closure.js │ │ │ └── nested-loop.js │ │ ├── closures/ │ │ │ ├── create.js │ │ │ └── invoke.js │ │ ├── intl/ │ │ │ ├── collator-compare.js │ │ │ ├── collator-construction.js │ │ │ ├── datetimeformat-construction.js │ │ │ ├── datetimeformat-format.js │ │ │ ├── datetimeformat-with-options.js │ │ │ ├── datetimeformat_resolved_options.js │ │ │ ├── listformat-construction.js │ │ │ ├── listformat-format.js │ │ │ ├── numberformat-construction.js │ │ │ ├── numberformat-different-options.js │ │ │ ├── pluralrules-construction.js │ │ │ ├── pluralrules-select.js │ │ │ ├── segmenter-construction.js │ │ │ └── segmenter-segment.js │ │ ├── properties/ │ │ │ └── access.js │ │ ├── prototypes/ │ │ │ └── chain.js │ │ ├── strings/ │ │ │ ├── concat.js │ │ │ ├── replace.js │ │ │ ├── slice.js │ │ │ └── split.js │ │ └── v8-benches/ │ │ ├── README.md │ │ ├── crypto.js │ │ ├── deltablue.js │ │ ├── earley-boyer.js │ │ ├── navier-stokes.js │ │ ├── raytrace.js │ │ ├── regexp.js │ │ ├── richards.js │ │ └── splay.js │ └── src/ │ └── lib.rs ├── cli/ │ ├── ABOUT.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── debug/ │ │ ├── function.rs │ │ ├── gc.rs │ │ ├── limits.rs │ │ ├── mod.rs │ │ ├── object.rs │ │ ├── optimizer.rs │ │ ├── realm.rs │ │ ├── shape.rs │ │ └── string.rs │ ├── executor.rs │ ├── helper.rs │ ├── logger.rs │ └── main.rs ├── clippy.toml ├── core/ │ ├── ast/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── declaration/ │ │ │ │ ├── export.rs │ │ │ │ ├── import.rs │ │ │ │ ├── mod.rs │ │ │ │ └── variable.rs │ │ │ ├── expression/ │ │ │ │ ├── access.rs │ │ │ │ ├── await.rs │ │ │ │ ├── call.rs │ │ │ │ ├── identifier.rs │ │ │ │ ├── import_meta.rs │ │ │ │ ├── literal/ │ │ │ │ │ ├── array.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── object.rs │ │ │ │ │ └── template.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── new.rs │ │ │ │ ├── new_target.rs │ │ │ │ ├── operator/ │ │ │ │ │ ├── assign/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── op.rs │ │ │ │ │ ├── binary/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── op.rs │ │ │ │ │ ├── conditional.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── unary/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── op.rs │ │ │ │ │ └── update/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── op.rs │ │ │ │ ├── optional.rs │ │ │ │ ├── parenthesized.rs │ │ │ │ ├── regexp.rs │ │ │ │ ├── spread.rs │ │ │ │ ├── tagged_template.rs │ │ │ │ ├── this.rs │ │ │ │ └── yield.rs │ │ │ ├── function/ │ │ │ │ ├── arrow_function.rs │ │ │ │ ├── async_arrow_function.rs │ │ │ │ ├── async_function.rs │ │ │ │ ├── async_generator.rs │ │ │ │ ├── class.rs │ │ │ │ ├── generator.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── ordinary_function.rs │ │ │ │ └── parameters.rs │ │ │ ├── keyword/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── lib.rs │ │ │ ├── module_item_list/ │ │ │ │ └── mod.rs │ │ │ ├── operations/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── pattern.rs │ │ │ ├── position.rs │ │ │ ├── property.rs │ │ │ ├── punctuator/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── scope.rs │ │ │ ├── scope_analyzer.rs │ │ │ ├── source.rs │ │ │ ├── source_text.rs │ │ │ ├── statement/ │ │ │ │ ├── block.rs │ │ │ │ ├── if.rs │ │ │ │ ├── iteration/ │ │ │ │ │ ├── break.rs │ │ │ │ │ ├── continue.rs │ │ │ │ │ ├── do_while_loop.rs │ │ │ │ │ ├── for_in_loop.rs │ │ │ │ │ ├── for_loop.rs │ │ │ │ │ ├── for_of_loop.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── while_loop.rs │ │ │ │ ├── labelled.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── return.rs │ │ │ │ ├── switch.rs │ │ │ │ ├── throw.rs │ │ │ │ ├── try.rs │ │ │ │ └── with.rs │ │ │ ├── statement_list.rs │ │ │ └── visitor.rs │ │ └── tests/ │ │ └── scope.rs │ ├── engine/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ ├── benches/ │ │ │ ├── README.md │ │ │ ├── bench_scripts/ │ │ │ │ ├── arithmetic_operations.js │ │ │ │ ├── array_access.js │ │ │ │ ├── array_create.js │ │ │ │ ├── array_pop.js │ │ │ │ ├── boolean_object_access.js │ │ │ │ ├── clean_js.js │ │ │ │ ├── fibonacci.js │ │ │ │ ├── for_loop.js │ │ │ │ ├── mini_js.js │ │ │ │ ├── number_object_access.js │ │ │ │ ├── object_creation.js │ │ │ │ ├── object_prop_access_const.js │ │ │ │ ├── object_prop_access_dyn.js │ │ │ │ ├── regexp.js │ │ │ │ ├── regexp_creation.js │ │ │ │ ├── regexp_literal.js │ │ │ │ ├── regexp_literal_creation.js │ │ │ │ ├── string_code_point_sum.js │ │ │ │ ├── string_compare.js │ │ │ │ ├── string_concat.js │ │ │ │ ├── string_copy.js │ │ │ │ ├── string_object_access.js │ │ │ │ └── symbol_creation.js │ │ │ └── full.rs │ │ ├── src/ │ │ │ ├── bigint.rs │ │ │ ├── builtins/ │ │ │ │ ├── array/ │ │ │ │ │ ├── array_iterator.rs │ │ │ │ │ ├── from_async.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── array_buffer/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── shared.rs │ │ │ │ │ ├── tests.rs │ │ │ │ │ └── utils.rs │ │ │ │ ├── async_function/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── async_generator/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── async_generator_function/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── atomics/ │ │ │ │ │ ├── futex.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── bigint/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── boolean/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── builder.rs │ │ │ │ ├── dataview/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── date/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── tests.rs │ │ │ │ │ └── utils.rs │ │ │ │ ├── error/ │ │ │ │ │ ├── aggregate.rs │ │ │ │ │ ├── eval.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── range.rs │ │ │ │ │ ├── reference.rs │ │ │ │ │ ├── syntax.rs │ │ │ │ │ ├── tests.rs │ │ │ │ │ ├── type.rs │ │ │ │ │ └── uri.rs │ │ │ │ ├── escape/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── eval/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── finalization_registry/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── function/ │ │ │ │ │ ├── arguments.rs │ │ │ │ │ ├── bound.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── generator/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── generator_function/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── intl/ │ │ │ │ │ ├── collator/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── options.rs │ │ │ │ │ ├── date_time_format/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── options.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── list_format/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── options.rs │ │ │ │ │ ├── locale/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── options.rs │ │ │ │ │ │ ├── tests.rs │ │ │ │ │ │ └── utils.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── number_format/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── options.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── options.rs │ │ │ │ │ ├── plural_rules/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── options.rs │ │ │ │ │ └── segmenter/ │ │ │ │ │ ├── iterator.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── options.rs │ │ │ │ │ └── segments.rs │ │ │ │ ├── is_html_dda.rs │ │ │ │ ├── iterable/ │ │ │ │ │ ├── async_from_sync_iterator.rs │ │ │ │ │ ├── iterator_constructor.rs │ │ │ │ │ ├── iterator_helper.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── tests.rs │ │ │ │ │ └── wrap_for_valid_iterator.rs │ │ │ │ ├── json/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── map/ │ │ │ │ │ ├── map_iterator.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── ordered_map.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── math/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── number/ │ │ │ │ │ ├── conversions.rs │ │ │ │ │ ├── globals.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── object/ │ │ │ │ │ ├── for_in_iterator.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── options.rs │ │ │ │ ├── promise/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── proxy/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── reflect/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── regexp/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── regexp_string_iterator.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── set/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── ordered_set.rs │ │ │ │ │ ├── set_iterator.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── string/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── string_iterator.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── symbol/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── temporal/ │ │ │ │ │ ├── calendar/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── duration/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── error.rs │ │ │ │ │ ├── instant/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── now.rs │ │ │ │ │ ├── options.rs │ │ │ │ │ ├── plain_date/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── plain_date_time/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── plain_month_day/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── plain_time/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── plain_year_month/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── tests.rs │ │ │ │ │ └── zoneddatetime/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── typed_array/ │ │ │ │ │ ├── builtin.rs │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── atomic.rs │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── object.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── uri/ │ │ │ │ │ ├── consts.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── weak/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── weak_ref.rs │ │ │ │ ├── weak_map/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ └── weak_set/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── bytecompiler/ │ │ │ │ ├── class.rs │ │ │ │ ├── declaration/ │ │ │ │ │ ├── declaration_pattern.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── declarations.rs │ │ │ │ ├── env.rs │ │ │ │ ├── expression/ │ │ │ │ │ ├── assign.rs │ │ │ │ │ ├── binary.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── object_literal.rs │ │ │ │ │ ├── unary.rs │ │ │ │ │ └── update.rs │ │ │ │ ├── function.rs │ │ │ │ ├── generator.rs │ │ │ │ ├── jump_control.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── module.rs │ │ │ │ ├── register.rs │ │ │ │ ├── statement/ │ │ │ │ │ ├── block.rs │ │ │ │ │ ├── break.rs │ │ │ │ │ ├── continue.rs │ │ │ │ │ ├── if.rs │ │ │ │ │ ├── labelled.rs │ │ │ │ │ ├── loop.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── switch.rs │ │ │ │ │ ├── try.rs │ │ │ │ │ └── with.rs │ │ │ │ └── utils.rs │ │ │ ├── class.rs │ │ │ ├── context/ │ │ │ │ ├── hooks.rs │ │ │ │ ├── icu.rs │ │ │ │ ├── intrinsics.rs │ │ │ │ ├── mod.rs │ │ │ │ └── time.rs │ │ │ ├── environments/ │ │ │ │ ├── mod.rs │ │ │ │ ├── runtime/ │ │ │ │ │ ├── declarative/ │ │ │ │ │ │ ├── function.rs │ │ │ │ │ │ ├── global.rs │ │ │ │ │ │ ├── lexical.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── module.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── private.rs │ │ │ │ └── tests.rs │ │ │ ├── error/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── host_defined.rs │ │ │ ├── interop/ │ │ │ │ ├── into_js_arguments.rs │ │ │ │ ├── into_js_function_impls.rs │ │ │ │ └── mod.rs │ │ │ ├── job.rs │ │ │ ├── lib.rs │ │ │ ├── module/ │ │ │ │ ├── loader/ │ │ │ │ │ ├── embedded.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── namespace.rs │ │ │ │ ├── source.rs │ │ │ │ └── synthetic.rs │ │ │ ├── native_function/ │ │ │ │ ├── continuation.rs │ │ │ │ └── mod.rs │ │ │ ├── object/ │ │ │ │ ├── builtins/ │ │ │ │ │ ├── jsarray.rs │ │ │ │ │ ├── jsarraybuffer.rs │ │ │ │ │ ├── jsasyncgenerator.rs │ │ │ │ │ ├── jsdataview.rs │ │ │ │ │ ├── jsdate.rs │ │ │ │ │ ├── jsfinalization_registry.rs │ │ │ │ │ ├── jsfunction.rs │ │ │ │ │ ├── jsgenerator.rs │ │ │ │ │ ├── jsgeneratorfunction.rs │ │ │ │ │ ├── jsmap.rs │ │ │ │ │ ├── jsmap_iterator.rs │ │ │ │ │ ├── jspromise.rs │ │ │ │ │ ├── jsproxy.rs │ │ │ │ │ ├── jsregexp.rs │ │ │ │ │ ├── jsset.rs │ │ │ │ │ ├── jsset_iterator.rs │ │ │ │ │ ├── jssharedarraybuffer.rs │ │ │ │ │ ├── jstypedarray.rs │ │ │ │ │ ├── jsweakmap.rs │ │ │ │ │ ├── jsweakset.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── datatypes.rs │ │ │ │ ├── internal_methods/ │ │ │ │ │ ├── immutable_prototype.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── string.rs │ │ │ │ ├── jsobject.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── operations.rs │ │ │ │ ├── property_map.rs │ │ │ │ ├── shape/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── property_table.rs │ │ │ │ │ ├── root_shape.rs │ │ │ │ │ ├── shared_shape/ │ │ │ │ │ │ ├── forward_transition.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── template.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── slot.rs │ │ │ │ │ └── unique_shape.rs │ │ │ │ └── tests.rs │ │ │ ├── optimizer/ │ │ │ │ ├── mod.rs │ │ │ │ ├── pass/ │ │ │ │ │ ├── constant_folding.rs │ │ │ │ │ ├── dead_code_elimination.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── strength_reduction.rs │ │ │ │ └── walker.rs │ │ │ ├── property/ │ │ │ │ ├── attribute/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── mod.rs │ │ │ │ └── nonmaxu32.rs │ │ │ ├── realm.rs │ │ │ ├── script.rs │ │ │ ├── spanned_source_text.rs │ │ │ ├── string.rs │ │ │ ├── symbol.rs │ │ │ ├── sys/ │ │ │ │ ├── fallback/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── js/ │ │ │ │ │ └── mod.rs │ │ │ │ └── mod.rs │ │ │ ├── tests/ │ │ │ │ ├── async_generator.rs │ │ │ │ ├── class.rs │ │ │ │ ├── control_flow/ │ │ │ │ │ ├── loops.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── env.rs │ │ │ │ ├── function.rs │ │ │ │ ├── generators.rs │ │ │ │ ├── iterators.rs │ │ │ │ ├── job.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── operators.rs │ │ │ │ ├── promise.rs │ │ │ │ ├── spread.rs │ │ │ │ └── to_string.rs │ │ │ ├── try_into_js_result_impls.rs │ │ │ ├── value/ │ │ │ │ ├── conversions/ │ │ │ │ │ ├── convert.rs │ │ │ │ │ ├── either.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── nullable/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── serde_json.rs │ │ │ │ │ ├── try_from_js/ │ │ │ │ │ │ ├── collections.rs │ │ │ │ │ │ └── tuples.rs │ │ │ │ │ ├── try_from_js.rs │ │ │ │ │ └── try_into_js.rs │ │ │ │ ├── display/ │ │ │ │ │ ├── arguments.rs │ │ │ │ │ ├── array.rs │ │ │ │ │ ├── map.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── object.rs │ │ │ │ │ ├── primitives.rs │ │ │ │ │ ├── set.rs │ │ │ │ │ ├── typed_array.rs │ │ │ │ │ └── value.rs │ │ │ │ ├── equality.rs │ │ │ │ ├── hash.rs │ │ │ │ ├── inner/ │ │ │ │ │ ├── legacy.rs │ │ │ │ │ └── nan_boxed.rs │ │ │ │ ├── inner.rs │ │ │ │ ├── integer.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── operations.rs │ │ │ │ ├── tests.rs │ │ │ │ ├── type.rs │ │ │ │ └── variant.rs │ │ │ └── vm/ │ │ │ ├── call_frame/ │ │ │ │ └── mod.rs │ │ │ ├── code_block.rs │ │ │ ├── completion_record.rs │ │ │ ├── flowgraph/ │ │ │ │ ├── color.rs │ │ │ │ ├── edge.rs │ │ │ │ ├── graph.rs │ │ │ │ ├── mod.rs │ │ │ │ └── node.rs │ │ │ ├── inline_cache/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── mod.rs │ │ │ ├── opcode/ │ │ │ │ ├── args.rs │ │ │ │ ├── arguments.rs │ │ │ │ ├── await/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── binary_ops/ │ │ │ │ │ ├── logical.rs │ │ │ │ │ ├── macro_defined.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── call/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── concat/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── control_flow/ │ │ │ │ │ ├── jump.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── return.rs │ │ │ │ │ └── throw.rs │ │ │ │ ├── copy/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── define/ │ │ │ │ │ ├── class/ │ │ │ │ │ │ ├── getter.rs │ │ │ │ │ │ ├── method.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── setter.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── own_property.rs │ │ │ │ ├── delete/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── environment/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── function.rs │ │ │ │ ├── generator/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── yield_stm.rs │ │ │ │ ├── get/ │ │ │ │ │ ├── argument.rs │ │ │ │ │ ├── function.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── name.rs │ │ │ │ │ ├── private.rs │ │ │ │ │ └── property.rs │ │ │ │ ├── iteration/ │ │ │ │ │ ├── for_in.rs │ │ │ │ │ ├── get.rs │ │ │ │ │ ├── iterator.rs │ │ │ │ │ ├── loop_ops.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── meta/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── new/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── nop/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── object.rs │ │ │ │ ├── pop/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── push/ │ │ │ │ │ ├── array.rs │ │ │ │ │ ├── class/ │ │ │ │ │ │ ├── field.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── private.rs │ │ │ │ │ ├── environment.rs │ │ │ │ │ ├── literal.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── numbers.rs │ │ │ │ │ └── object.rs │ │ │ │ ├── rest_parameter/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── set/ │ │ │ │ │ ├── class_prototype.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── name.rs │ │ │ │ │ ├── private.rs │ │ │ │ │ └── property.rs │ │ │ │ ├── switch/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── templates/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── to/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── unary_ops/ │ │ │ │ │ ├── decrement.rs │ │ │ │ │ ├── increment.rs │ │ │ │ │ ├── logical.rs │ │ │ │ │ └── mod.rs │ │ │ │ └── value/ │ │ │ │ └── mod.rs │ │ │ ├── runtime_limits.rs │ │ │ ├── shadow_stack.rs │ │ │ ├── source_info/ │ │ │ │ ├── builder/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ └── tests.rs │ │ └── tests/ │ │ ├── assets/ │ │ │ ├── dir1/ │ │ │ │ ├── file1_1.js │ │ │ │ └── file1_2.js │ │ │ ├── file1.js │ │ │ └── gcd.js │ │ ├── gcd.rs │ │ ├── imports.rs │ │ ├── macros.rs │ │ └── module.rs │ ├── gc/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── cell.rs │ │ ├── internals/ │ │ │ ├── ephemeron_box.rs │ │ │ ├── gc_box.rs │ │ │ ├── gc_header.rs │ │ │ ├── mod.rs │ │ │ ├── vtable.rs │ │ │ └── weak_map_box.rs │ │ ├── lib.rs │ │ ├── pointers/ │ │ │ ├── ephemeron.rs │ │ │ ├── gc.rs │ │ │ ├── mod.rs │ │ │ ├── weak.rs │ │ │ └── weak_map.rs │ │ ├── test/ │ │ │ ├── allocation.rs │ │ │ ├── cell.rs │ │ │ ├── erased.rs │ │ │ ├── mod.rs │ │ │ ├── std_types.rs │ │ │ ├── weak.rs │ │ │ └── weak_map.rs │ │ └── trace.rs │ ├── icu_provider/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── data/ │ │ │ ├── icu_casemap.postcard │ │ │ ├── icu_collator.postcard │ │ │ ├── icu_datetime.postcard │ │ │ ├── icu_decimal.postcard │ │ │ ├── icu_list.postcard │ │ │ ├── icu_locale.postcard │ │ │ ├── icu_normalizer.postcard │ │ │ ├── icu_plurals.postcard │ │ │ ├── icu_segmenter.postcard │ │ │ └── icu_time.postcard │ │ └── src/ │ │ └── lib.rs │ ├── interner/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── fixed_string.rs │ │ ├── interned_str.rs │ │ ├── lib.rs │ │ ├── raw.rs │ │ ├── sym.rs │ │ └── tests.rs │ ├── macros/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── class.rs │ │ │ ├── embedded_module_loader.rs │ │ │ ├── lib.rs │ │ │ ├── module.rs │ │ │ ├── utils.rs │ │ │ └── value.rs │ │ └── tests/ │ │ └── str.rs │ ├── parser/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── error/ │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ ├── lexer/ │ │ │ ├── comment.rs │ │ │ ├── cursor.rs │ │ │ ├── error.rs │ │ │ ├── identifier.rs │ │ │ ├── mod.rs │ │ │ ├── number.rs │ │ │ ├── operator.rs │ │ │ ├── private_identifier.rs │ │ │ ├── regex.rs │ │ │ ├── spread.rs │ │ │ ├── string.rs │ │ │ ├── template.rs │ │ │ ├── tests.rs │ │ │ └── token.rs │ │ ├── lib.rs │ │ ├── parser/ │ │ │ ├── cursor/ │ │ │ │ ├── buffered_lexer/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ └── mod.rs │ │ │ ├── expression/ │ │ │ │ ├── assignment/ │ │ │ │ │ ├── arrow_function.rs │ │ │ │ │ ├── async_arrow_function.rs │ │ │ │ │ ├── conditional.rs │ │ │ │ │ ├── exponentiation.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── yield.rs │ │ │ │ ├── await_expr.rs │ │ │ │ ├── fpl_or_exp.rs │ │ │ │ ├── identifiers.rs │ │ │ │ ├── left_hand_side/ │ │ │ │ │ ├── arguments.rs │ │ │ │ │ ├── call.rs │ │ │ │ │ ├── member.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── optional/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── template.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── primary/ │ │ │ │ │ ├── array_initializer/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── async_function_expression/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── async_generator_expression/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── class_expression/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── function_expression/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── generator_expression/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── object_initializer/ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── template/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── tests.rs │ │ │ │ ├── unary.rs │ │ │ │ └── update.rs │ │ │ ├── function/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── mod.rs │ │ │ ├── statement/ │ │ │ │ ├── block/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── break_stm/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── continue_stm/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── declaration/ │ │ │ │ │ ├── export.rs │ │ │ │ │ ├── hoistable/ │ │ │ │ │ │ ├── async_function_decl/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ └── tests.rs │ │ │ │ │ │ ├── async_generator_decl/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ └── tests.rs │ │ │ │ │ │ ├── class_decl/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ └── tests.rs │ │ │ │ │ │ ├── function_decl/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ └── tests.rs │ │ │ │ │ │ ├── generator_decl/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ └── tests.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── import.rs │ │ │ │ │ ├── lexical.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── expression/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── if_stm/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── iteration/ │ │ │ │ │ ├── do_while_statement.rs │ │ │ │ │ ├── for_statement.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── tests.rs │ │ │ │ │ └── while_statement.rs │ │ │ │ ├── labelled_stm/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── return_stm/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── switch/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── throw/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── try_stm/ │ │ │ │ │ ├── catch.rs │ │ │ │ │ ├── finally.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── variable/ │ │ │ │ │ └── mod.rs │ │ │ │ └── with/ │ │ │ │ └── mod.rs │ │ │ └── tests/ │ │ │ ├── format/ │ │ │ │ ├── declaration.rs │ │ │ │ ├── expression.rs │ │ │ │ ├── function/ │ │ │ │ │ ├── class.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ └── statement.rs │ │ │ ├── mod.rs │ │ │ └── test.js │ │ └── source/ │ │ ├── mod.rs │ │ ├── utf16.rs │ │ └── utf8.rs │ ├── runtime/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ ├── assets/ │ │ │ └── harness.js │ │ ├── build.rs │ │ ├── src/ │ │ │ ├── abort/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── base64/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── clone/ │ │ │ │ └── mod.rs │ │ │ ├── console/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── extensions.rs │ │ │ ├── fetch/ │ │ │ │ ├── fetchers.rs │ │ │ │ ├── headers.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── request.rs │ │ │ │ ├── response.rs │ │ │ │ └── tests/ │ │ │ │ ├── e2e.rs │ │ │ │ ├── headers.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── request.rs │ │ │ │ └── response.rs │ │ │ ├── interval/ │ │ │ │ └── tests.rs │ │ │ ├── interval.rs │ │ │ ├── lib.rs │ │ │ ├── message/ │ │ │ │ ├── mod.rs │ │ │ │ ├── senders.rs │ │ │ │ └── tests.rs │ │ │ ├── microtask/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── process/ │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── store/ │ │ │ │ ├── from.rs │ │ │ │ ├── mod.rs │ │ │ │ └── to.rs │ │ │ ├── text/ │ │ │ │ ├── encodings.rs │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ ├── url/ │ │ │ │ └── tests.rs │ │ │ └── url.rs │ │ └── tests/ │ │ ├── clone/ │ │ │ ├── complex.js │ │ │ ├── date.js │ │ │ ├── errors.js │ │ │ ├── map.js │ │ │ ├── object.js │ │ │ ├── regexp.js │ │ │ ├── set.js │ │ │ ├── simple.js │ │ │ └── transfer.js │ │ └── clone.rs │ ├── string/ │ │ ├── ABOUT.md │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── builder.rs │ │ ├── code_point.rs │ │ ├── common.rs │ │ ├── display.rs │ │ ├── iter.rs │ │ ├── lib.rs │ │ ├── str.rs │ │ ├── tests.rs │ │ ├── type.rs │ │ └── vtable/ │ │ ├── mod.rs │ │ ├── sequence.rs │ │ ├── slice.rs │ │ └── static.rs │ └── wintertc/ │ ├── ABOUT.md │ ├── Cargo.toml │ └── src/ │ ├── abort/ │ │ └── mod.rs │ ├── base64/ │ │ └── mod.rs │ ├── clone/ │ │ └── mod.rs │ ├── console/ │ │ └── mod.rs │ ├── encoding/ │ │ └── mod.rs │ ├── events/ │ │ └── mod.rs │ ├── fetch/ │ │ └── mod.rs │ ├── lib.rs │ ├── microtask/ │ │ └── mod.rs │ ├── timers/ │ │ └── mod.rs │ └── url/ │ └── mod.rs ├── docs/ │ ├── boa_object.md │ ├── bytecompiler.md │ ├── debugging.md │ ├── native_object.md │ ├── profiling.md │ ├── shapes.md │ ├── string.md │ └── vm.md ├── examples/ │ ├── Cargo.toml │ ├── README.md │ ├── scripts/ │ │ ├── calc.js │ │ ├── calctest.js │ │ ├── enhancedglobal.js │ │ ├── helloworld.js │ │ └── modules/ │ │ ├── operations.mjs │ │ └── trig.mjs │ └── src/ │ └── bin/ │ ├── classes.rs │ ├── closures.rs │ ├── commuter_visitor.rs │ ├── derive.rs │ ├── host_defined.rs │ ├── jsarray.rs │ ├── jsarraybuffer.rs │ ├── jsasyncgenerator.rs │ ├── jsdate.rs │ ├── jsgeneratorfunction.rs │ ├── jsmap.rs │ ├── jspromise.rs │ ├── jsregexp.rs │ ├── jsset.rs │ ├── jstypedarray.rs │ ├── jsweakmap.rs │ ├── jsweakset.rs │ ├── loadfile.rs │ ├── loadstring.rs │ ├── module_fetch_async.rs │ ├── modulehandler.rs │ ├── modules.rs │ ├── properties.rs │ ├── runtime_limits.rs │ ├── smol_event_loop.rs │ ├── symbol_visitor.rs │ ├── synthetic.rs │ ├── tokio_event_loop.rs │ └── try_into_js_derive.rs ├── ffi/ │ └── wasm/ │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE-MIT │ ├── LICENSE-UNLICENSE │ ├── README.md │ ├── src/ │ │ └── lib.rs │ └── tests/ │ └── web.rs ├── flake.nix ├── make/ │ └── ci.toml ├── package.json ├── test262_config.toml ├── test_wpt_config.toml ├── tests/ │ ├── Cargo.toml │ ├── fuzz/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── fuzz_targets/ │ │ ├── bytecompiler-implied.rs │ │ ├── common.rs │ │ ├── parser-idempotency.rs │ │ └── vm-implied.rs │ ├── insta-bytecode/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── basic-loop.js │ │ │ ├── double-loop-function.js │ │ │ ├── loop-hoisting.js │ │ │ └── new.js │ │ └── src/ │ │ ├── lib.rs │ │ └── snapshots/ │ │ ├── insta_bytecode__compile_bytecode@basic-loop.js.snap │ │ ├── insta_bytecode__compile_bytecode@double-loop-function.js.snap │ │ ├── insta_bytecode__compile_bytecode@loop-hoisting.js.snap │ │ └── insta_bytecode__compile_bytecode@new.js.snap │ ├── macros/ │ │ ├── Cargo.toml │ │ └── tests/ │ │ ├── assets/ │ │ │ ├── fibonacci.js │ │ │ └── gcd_callback.js │ │ ├── class.rs │ │ ├── derive/ │ │ │ ├── from_js_with.rs │ │ │ └── simple_struct.rs │ │ ├── derive.rs │ │ ├── embedded/ │ │ │ ├── dir1/ │ │ │ │ ├── file3.js │ │ │ │ └── file4.js │ │ │ ├── file1.js │ │ │ └── file2.js │ │ ├── embedded.rs │ │ ├── fibonacci.rs │ │ ├── gcd_callback.rs │ │ ├── module.rs │ │ └── optional.rs │ ├── src/ │ │ └── lib.rs │ ├── tester/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── edition.rs │ │ ├── exec/ │ │ │ ├── js262.rs │ │ │ └── mod.rs │ │ ├── main.rs │ │ ├── read.rs │ │ └── results.rs │ └── wpt/ │ ├── .gitignore │ ├── Cargo.toml │ ├── build.rs │ └── src/ │ ├── fetcher/ │ │ └── mod.rs │ ├── lib.rs │ └── logger/ │ └── mod.rs ├── tools/ │ ├── gen-icu4x-data/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── scripts/ │ ├── Cargo.toml │ └── src/ │ └── bin/ │ └── regenerate-about.rs ├── typos.toml └── utils/ ├── small_btree/ │ ├── ABOUT.md │ ├── Cargo.toml │ └── src/ │ ├── entry.rs │ └── lib.rs └── tag_ptr/ ├── ABOUT.md ├── Cargo.toml └── src/ └── lib.rs