mirror of https://github.com/boa-dev/boa.git
Tree:
556f3ced15
add-vhs-ci
benchmarks
control-flow-graph
expect-lints
feature/node_span
feature/snapshot
features
gh-readonly-queue/main/pr-2877-b0ddf5eed00a53281d67fc7d846233fc0d99ce9c
gh-readonly-queue/main/pr-3144-8e48cec73fae708420b9af88813d4870243c491a
main
nan-boxing
optimization/static-shapes
real_conformance
reduce-environment-allocations
refactor/interner
refactor/register-vm
release-0.20
releases/0.17
releases/0.19
semver_checks
tco
utility-crate
wasm-debugger
nightly
v0.10
v0.11
v0.12
v0.13
v0.14
v0.15
v0.16
v0.17
v0.17.1
v0.17.2
v0.17.3
v0.18
v0.19
v0.19.1
v0.2.0
v0.2.1
v0.3.0
v0.4.0
v0.5.0
v0.5.1
v0.6.0
v0.7.0
v0.8.0
v0.9.0
${ noResults }
1702 Commits (556f3ced15a5c4ace30b88cd07f6a97a556c81b6)
Author | SHA1 | Message | Date |
---|---|---|---|
Iban Eguia | 46f96d4bea |
Fix wasm use outside browsers (#1846)
This Pull Request fixes/closes #1670. It changes the following: - Removes the "js" feature by default from getrandom for wasm (still there for boa_wasm) - Updates dependencies Note that this change was introduced in #1521, after #1475. We must make sure that the issue doesn't come back. |
3 years ago |
Timo | fabbf15dd3 |
Handle allocation errors (#1850)
Fixes #1847 by wrapping the `std::alloc::alloc()` call in `try_alloc()`, which checks that the returned pointer is non-null and handles allocation errors that way. It will now abort the process instead of executing UB in the error path |
3 years ago |
raskad | 29cd909f88 |
Refactor the environment for runtime performance (#1829)
This is an attempt to refactor the environments to be more performant at runtime. The idea is, to shift the dynamic hashmap environment lookups from runtime to compile time. Currently the environments hold hashmaps that contain binding identifiers, values and additional information that is needed to identify some errors. Because bindings in outer environments are accessible from inner environments, this can lead to a traversal through all environments (in the worst case to the global environment). This change to the environment structure pushes most of the work that is needed to access bindings to the compile time. At compile time, environments and bindings in the environments are being assigned indices. These indices are then stored instead of the `Sym` that is currently used to access bindings. At runtime, the indices are used to access bindings in a fixed size `Vec` per environment. This brings multiple benefits: - No hashmap access needed at runtime - The number of bindings per environment is known at compile time. Environments only need a single allocation, as their size is constant. - Potential for optimizations with `unsafe` https://doc.rust-lang.org/std/vec/struct.Vec.html#method.get_unchecked Additionally, this changes the global object to have it's bindings directly stored on the `Realm`. This should reduce some overhead from access trough gc objects and makes some optimizations for the global object possible. The benchmarks look not that great on the first sight. But if you look closer, I think it is apparent, that this is a positive change. The difference is most apparent on Mini and Clean as they are longer (still not near any real life js but less specific that most other benchmarks): | Test | Base | PR | % | |------|--------------|------------------|---| | Clean js (Compiler) | **1929.1±5.37ns** | 4.1±0.02µs | **+112.53%** | | Clean js (Execution) | 1487.4±7.50µs | **987.3±3.78µs** | **-33.62%** | The compile time is up in all benchmarks, as expected. The percentage is huge, but if we look at the real numbers, we can see that this is an issue of orders of magnitude. While compile is up `112.53%`, the real change is `~+2µs`. Execution is only down `33.62%`, but the real time changed by `~-500µs`. Co-authored-by: Iban Eguia <razican@protonmail.ch> |
3 years ago |
dependabot[bot] | e800283552 |
Bump benchmark-action/github-action-benchmark from 1.12.0 to 1.13.0 (#1845)
Bumps [benchmark-action/github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark) from 1.12.0 to 1.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/benchmark-action/github-action-benchmark/releases">benchmark-action/github-action-benchmark's releases</a>.</em></p>
<blockquote>
<h2>v1.13.0</h2>
<p>Feat: Updated urls to support GHES (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/104">#104</a>)
Feat: Add support for BenchmarkDotNet (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/109">#109</a>)
Chore: Bump node-fetch from 2.6.6 to 2.6.7 (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/107">#107</a>)</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/benchmark-action/github-action-benchmark/blob/master/CHANGELOG.md">benchmark-action/github-action-benchmark's changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.13.0">v1.13.0</a> - 17 Feb 2022</h1>
<ul>
<li><strong>Feat:</strong> Updated urls to support GHES (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/104">#104</a>)</li>
<li><strong>Feat:</strong> Add support for BenchmarkDotNet (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/109">#109</a>)</li>
<li><strong>Chore</strong> Bump node-fetch from 2.6.6 to 2.6.7 (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/107">#107</a>)</li>
</ul>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="
|
3 years ago |
dependabot[bot] | 4a33d20c71 |
Bump webpack from 5.69.0 to 5.69.1 (#1843)
Bumps [webpack](https://github.com/webpack/webpack) from 5.69.0 to 5.69.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.69.1</h2> <h1>Revert</h1> <ul> <li>revert "handle multiple alternative directories (e. g. due to resolve.alias or resolve.modules) when creating an context module"</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
Iban Eguia | 748465d17b |
Unwrap removal (#1842)
This removes all the calls to `unwrap()` in the codebase, which made me found a couple of places where it wasn't needed, and could be improved. I also noticed we don't have dependabot updates for the test262 submodule and the interner dependencies, so I added those. I added lints so that no new unwraps are added. |
3 years ago |
dependabot[bot] | 3d9c8b229d |
Bump serde_json from 1.0.78 to 1.0.79 (#1838)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.78 to 1.0.79. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.79</h2> <ul> <li>Allow <code>RawValue</code> deserialization to propagate <code>\u</code> escapes for unmatched surrogates, which can later by deserialized to Vec<u8> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a>, thanks <a href="https://github.com/lucacasonato"><code>@lucacasonato</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
raskad | 51537badc3 |
Ignore wastefull `RegExp` tests (#1840)
With the implementation of `String.fromCodePoint` in #1123 some `RegExp` tests are now running for a long time. These tests check every unicode codepoint for all regexp property escape/character classes. This not only makes the developer experience significantly worse, but also wastes cpu resources for the benefit of "completeness". I think these tests are completely useless. Ironically the unicode tables in the tests are generated - from the same data, that the unicode tables in the regex engine are also generated. 262 suite runtime: Before: ~03:30 https://github.com/boa-dev/boa/runs/5191567446?check_suite_focus=true After: ~31:00 https://github.com/boa-dev/boa/runs/5196405437?check_suite_focus=true |
3 years ago |
Aäron Munsters | 826adb2009 |
Rework RegExp struct to include bitflags field (#1837)
This Pull Request fixes/closes #1819. It changes the following: - Move the bitflags from `boa/src/syntax/lexer/regex.rs` to `boa/src/builtins/regexp/mod.rs` - Replace the booleans in the RegExp struct to include the bitflags struct - Update match expressions to make use of the bitflags struct Co-authored-by: Aäron Munsters <45006406+aaronmunsters@users.noreply.github.com> |
3 years ago |
dependabot[bot] | 7716c53fa6 |
Bump rand from 0.8.4 to 0.8.5 (#1839)
Bumps [rand](https://github.com/rust-random/rand) from 0.8.4 to 0.8.5. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-random/rand/blob/master/CHANGELOG.md">rand's changelog</a>.</em></p> <blockquote> <h2>[0.8.5] - 2021-08-20</h2> <h3>Fixes</h3> <ul> <li>Fix build on non-32/64-bit architectures (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1144">#1144</a>)</li> <li>Fix "min_const_gen" feature for <code>no_std</code> (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1173">#1173</a>)</li> <li>Check <code>libc::pthread_atfork</code> return value with panic on error (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1178">#1178</a>)</li> <li>More robust reseeding in case <code>ReseedingRng</code> is used from a fork handler (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1178">#1178</a>)</li> <li>Fix nightly: remove unused <code>slice_partition_at_index</code> feature (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1215">#1215</a>)</li> <li>Fix nightly + <code>simd_support</code>: update <code>packed_simd</code> (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1216">#1216</a>)</li> </ul> <h3>Rngs</h3> <ul> <li><code>StdRng</code>: Switch from HC128 to ChaCha12 on emscripten (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1142">#1142</a>). We now use ChaCha12 on all platforms.</li> </ul> <h3>Documentation</h3> <ul> <li>Added docs about rand's use of const generics (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1150">#1150</a>)</li> <li>Better random chars example (<a href="https://github-redirect.dependabot.com/rust-random/rand/issues/1157">#1157</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 6db813f055 |
Bump webpack from 5.68.0 to 5.69.0 (#1841)
Bumps [webpack](https://github.com/webpack/webpack) from 5.68.0 to 5.69.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.69.0</h2> <h1>Features</h1> <ul> <li>automatically switch to an ESM compatible environment when enabling ESM output mode</li> <li>handle multiple alternative directories (e. g. due to <code>resolve.alias</code> or <code>resolve.modules</code>) when creating an context module</li> <li>add <code>util/types</code> to node.js built-in modules</li> <li>add <code>__webpack_exports_info__.<name>.canMangle</code> api</li> </ul> <h1>Bugfixes</h1> <ul> <li>fix bug in chunk graph generation which leads to modules being included in chunk desprite them being already included in parent chunks</li> <li>avoid writing more than 2GB at once during cache serialization (as workaround for node.js/libuv bug on MacOS)</li> <li>fix handling of whitespaces in semver ranges when using Module Federation</li> <li>avoid generating hashes which contain only numbers as they likely conflict with module ids</li> <li>fix resource name based placeholders for data uris</li> <li>fix cache serialization for context elements</li> <li>fix passing of <code>stage</code> option when instrumenting plugins for the ProfilingPlugin</li> <li>fix tracking of declarations in concatenated modules to avoid conflicts</li> <li>fix unstable mangling of exports</li> <li>fix handling of <code>#</code> in paths of loaders</li> <li>avoid unnecessary cache update when using <code>experiments.buildHttp</code></li> </ul> <h1>Contributing</h1> <ul> <li>update typescript and jest</li> </ul> <h1>Developer Experience</h1> <ul> <li>expose some additional typings for usage in webpack-cli</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
Jevan Chan | be26b10ea8 |
Fix string.prototype methods and add static string methods (#1123)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel neccesary. ---> This Pull Request fixes existing string prototype methods in #13 and adds static methods. It changes the following: - Fix bugs in existing string prototype methods and improve readability (e.g. rename variables to match the names in spec) - Add static methods `String.raw`, `String.fromCharCode`, `String.fromCodePoint` - Fix broken unit tests Co-authored-by: RageKnify <RageKnify@gmail.com> |
3 years ago |
Djordje Lukic | 7e772768e2 |
Give the arrow function its proper name (#1832)
With this change an arrow function name is correctly set to the name of the variable: ```javascript const myFunction = () => {}; console.log(myFunction.name); // Prints "myFunction" ``` _Note:_ I'm still getting familiar with the codebase and am pretty new to Rust so I won't be offended if this isn't merged. I am actually surprised I had to make so many changes to give the right code the name it needed. Maybe there is a better way? I'm all ears :) |
3 years ago |
Iban Eguia | 53ef07b1a6 |
Using the new formatting arguments from Rust 1.58 (#1834)
In [Rust 1.58](https://blog.rust-lang.org/2022/01/13/Rust-1.58.0.html#captured-identifiers-in-format-strings), capturing of bindings were added to format strings. This makes things more clear, so I added this where possible. |
3 years ago |
dependabot[bot] | 7b2dc881a0 |
Bump follow-redirects from 1.14.7 to 1.14.8 (#1833)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8. <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 7779c1a6f1 |
Bump boa-dev/criterion-compare-action from 3.0.2 to 3.1.0 (#1827)
Bumps [boa-dev/criterion-compare-action](https://github.com/boa-dev/criterion-compare-action) from 3.0.2 to 3.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/boa-dev/criterion-compare-action/releases">boa-dev/criterion-compare-action's releases</a>.</em></p> <blockquote> <h2>v3.1.0</h2> <p>Added the possibility to add feature flags for a benchmark (<a href="https://github-redirect.dependabot.com/boa-dev/criterion-compare-action/pull/32">boa-dev/criterion-compare-action#32</a>)</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
Iban Eguia | 5759447250 |
Reduced the size of AST nodes (#1821)
This PR boxes the `Try` and `TaggedTemplate` nodes reducing the size of the `Node` structure from 88 to 56 bytes. This should improve performance in most cases, by adding another indirection with code with `try` and templates. |
3 years ago |
Iban Eguia | 4a11ca1773 |
Fixed #1768 (#1820)
This Pull Request fixes/closes #1768. It adds one extra peeked token in the buffered lexer, since it didn't take into account that the stream might end just after the last peeked token. The panic was only happening in debug mode, but still, this was wrong. |
3 years ago |
Iban Eguia | 55e85adbc5 |
Using production builds for WebAssembly (#1825)
This commit selects the production build (instead of development) for the WebAssembly compilation with Webpack, used in our playground. This might make things a bit faster and smaller. I also took the opportunity to update all the dependencies and the Test262 suite, but unfortunately this doesn't solve #1824. |
3 years ago |
dependabot[bot] | b34d581db5 |
Bump monaco-editor from 0.31.1 to 0.32.0 (#1818)
Bumps [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.31.1 to 0.32.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md">monaco-editor's changelog</a>.</em></p> <blockquote> <h2>[0.32.0] (03.02.2022)</h2> <h3>Breaking Changes</h3> <ul> <li>The binary format for <code>IEncodedLineTokens</code> has changed to support strikethrough text.</li> <li><code>IDiffEditor.getDomNode()</code> has been renamed to <code>IDiffEditor.getContainerDomNode()</code>.</li> <li><code>InlayHint.text</code> has been replaced by <code>InlayHint.label</code> and <code>InlayHintsProvider.provideInlayHints</code> now returns an <code>InlayHintList</code>.</li> </ul> <h3>Thank you</h3> <p>Contributions to <code>monaco-editor</code>:</p> <ul> <li><a href="https://github.com/blutorange"><code>@blutorange (Andre Wachsmuth)</code></a>: Implements <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2383">#2383</a> Add syntax modes for FreeMarker template language [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2847">#2847</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2847">microsoft/monaco-editor#2847</a>)</li> <li><a href="https://github.com/forensicmike"><code>@forensicmike (forensicmike1)</code></a>: Add "cd monaco-editor" to the step by step commandline instructions for cloning and running the samples [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2894">#2894</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2894">microsoft/monaco-editor#2894</a>)</li> <li><a href="https://github.com/juan-carlos-diaz"><code>@juan-carlos-diaz</code></a>: Fix <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2851">#2851</a> Highlight correctly the attributes and identifiers (with dashes) for Shell language [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2871">#2871</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2871">microsoft/monaco-editor#2871</a>)</li> <li><a href="https://github.com/MasterOdin"><code>@MasterOdin (Matthew Peveler)</code></a>: Only run publish workflow on main monaco-editor repo [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2926">#2926</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2926">microsoft/monaco-editor#2926</a>)</li> <li><a href="https://github.com/philipturner"><code>@philipturner (Philip Turner)</code></a> <ul> <li>Update Swift language specification to version 5.5 [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2855">#2855</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2855">microsoft/monaco-editor#2855</a>)</li> <li>Add <a href="https://github.com/preconcurrency"><code>@preconcurrency</code></a> to Swift declaration attributes [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2924">#2924</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2924">microsoft/monaco-editor#2924</a>)</li> </ul> </li> <li><a href="https://github.com/rcjsuen"><code>@rcjsuen (Remy Suen)</code></a>: Support hyphenated HTML tags in Markdown syntax [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2864">#2864</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2864">microsoft/monaco-editor#2864</a>)</li> <li><a href="https://github.com/resistdesign"><code>@resistdesign (Ryan Graff)</code></a>: doc: (samples) Simplify Browser ESM Parcel build [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2832">#2832</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2832">microsoft/monaco-editor#2832</a>)</li> <li><a href="https://github.com/ValeraS"><code>@ValeraS (Valeriy)</code></a> <ul> <li>fix(monaco-editor-webpack-plugin): load monaco-editor with webpack 4 [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2818">#2818</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2818">microsoft/monaco-editor#2818</a>)</li> <li>tune(monaco-editor-webpack-plugin): expose plugin options type [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2853">#2853</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2853">microsoft/monaco-editor#2853</a>)</li> </ul> </li> <li><a href="https://github.com/ZusorCode"><code>@ZusorCode (Tobias Messner)</code></a>: Add .cjs extension for javascript files [PR <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/2929">#2929</a>](<a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/pull/2929">microsoft/monaco-editor#2929</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/microsoft/monaco-editor/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=monaco-editor&package-manager=npm_and_yarn&previous-version=0.31.1&new-version=0.32.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> |
3 years ago |
Iban Eguia | 3d21e83701 |
Fixed the GitHub actions badge (#1813)
This uses the official GitHub actions badge. |
3 years ago |
dependabot[bot] | 0dfe6ec8b2 |
Bump webpack from 5.67.0 to 5.68.0 (#1814)
Bumps [webpack](https://github.com/webpack/webpack) from 5.67.0 to 5.68.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.68.0</h2> <h1>Features</h1> <ul> <li>allow to disable compile time evaluation of import.meta.url</li> <li>add <code>__webpack_module__</code> and <code>__webpack_module__.id</code> to the api</li> </ul> <h1>Bugfixes</h1> <ul> <li>fix handling of errors thrown in async modules</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 6777eb4286 |
Bump css-loader from 6.5.1 to 6.6.0 (#1817)
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.5.1 to 6.6.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack-contrib/css-loader/releases">css-loader's releases</a>.</em></p> <blockquote> <h2>v6.6.0</h2> <h2><a href="https://github.com/webpack-contrib/css-loader/compare/v6.5.1...v6.6.0">6.6.0</a> (2022-02-02)</h2> <h3>Features</h3> <ul> <li>added the <code>hashStrategy</code> option (<a href=" |
3 years ago |
dependabot[bot] | fdd23b154b |
Bump webpack-dev-server from 4.7.3 to 4.7.4 (#1816)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.7.3 to 4.7.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack-dev-server/releases">webpack-dev-server's releases</a>.</em></p> <blockquote> <h2>v4.7.4</h2> <h3><a href="https://github.com/webpack/webpack-dev-server/compare/v4.7.3...v4.7.4">4.7.4</a> (2022-02-02)</h3> <h3>Bug Fixes</h3> <ul> <li>add <code>@types/express</code> (<a href="https://github-redirect.dependabot.com/webpack/webpack-dev-server/issues/4226">#4226</a>) (<a href=" |
3 years ago |
dependabot[bot] | 23208d8134 |
Bump copy-webpack-plugin from 10.2.3 to 10.2.4 (#1815)
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 10.2.3 to 10.2.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack-contrib/copy-webpack-plugin/releases">copy-webpack-plugin's releases</a>.</em></p> <blockquote> <h2>v10.2.4</h2> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v10.2.3...v10.2.4">10.2.4</a> (2022-01-31)</h3> <h3>Bug Fixes</h3> <ul> <li>types (<a href="https://github-redirect.dependabot.com/webpack-contrib/copy-webpack-plugin/issues/666">#666</a>) (<a href=" |
3 years ago |
Iban Eguia | 60b7eb8934 |
General code clean-up and new lint addition (#1809)
This PR adds some Clippy lints. Mainly, it adds the list of pedantic lints excluding some lints that were causing too many warnings. I also denied some useful restriction and pedantic lints, to make sure we use `Self` all the possible times (for better maintainability), and that we pass elements by reference where possible, for example, or that the documentation is properly written. This might even have some small performance gains. I also added a perfect hash function for the CLI keywords, which should be more efficient than a `HashSet`. This is something we could use elsewhere too. |
3 years ago |
dependabot[bot] | d96b6407d5 |
Bump benchmark-action/github-action-benchmark from 1.11.3 to 1.12.0 (#1811)
Bumps [benchmark-action/github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark) from 1.11.3 to 1.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/benchmark-action/github-action-benchmark/releases">benchmark-action/github-action-benchmark's releases</a>.</em></p>
<blockquote>
<h2>v1.12.0</h2>
<p>Feat: Support private repositories (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/105">#105</a>)
Chore: Bump action runner to node v16 (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/106">#106</a>)</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/benchmark-action/github-action-benchmark/blob/master/CHANGELOG.md">benchmark-action/github-action-benchmark's changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.12.0">v1.12.0</a> - 28 Jan 2022</h1>
<ul>
<li><strong>Feat:</strong> Support private repositories (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/105">#105</a>)</li>
<li><strong>Chore</strong> Bump action runner to node v16 (<a href="https://github-redirect.dependabot.com/benchmark-action/github-action-benchmark/issues/106">#106</a>)</li>
</ul>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="
|
3 years ago |
dependabot[bot] | f685a6757d |
Bump copy-webpack-plugin from 10.2.2 to 10.2.3 (#1810)
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 10.2.2 to 10.2.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack-contrib/copy-webpack-plugin/releases">copy-webpack-plugin's releases</a>.</em></p> <blockquote> <h2>v10.2.3</h2> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v10.2.2...v10.2.3">10.2.3</a> (2022-01-29)</h3> <h3>Bug Fixes</h3> <ul> <li>async <code>to</code> support (<a href=" |
3 years ago |
Iban Eguia | 98faa73bbe |
Update the PR benchmarks action (#1774)
This is just for debugging for now. If we find out a fix, we can merge it. |
3 years ago |
Iban Eguia | db067cf864 |
Updated the Test262 test suite (#1794)
This PR just updates the Test262 sub-module to bring all the new tests created in the last month and a half. |
3 years ago |
Iban Eguia | e37cb6c9f6 |
Updated dependencies (#1803)
The main idea behind this is to upgrade the Unicode version from 13 to 14. I also upgraded the rest of the dependencies, so this closes #1802, #1800 and #1799. |
3 years ago |
raskad | 672eede30d |
Convert `Codeblock` variables to `Sym` (#1798)
It changes the following: - Convert `Codeblock` variables to `Sym` |
3 years ago |
dependabot[bot] | 090d7ace80 |
Bump serde from 1.0.134 to 1.0.135 (#1797)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.134 to 1.0.135. <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 4eb29c966a |
Bump serde_json from 1.0.76 to 1.0.78 (#1796)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.76 to 1.0.78. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.78</h2> <ul> <li>Support deserializing as <code>&RawValue</code> in map key position, which would previously fail with <em>"invalid type: newtype struct"</em> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a>)</li> </ul> <h2>v1.0.77</h2> <ul> <li>Include discord invite links in the published readme</li> <li>Improve compile error on compiling with neither <code>std</code> nor <code>alloc</code> feature enabled</li> <li>Include integration tests in published package (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/578">#578</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
Iban Eguia | e92cff5920 |
Interner support in the parser (#1765)
This builds on top of #1758 to try to bring #1763 to life. Something that should probably be done here would be to convert `JsString` to a `Sym` internally. Then, further optimizations could be done adding common strings to a custom interner type (those that we know statically). This is definitely work in progress, but I would like to have feedback on the API, and feel free to contribute. Co-authored-by: raskad <32105367+raskad@users.noreply.github.com> |
3 years ago |
raskad | 80794e5ba5 |
Adjust `compile` and `execute` to avoid clones (#1778)
It changes the following: - Adjust the `context` methods `compile` and `execute` to avoid clones on `StatementList` and `CodeBlock` Co-authored-by: raskad <32105367+raskad@users.noreply.github.com> |
3 years ago |
Iban Eguia | 48185f393d |
Lexer string interning (#1758)
This Pull Request is part of #279. It adds a string interner to Boa, which allows many types to not contain heap-allocated strings, and just contain a `NonZeroUsize` instead. This can move types to the stack (hopefully I'll be able to move `Token`, for example, maybe some `Node` types too. Note that the internet is for now only available in the lexer. Next steps (in this PR or future ones) would include also using interning in the parser, and finally in execution. The idea is that strings should be represented with a `Sym` until they are displayed. Talking about display. I have changed the `ParseError` type in order to not contain anything that could contain a `Sym` (basically tokens), which might be a bit faster, but what is important is that we don't depend on the interner when displaying errors. The issue I have now is in order to display tokens. This requires the interner if we want to know identifiers, for example. The issue here is that Rust doesn't allow using a `fmt::Formatter` (only in nightly), which is making my head hurt. Maybe someone of you can find a better way of doing this. Then, about `cursor.expect()`, this is the only place where we don't have the expected token type as a static string, so it's failing to compile. We have the option of changing the type definition of `ParseError` to contain an owned string, but maybe we can avoid this by having a `&'static str` come from a `TokenKind` with the default values, such as "identifier" for an identifier. I wanted for you to think about it and maybe we can just add that and avoid allocations there. Oh, and this depends on the VM-only branch, so that has to be merged before :) Another thing to check: should the interner be in its own module? |
3 years ago |
dependabot[bot] | 76a27ce2a5 |
Bump wasm-bindgen from 0.2.78 to 0.2.79 (#1789)
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) from 0.2.78 to 0.2.79. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md">wasm-bindgen's changelog</a>.</em></p> <blockquote> <h2>0.2.79</h2> <p>Released 2022-01-19.</p> <p><a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.78...0.2.79">changes</a></p> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
Steven nguyen | 01e0480cd8 |
Copy/paste fix in Proxy error message (#1787)
(Really small self-explanatory change - maybe the commit message could be better) <!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel neccesary. ---> It changes the following: When calling `new Proxy(undefined, {})` the error message now refers to the target `undefined` instead of the handler `{}` |
3 years ago |
dependabot[bot] | dc005e17ef |
Bump structopt from 0.3.25 to 0.3.26 (#1786)
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26. <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 5c4d970119 |
Bump serde_json from 1.0.73 to 1.0.75 (#1785)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.73 to 1.0.75. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.74</h2> <ul> <li>Allow creating RawValues from references to unsized values (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/841">#841</a>, thanks <a href="https://github.com/EFanZh"><code>@EFanZh</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 2fda7b3e3f |
Bump crazy-max/ghaction-github-pages from 2.5.0 to 2.6.0 (#1782)
Bumps [crazy-max/ghaction-github-pages](https://github.com/crazy-max/ghaction-github-pages) from 2.5.0 to 2.6.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crazy-max/ghaction-github-pages/releases">crazy-max/ghaction-github-pages's releases</a>.</em></p> <blockquote> <h2>v2.6.0</h2> <ul> <li>Add <code>absolute_build_dir</code> and <code>follow_symlinks</code> inputs (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/161">#161</a>)</li> <li>Bump <code>@actions/exec</code> from 1.0.4 to 1.1.0 (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/152">#152</a>)</li> <li>Bump <code>@actions/core</code> from 1.3.0 to 1.6.0 (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/154">#154</a> <a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/156">#156</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crazy-max/ghaction-github-pages/blob/dev/CHANGELOG.md">crazy-max/ghaction-github-pages's changelog</a>.</em></p> <blockquote> <h2>2.6.0 (2022/01/13)</h2> <ul> <li>Add <code>absolute_build_dir</code> and <code>follow_symlinks</code> inputs (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/161">#161</a>)</li> <li>Bump <code>@actions/exec</code> from 1.0.4 to 1.1.0 (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/152">#152</a>)</li> <li>Bump <code>@actions/core</code> from 1.3.0 to 1.6.0 (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/154">#154</a> <a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/156">#156</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 08388fb264 |
Bump follow-redirects from 1.14.6 to 1.14.7 (#1781)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.6 to 1.14.7. <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 4b5319c529 |
Bump webpack from 5.65.0 to 5.66.0 (#1780)
Bumps [webpack](https://github.com/webpack/webpack) from 5.65.0 to 5.66.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.66.0</h2> <h1>Features</h1> <ul> <li>add <code>output.library.type: "commonjs-static"</code> to emit a statically analyse-able commonjs module (for node.js esm interop support)</li> <li>add <code>experiments.css</code> (very experimental) <ul> <li>see <a href="https://github-redirect.dependabot.com/webpack/webpack/issues/14893">webpack/webpack#14893</a></li> </ul> </li> </ul> <h1>Bugfixes</h1> <ul> <li>fix CORS headers for <code>experiments.lazyCompilation</code></li> <li>fix <code>[absolute-resource-path]</code> for SourceMap module naming</li> <li>avoid stack overflow when accessing many memory cached cache values in series</li> </ul> <h1>Performance</h1> <ul> <li>reduce default <code>watchOptions.aggregateTimeout</code> to 20ms</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 1218241a19 |
Bump webpack-dev-server from 4.7.2 to 4.7.3 (#1779)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.7.2 to 4.7.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack-dev-server/releases">webpack-dev-server's releases</a>.</em></p> <blockquote> <h2>v4.7.3</h2> <h3><a href="https://github.com/webpack/webpack-dev-server/compare/v4.7.2...v4.7.3">4.7.3</a> (2022-01-11)</h3> <h3>Security</h3> <ul> <li>update <code>selfsigned</code> to <code>2.0.0</code> version</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md">webpack-dev-server's changelog</a>.</em></p> <blockquote> <h3><a href="https://github.com/webpack/webpack-dev-server/compare/v4.7.2...v4.7.3">4.7.3</a> (2022-01-11)</h3> <h3>Security</h3> <ul> <li>update <code>selfsigned</code> to <code>2.0.0</code> version</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
dependabot[bot] | 4bae3bbe99 |
Bump getrandom from 0.2.3 to 0.2.4 (#1783)
Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.3 to 0.2.4. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md">getrandom's changelog</a>.</em></p> <blockquote> <h2>[0.2.4] - 2021-12-13</h2> <h3>Changed</h3> <ul> <li>Use explicit imports in the <code>js</code> backend <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/220">#220</a></li> <li>Use <code>/dev/urandom</code> on Redox instead of <code>rand:</code> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/222">#222</a></li> <li>Use <code>NonZeroU32::new_unchecked</code> to convert wasi error <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/233">#233</a></li> </ul> <h3>Added</h3> <ul> <li>SOLID targets (<code>*-kmc-solid_*</code>) support <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/235">#235</a></li> <li>Limited Hermit (<code>x86_64-unknown-hermit</code>) support <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/236">#236</a></li> </ul> <p><a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/220">#220</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/220">rust-random/getrandom#220</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/222">#222</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/222">rust-random/getrandom#222</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/233">#233</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/233">rust-random/getrandom#233</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/235">#235</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/235">rust-random/getrandom#235</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/236">#236</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/236">rust-random/getrandom#236</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |
raskad | 4365c7d388 |
Add proxy handling in `isArray` method (#1777)
It changes the following: - Add handling for proxy objects to the abstract `is_array` operation. - Implement the abstract `is_array` operation for `JsValue` and `JsObject` to avoid clones. - Fix some builtin function lengths. |
3 years ago |
RageKnify |
7f18d7a851
|
Refactor: optimize println!()
Clippy 1.58.0 complains about `format!()` inside `println!()` being inefficient |
3 years ago |
Jason Williams | 2300d87e22 |
add more timers on object functions (#1775)
``` +------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +------------------------------------------------+-----------+-----------------+----------+------------+ | run | 14.27ms | 15.545 | 161.26ms | 56 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__get_own_property__ | 9.28ms | 10.115 | 12.67ms | 5412 | +------------------------------------------------+-----------+-----------------+----------+------------+ | LexicalEnvironment::get_binding_value | 9.10ms | 9.918 | 22.00ms | 1066 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::validate_and_apply_property_descriptor | 6.12ms | 6.669 | 6.12ms | 677 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::ordinary_set | 4.07ms | 4.434 | 39.14ms | 818 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::ordinary_get_own_property | 3.60ms | 3.922 | 3.60ms | 5720 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__call__ | 3.22ms | 3.505 | 103.95ms | 410 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::ordinary_define_own_property | 3.10ms | 3.379 | 10.90ms | 677 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::ordinary_has_property | 2.95ms | 3.209 | 7.17ms | 1772 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__has_property__ | 2.85ms | 3.107 | 10.02ms | 1772 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::ordinary_get | 2.85ms | 3.104 | 8.14ms | 1632 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__get__ | 2.81ms | 3.063 | 10.95ms | 1632 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - GetName | 2.56ms | 2.789 | 24.56ms | 1066 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__define_own_property__ | 2.48ms | 2.704 | 13.58ms | 521 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - SetName | 1.81ms | 1.972 | 9.52ms | 202 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Call | 1.35ms | 1.473 | 103.28ms | 356 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__set__ | 1.29ms | 1.401 | 40.43ms | 818 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - GetPropertyByName | 1.24ms | 1.354 | 4.95ms | 355 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Date | 1.07ms | 1.171 | 1.08ms | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__get_prototype_of__ | 1.06ms | 1.151 | 1.21ms | 621 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - GetPropertyByValue | 1.05ms | 1.143 | 1.91ms | 154 | +------------------------------------------------+-----------+-----------------+----------+------------+ | create_intrinsics | 871.52µs | 0.949 | 7.92ms | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Array | 761.02µs | 0.829 | 763.84µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Opcode retrieval | 756.35µs | 0.824 | 756.35µs | 4941 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Math | 750.16µs | 0.817 | 753.72µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object | 618.59µs | 0.674 | 620.77µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | String | 611.83µs | 0.667 | 614.46µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | RegExp | 419.63µs | 0.457 | 421.09µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | next() | 339.03µs | 0.369 | 849.73µs | 96 | +------------------------------------------------+-----------+-----------------+----------+------------+ | console | 332.59µs | 0.362 | 334.02µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Identifier | 318.53µs | 0.347 | 337.39µs | 30 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - DefInitArg | 305.43µs | 0.333 | 305.43µs | 54 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Reflect | 265.70µs | 0.289 | 267.45µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Dup | 260.49µs | 0.284 | 260.49µs | 555 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Number | 225.72µs | 0.246 | 305.09µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BigInt64Array | 220.31µs | 0.240 | 220.54µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Map | 208.40µs | 0.227 | 209.97µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PushInt8 | 201.64µs | 0.220 | 201.64µs | 402 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Set | 196.16µs | 0.214 | 197.64µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Pop | 191.73µs | 0.209 | 191.73µs | 455 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Symbol | 186.95µs | 0.204 | 188.13µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__is_extensible__ | 159.01µs | 0.173 | 159.01µs | 677 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - LessThan | 152.95µs | 0.167 | 152.95µs | 202 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::ordinary_get_prototype_of | 152.01µs | 0.166 | 152.01µs | 621 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Main | 150.58µs | 0.164 | 82.11ms | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Inc | 134.81µs | 0.147 | 134.81µs | 200 | +------------------------------------------------+-----------+-----------------+----------+------------+ | AssignmentExpression | 113.77µs | 0.124 | 4.08ms | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - JumpIfFalse | 103.93µs | 0.113 | 103.93µs | 202 | +------------------------------------------------+-----------+-----------------+----------+------------+ | function | 103.75µs | 0.113 | 104.33µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | MemberExpression | 97.28µs | 0.106 | 2.30ms | 26 | +------------------------------------------------+-----------+-----------------+----------+------------+ | make_builtin_fn: next | 94.48µs | 0.103 | 100.99µs | 6 | +------------------------------------------------+-----------+-----------------+----------+------------+ | From<JsObject> | 83.55µs | 0.091 | 83.55µs | 2582 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Jump | 83.45µs | 0.091 | 83.45µs | 202 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ArrayBuffer | 82.91µs | 0.090 | 84.38µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Realm::create | 82.24µs | 0.090 | 93.74µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BigInt | 79.60µs | 0.087 | 81.04µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | LeftHandSIdeExpression | 76.08µs | 0.083 | 3.04ms | 25 | +------------------------------------------------+-----------+-----------------+----------+------------+ | NumberLiteral | 70.64µs | 0.077 | 99.63µs | 7 | +------------------------------------------------+-----------+-----------------+----------+------------+ | MultiplicativeExpression | 68.45µs | 0.075 | 3.38ms | 24 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Mul | 66.50µs | 0.072 | 66.50µs | 100 | +------------------------------------------------+-----------+-----------------+----------+------------+ | StatementList | 66.01µs | 0.072 | 3.70ms | 3 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - GreaterThan | 61.54µs | 0.067 | 61.54µs | 100 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - GetFunction | 52.91µs | 0.058 | 175.00µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Float32Array | 52.62µs | 0.057 | 52.82µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | From<String> | 50.52µs | 0.055 | 50.52µs | 431 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ExponentiationExpression | 48.15µs | 0.052 | 3.31ms | 25 | +------------------------------------------------+-----------+-----------------+----------+------------+ | PrimaryExpression | 47.01µs | 0.051 | 1.82ms | 25 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - LogicalAnd | 46.79µs | 0.051 | 46.79µs | 100 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Boolean | 42.78µs | 0.047 | 43.08µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Int8Array | 41.96µs | 0.046 | 42.18µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Float64Array | 41.36µs | 0.045 | 41.57µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BigUint64Array | 41.12µs | 0.045 | 41.34µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Uint16Array | 40.82µs | 0.044 | 41.03µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Uint8Array | 40.68µs | 0.044 | 40.89µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Uint32Array | 40.61µs | 0.044 | 40.81µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | JSON | 40.59µs | 0.044 | 41.73µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Int32Array | 40.57µs | 0.044 | 40.79µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Uint8ClampedArray | 40.47µs | 0.044 | 40.69µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Int16Array | 40.37µs | 0.044 | 40.57µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BitwiseANDExpression | 39.90µs | 0.043 | 3.56ms | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Error | 39.58µs | 0.043 | 40.62µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | UpdateExpression | 39.50µs | 0.043 | 3.08ms | 25 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - RestParameterPop | 39.29µs | 0.043 | 39.29µs | 55 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Arguments | 37.25µs | 0.041 | 689.94µs | 7 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Relation Expression | 36.74µs | 0.040 | 3.49ms | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | AdditiveExpression | 36.23µs | 0.039 | 3.42ms | 24 | +------------------------------------------------+-----------+-----------------+----------+------------+ | SyntaxError | 34.38µs | 0.037 | 35.85µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ShiftExpression | 34.17µs | 0.037 | 3.45ms | 24 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ReferenceError | 33.10µs | 0.036 | 34.17µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | TypeError | 32.79µs | 0.036 | 33.79µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | EvalError | 32.17µs | 0.035 | 33.43µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | URIError | 32.05µs | 0.035 | 33.35µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ShortCircuitExpression | 32.02µs | 0.035 | 3.65ms | 20 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BitwiseORExpression | 30.85µs | 0.034 | 3.62ms | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | EqualityExpression | 30.82µs | 0.034 | 3.52ms | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BitwiseXORExpression | 30.80µs | 0.034 | 3.59ms | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ConditionalExpression | 29.84µs | 0.033 | 3.68ms | 20 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Operator | 28.55µs | 0.031 | 30.56µs | 13 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ForStatement | 28.09µs | 0.031 | 1.18ms | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Proxy | 28.02µs | 0.031 | 28.19µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::next_char() | 27.88µs | 0.030 | 27.88µs | 147 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::next_is_ascii_pred() | 26.11µs | 0.028 | 27.33µs | 21 | +------------------------------------------------+-----------+-----------------+----------+------------+ | VariableStatement | 25.01µs | 0.027 | 224.24µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Intl | 23.92µs | 0.026 | 24.90µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Statement | 23.60µs | 0.026 | 4.26ms | 9 | +------------------------------------------------+-----------+-----------------+----------+------------+ | RangeError | 23.47µs | 0.026 | 24.56µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - DefInitVar | 20.60µs | 0.022 | 49.41µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Return | 20.47µs | 0.022 | 20.47µs | 55 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Expression | 20.13µs | 0.022 | 3.27ms | 13 | +------------------------------------------------+-----------+-----------------+----------+------------+ | CallExpression | 19.32µs | 0.021 | 714.52µs | 6 | +------------------------------------------------+-----------+-----------------+----------+------------+ | make_builtin_fn: parseInt | 19.31µs | 0.021 | 20.46µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Iterator Prototype | 18.91µs | 0.021 | 18.99µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | String Iterator | 18.66µs | 0.020 | 37.92µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | make_builtin_fn: isNaN | 18.43µs | 0.020 | 19.50µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | make_builtin_fn: parseFloat | 18.37µs | 0.020 | 19.41µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | make_builtin_fn: isFinite | 18.11µs | 0.020 | 19.13µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ArrowFunction | 16.54µs | 0.018 | 80.56µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::next_is() | 16.24µs | 0.018 | 16.40µs | 5 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PushZero | 15.39µs | 0.017 | 15.39µs | 56 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PushUndefined | 13.76µs | 0.015 | 13.76µs | 55 | +------------------------------------------------+-----------+-----------------+----------+------------+ | UnaryExpression | 11.52µs | 0.013 | 3.75ms | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | LexicalEnvironment::new | 11.15µs | 0.012 | 11.20µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::peek_char() | 10.27µs | 0.011 | 10.27µs | 78 | +------------------------------------------------+-----------+-----------------+----------+------------+ | LexicalEnvironment::has_binding | 10.22µs | 0.011 | 28.81µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ArrayIterator | 10.09µs | 0.011 | 28.84µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | StatementListItem | 9.83µs | 0.011 | 3.57ms | 7 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::__construct__ | 9.80µs | 0.011 | 31.22µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PushDeclarativeEnvironment | 9.31µs | 0.010 | 9.71µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PushNewArray | 9.19µs | 0.010 | 24.97µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ExpressionStatement | 9.06µs | 0.010 | 2.80ms | 5 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ForInIterator | 8.71µs | 0.009 | 26.32µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | SetIterator | 8.67µs | 0.009 | 26.13µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | RegExp String Iterator | 8.47µs | 0.009 | 25.15µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | MapIterator | 8.47µs | 0.009 | 25.54µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | FunctionExpression | 7.08µs | 0.008 | 1.77ms | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | SpreadLiteral | 6.89µs | 0.008 | 23.29µs | 5 | +------------------------------------------------+-----------+-----------------+----------+------------+ | new_declarative_environment | 6.76µs | 0.007 | 6.76µs | 59 | +------------------------------------------------+-----------+-----------------+----------+------------+ | FunctionStatementList | 5.80µs | 0.006 | 1.82ms | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - New | 5.65µs | 0.006 | 36.90µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::peek() | 4.65µs | 0.005 | 4.65µs | 59 | +------------------------------------------------+-----------+-----------------+----------+------------+ | FormalParameters | 4.54µs | 0.005 | 6.33µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - This | 3.50µs | 0.004 | 3.53µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Object::get_prototype_from_constructor | 3.42µs | 0.004 | 9.07µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::set_goal() | 3.33µs | 0.004 | 3.33µs | 99 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Initializer | 3.29µs | 0.004 | 161.59µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | BindingIdentifier | 3.27µs | 0.004 | 3.27µs | 3 | +------------------------------------------------+-----------+-----------------+----------+------------+ | ArrayLiteral | 2.42µs | 0.003 | 3.98µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | globalThis | 1.35µs | 0.001 | 1.38µs | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PopEnvironment | 1.23µs | 0.001 | 1.23µs | 2 | +------------------------------------------------+-----------+-----------------+----------+------------+ | cursor::next_byte() | 943.00ns | 0.001 | 943.00ns | 11 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - Swap | 841.00ns | 0.001 | 841.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - LogicalNot | 661.00ns | 0.001 | 661.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PopOnReturnAdd | 351.00ns | 0.000 | 351.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | INST - PopOnReturnSub | 211.00ns | 0.000 | 211.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Infinity | 160.00ns | 0.000 | 160.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | undefined | 140.00ns | 0.000 | 140.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | NaN | 130.00ns | 0.000 | 130.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Execute | 70.00ns | 0.000 | 70.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ | Compilation | 40.00ns | 0.000 | 40.00ns | 1 | +------------------------------------------------+-----------+-----------------+----------+------------+ Total cpu time: 91.797457ms +------+---------------+ | Item | Artifact Size | +------+---------------+ ``` |
3 years ago |
dependabot[bot] | 7fba7c0c45 |
Bump indexmap from 1.7.0 to 1.8.0 (#1776)
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.7.0 to 1.8.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bluss/indexmap/blob/master/RELEASES.rst">indexmap's changelog</a>.</em></p> <blockquote> <ul> <li> <p>1.8.0</p> <ul> <li> <p>The new <code>IndexMap::into_keys</code> and <code>IndexMap::into_values</code> will consume the map into keys or values, respectively, matching Rust 1.54's <code>HashMap</code> methods, by <a href="https://github.com/taiki-e"><code>@taiki-e</code></a> in PR 195_.</p> </li> <li> <p>More of the iterator types implement <code>Debug</code>, <code>ExactSizeIterator</code>, and <code>FusedIterator</code>, by <a href="https://github.com/cuviper"><code>@cuviper</code></a> in PR 196_.</p> </li> <li> <p><code>IndexMap</code> and <code>IndexSet</code> now implement rayon's <code>ParallelDrainRange</code>, by <a href="https://github.com/cuviper"><code>@cuviper</code></a> in PR 197_.</p> </li> <li> <p><code>IndexMap::with_hasher</code> and <code>IndexSet::with_hasher</code> are now <code>const</code> functions, allowing static maps and sets, by <a href="https://github.com/mwillsey"><code>@mwillsey</code></a> in PR 203_.</p> </li> <li> <p><code>IndexMap</code> and <code>IndexSet</code> now implement <code>From</code> for arrays, matching Rust 1.56's implementation for <code>HashMap</code>, by <a href="https://github.com/rouge8"><code>@rouge8</code></a> in PR 205_.</p> </li> <li> <p><code>IndexMap</code> and <code>IndexSet</code> now have methods <code>sort_unstable_keys</code>, <code>sort_unstable_by</code>, <code>sorted_unstable_by</code>, and <code>par_*</code> equivalents, which sort in-place without preserving the order of equal items, by <a href="https://github.com/bhgomes"><code>@bhgomes</code></a> in PR 211_.</p> </li> </ul> </li> </ul> <p>.. _195: <a href="https://github-redirect.dependabot.com/bluss/indexmap/pull/195">bluss/indexmap#195</a> .. _196: <a href="https://github-redirect.dependabot.com/bluss/indexmap/pull/196">bluss/indexmap#196</a> .. _197: <a href="https://github-redirect.dependabot.com/bluss/indexmap/pull/197">bluss/indexmap#197</a> .. _203: <a href="https://github-redirect.dependabot.com/bluss/indexmap/pull/203">bluss/indexmap#203</a> .. _205: <a href="https://github-redirect.dependabot.com/bluss/indexmap/pull/205">bluss/indexmap#205</a> .. _211: <a href="https://github-redirect.dependabot.com/bluss/indexmap/pull/211">bluss/indexmap#211</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago |