mirror of https://github.com/boa-dev/boa.git
Tree:
e20f7a5eab
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
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 }
48 Commits (e20f7a5eab557e9f273f9a0440065acb5f2c8a5f)
Author | SHA1 | Message | Date |
---|---|---|---|
dependabot[bot] |
e1dab95d7e
|
Bump quote from 1.0.32 to 1.0.33 (#3220)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.32 to 1.0.33. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.32...1.0.33) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
dependabot[bot] |
f3fd941846
|
Bump syn from 2.0.28 to 2.0.29 (#3222)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.28 to 2.0.29. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.28...2.0.29) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
dependabot[bot] |
5f7058531f
|
Bump syn from 2.0.27 to 2.0.28 (#3190)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.27 to 2.0.28. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.27...2.0.28) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
Choongwoo Han |
6a7862917a
|
Find roots when running GC rather than runtime (#3109)
* Find roots when running GC Attempt to address the issue #2773. The existing implementation had an expensive overhead of managing root counts, especially for mutable borrow of GcRefCell. Instead of managing the root counts, this change counts the number of Gc/WeakGc handles located in Gc heap objects and total number of them. Then, we can find whether there is a root by comparing those numbers. * Fix clippy errors * Keep reference counts in Box * Addressing comment * Fix clippy errors * Fix typo * non_root_count includes mark bit * give a space |
1 year ago |
dependabot[bot] |
8aa8f2735f
|
Bump quote from 1.0.31 to 1.0.32 (#3167)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.31 to 1.0.32. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.31...1.0.32) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
dependabot[bot] |
de2412ad42
|
Bump syn from 2.0.26 to 2.0.27 (#3160)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.26 to 2.0.27. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.26...2.0.27) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
dependabot[bot] |
2e3af4220d
|
Bump syn from 2.0.25 to 2.0.26 (#3153)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.25 to 2.0.26. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.25...2.0.26) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
dependabot[bot] |
ed3703055b
|
Bump quote from 1.0.29 to 1.0.31 (#3146)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.29 to 1.0.31. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.29...1.0.31) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
dependabot[bot] |
45026fefa5
|
Bump syn from 2.0.24 to 2.0.25 (#3128)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.24 to 2.0.25. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.24...2.0.25) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
Iban Eguia Moraza |
49f00590a4
|
Removed time 0.1 dependency, updated dependencies (#3122)
|
1 year ago |
José Julián Espina |
395d0c8d42
|
Format let-else expressions (#3102)
|
1 year ago |
Jason Williams |
5eb8541e4a
|
Changelog17 (#3101)
* v0.17.0 changelog * Added latest changes, updated dependencies --------- Co-authored-by: Iban Eguia Moraza <razican@protonmail.ch> |
1 year ago |
dependabot[bot] |
d8dcbddd91
|
Bump quote from 1.0.28 to 1.0.29 (#3090)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.28 to 1.0.29. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.28...1.0.29) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
1 year ago |
José Julián Espina |
ce520fa2ba
|
Prepare for release 0.17 (#3083)
|
1 year ago |
José Julián Espina |
551a287718
|
Copy `ABOUT.md` file to all published crates (#3074)
|
1 year ago |
dependabot[bot] |
0ed7fb844d
|
Bump syn from 2.0.16 to 2.0.18 (#2974)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.16 to 2.0.18. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.16...2.0.18) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
dependabot[bot] |
d70b229e20
|
Bump quote from 1.0.27 to 1.0.28 (#2965)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.27 to 1.0.28. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.27...1.0.28) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
José Julián Espina |
ab87b2fd5b
|
Extract "About Boa" section into a separate file (#2938)
* Extract "About Boa" section into a separate file * Add newline * cargo fmt |
2 years ago |
dependabot[bot] |
d13979dea6
|
Bump syn from 2.0.15 to 2.0.16 (#2930)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.15 to 2.0.16. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.15...2.0.16) --- updated-dependencies: - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
dependabot[bot] |
cb9e1ef810
|
Bump quote from 1.0.26 to 1.0.27 (#2920)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.26 to 1.0.27. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.26...1.0.27) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
dependabot[bot] | 841481803a |
Bump syn from 2.0.14 to 2.0.15 (#2820)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.14 to 2.0.15. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.15</h2> <ul> <li>Ensure <code>Type::Tuple</code> of length 1 prints as a tuple even if trailing comma is not provided in the Punctuated (<a href="https://redirect.github.com/dtolnay/syn/issues/1444">#1444</a>, thanks <a href="https://github.com/Fancyflame"><code>@Fancyflame</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 82769820fb |
Bump syn from 2.0.13 to 2.0.14 (#2812)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.13 to 2.0.14. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.14</h2> <ul> <li>Add Punctuated::pop_punct() (<a href="https://redirect.github.com/dtolnay/syn/issues/1442">#1442</a>, thanks <a href="https://github.com/programmerjake"><code>@programmerjake</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 077142710f |
Bump syn from 2.0.12 to 2.0.13 (#2776)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.12 to 2.0.13. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.13</h2> <ul> <li>Improve spans of Expr::Field parsed from a float Literal (<a href="https://redirect.github.com/dtolnay/syn/issues/1433">#1433</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1436">#1436</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 08ed2a4ae0 |
Bump syn from 2.0.11 to 2.0.12 (#2770)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.11 to 2.0.12. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.12</h2> <ul> <li>Refer to <code>compile_error!</code> by absolute path in token stream produced by syn::Error::to_compile_error (<a href="https://redirect.github.com/dtolnay/syn/issues/1431">#1431</a>, thanks <a href="https://github.com/smoelius"><code>@smoelius</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | 540aa2be4f |
Initial version of a JS -> Rust conversion trait. (#2276)
This Pull Request closes #1975. It's still a work in progress, but tries to go in that direction. It changes the following: - Adds a new `TryFromJs` trait, that can be derived using a new `boa_derive` crate. - Adds a new `try_js_into()` function that, similarly to the standard library `TryInto` trait Things to think about: - Should the `boa_derive` crate be re-exported in `boa_engine` using a `derive` feature, similar to how it's done in `serde`? - The current implementation only converts perfectly valid values. So, if we try to convert a big integer into an `i8`, or any floating point number to an `f32`. So, you cannot derive `TryFromJs` for structures that contain an `f32` for example (you can still manually implement the trait, though, and decide in favour of a loss of precision). Should we also provide some traits for transparent loss of precision? - Currently, you cannot convert between types, so if the JS struct has an integer, you cannot cast it to a boolean, for example. Should we provide a `TryConvertJs` trait, for example to force conversions? - Currently we only have basic types and object conversions. Should add `Array` to `Vec` conversion, for example, right? Should we also add `TypedArray` conversions? What about `Map` and `Set`? Does this step over the fine grained APIs that we were creating? Note that this still requires a bunch of documentation, tests, and validation from the dev team and from the users that requested this feature. I'm particularly interested in @lastmjs's thoughts on this API. I already added an usage example in `boa_examples/src/bin/derive.rs`. Co-authored-by: jedel1043 <jedel0124@gmail.com> |
2 years ago |
dependabot[bot] | 5129a06de9 |
Bump synstructure from 0.12.6 to 0.13.0 (#2746)
Bumps [synstructure](https://github.com/mystor/synstructure) from 0.12.6 to 0.13.0. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/mystor/synstructure/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=synstructure&package-manager=cargo&previous-version=0.12.6&new-version=0.13.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> Co-authored-by: jedel1043 <jedel0124@gmail.com> |
2 years ago |
dependabot[bot] | 33204e4ad2 |
Bump syn from 2.0.10 to 2.0.11 (#2754)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.10 to 2.0.11. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.11</h2> <ul> <li>Improve error message on empty parens inside parse_nested_meta (<a href="https://redirect.github.com/dtolnay/syn/issues/1428">#1428</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 3586bf22cc |
Bump syn from 2.0.8 to 2.0.10 (#2750)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.8 to 2.0.10. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.10</h2> <ul> <li>Fix visibility being parsed incorrectly on macro invocations inside of a trait</li> </ul> <h2>2.0.9</h2> <ul> <li>Disallow <code>type</code> items in an extern block, trait, or module from being marked <code>default</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | e4657433a4 |
Bump syn from 2.0.3 to 2.0.8 (#2728)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.3 to 2.0.8. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.8</h2> <ul> <li>Treat <code>try</code> keyword as 2015-edition identifier in definition of try macro (<a href="https://redirect.github.com/dtolnay/syn/issues/1422">#1422</a>)</li> </ul> <h2>2.0.7</h2> <ul> <li>Fix parsing of <code>mut self</code> inside of Type::BareFn</li> </ul> <h2>2.0.6</h2> <ul> <li>Improve error message on missing ';' between statements (<a href="https://redirect.github.com/dtolnay/syn/issues/1419">#1419</a>)</li> <li>Keep non-brace macro invocations in trailing expr position as Expr::Macro (<a href="https://redirect.github.com/dtolnay/syn/issues/1420">#1420</a>)</li> </ul> <h2>2.0.5</h2> <ul> <li>Expose <code>ExprMacro</code> data structure even when <code>features="full"</code> is not used (<a href="https://redirect.github.com/dtolnay/syn/issues/1417">#1417</a>)</li> </ul> <h2>2.0.4</h2> <ul> <li>Improve error reporting when parsing identifiers and paths (<a href="https://redirect.github.com/dtolnay/syn/issues/1415">#1415</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1416">#1416</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | d2dd121efe |
Updated syn to 2.0.3 (#2702)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request fixes/closes #2700. It updates the `syn` dependency to v2. I had to activate the "full" feature in order to make have the tuple elements available in `boa_macros/src/lib.rs` line 81. Maybe we could look for a different way of doing this (didn't spend time on it), to avoid activating all features of `syn`. |
2 years ago |
dependabot[bot] | 053f671bb8 |
Bump quote from 1.0.25 to 1.0.26 (#2663)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.25 to 1.0.26. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 48ddeb9a53 |
Bump quote from 1.0.23 to 1.0.25 (#2649)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.23 to 1.0.25. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | d10754a24b |
Bump syn from 1.0.108 to 1.0.109 (#2621)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.108 to 1.0.109. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 591befebf2 |
Bump syn from 1.0.107 to 1.0.108 (#2616)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.107 to 1.0.108. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.108</h2> <ul> <li>Fix handling of unusual whitespace after escaped newlines in <code>LitStr::value</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1381">#1381</a>, thanks <a href="https://github.com/ModProg"><code>@ModProg</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | 3f9f6f0fce |
Module parsing (#2411)
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :) The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts. Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser. Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this? Co-authored-by: jedel1043 <jedel0124@gmail.com> |
2 years ago |
José Julián Espina | ddf00c8c03 |
Improve identifier parsing (#2581)
Another change extracted from #2411. This PR changes the following: - Improves our identifier parsing with a new `Identifier` parser that unifies parsing for `IdentifierReference`, `BindingIdentifier` and `LabelIdentifier`. - Slightly improves some error messages. - Extracts our manual initialization of static `Sym`s with a new `static_syms` proc macro. - Adds `set_module_mode` and `module_mode` to the cursor to prepare for modules. |
2 years ago |
José Julián Espina | 097f85e409 |
First batch of `no_std` support for some sub-crates (#2544)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request enables support for `no_std` targets on some of our sub-crates. I intentionally left out `boa_ast` and `boa_cli` because they're the largest crates we have after `boa_engine`. `boa_gc` is a monster on its own, because we'll need to design a `no_std` multithreaded GC. Anyways, this changes the following: - Adds support for `no_std` on `boa_unicode`. - Adds support for `no_std` on `boa_profiler`. - Adds support for `no_std` on `boa_interner`. - Adds support for `no_std` on `boa_icu_provider`. |
2 years ago |
José Julián Espina | 7c9eef8edc |
Improve the design of ephemerons in our GC (#2530)
This PR changes the following: - Modifies `EphemeronBox` to be more akin to `GcBox`, with its own header, roots and markers. This also makes it more similar to [Racket's](https://docs.racket-lang.org/reference/ephemerons.html) implementation. - Removes `EPHEMERON_QUEUE`. - Ephemerons are now tracked on a special `weak_start` linked list, instead of `strong_start` which is where all other GC boxes live. - Documents all unsafe blocks. - Documents our current garbage collection algorithm. I hope this'll clarify a bit what exactly are we doing on every garbage collection. - Renames/removes some functions. |
2 years ago |
José Julián Espina | cc45a827ca |
Cleanup inline annotations (#2493)
Per the [Standard Library development guide](https://std-dev-guide.rust-lang.org/code-considerations/performance/inline.html): > You can add `#[inline]`: > > - To public, small, non-generic functions. > > You shouldn't need `#[inline]`: > - On methods that have any generics in scope. > - On methods on traits that don't have a default implementation. > > `#[inline]` can always be introduced later, so if you're in doubt they can just be removed. This PR follows this guideline to reduce the number of `#[inline]` annotations in our code, removing the annotation in: - Non-public functions - Generic functions - Medium and big functions. Hopefully this shouldn't impact our perf at all, but let's wait to see the benchmark results. |
2 years ago |
dependabot[bot] | e3c2126722 |
Bump syn from 1.0.105 to 1.0.107 (#2487)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.105 to 1.0.107. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.106</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/dtolnay/syn/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=1.0.105&new-version=1.0.107)](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> |
2 years ago |
dependabot[bot] | f40368980e |
Bump quote from 1.0.21 to 1.0.23 (#2489)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.21 to 1.0.23. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/quote/releases">quote's releases</a>.</em></p> <blockquote> <h2>1.0.22</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Kevin | c79b9023df |
Documentation Updates (#2463)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> Submitting this as a draft for feedback/second opinions. This draft contains some changes to the documentation. Quick Overview: - Potential `Boa` header for Boa's crates added to `boa_engine`. - Changes the wording to a lot of module headers (See `builtins` module and `object/builtins` module). - Updating built-in wrapper's code examples to use `?` operator. - Adds the doc logo URL to a few crates that didn't have it. The main idea of this draft is to move away from the "This module implements" wording as it feels a bit duplicative when listed under the Modules section (mainly focusing around changes in `boa_engine` to start). While working on this, I had a question about whether we should be using JavaScript or ECMAScript in the Boa's documentation. We do seem to currently use both, and this draft uses JavaScript heavily in the wording. |
2 years ago |
dependabot[bot] | 71108a29e7 |
Bump syn from 1.0.104 to 1.0.105 (#2469)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.104 to 1.0.105. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.105</h2> <ul> <li>Improve parse errors related to <code>dyn</code> and <code>impl</code> type syntax (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1245">#1245</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 527c511a02 |
Bump syn from 1.0.103 to 1.0.104 (#2466)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.103 to 1.0.104. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
raskad | a5e8111fa2 |
Restructure lints in multiple crates (#2447)
This Pull Request restructures the lint deny/warn/allow lists in almost all crates. `boa_engine` will be done in a follow up PR as the changes there are pretty extensive. |
2 years ago |
Kevin | 98e6dd36cb |
Boa Gc implementation draft (#2394)
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
Not sure if anyone else may be working on something more substantial/in-depth, but I thought I'd post this. 😄
The basic rundown is that this is more of an untested (and in some ways naïve) draft than anything else. It builds rather heavily on `rust-gc`, and tries to keep plenty of the core aspects so as to not break anything too much, and also to minimize overarching changes were it to actually be merged at some point.
This implementation does add ~~a generational divide (although a little unoptimized) to the heap,~~ a GcAlloc/Collector struct with methods, and an ephemeron implementation that allows for the WeakPair and WeakGc pointers.
|
2 years ago |
dependabot[bot] | 96d4ed8d70 |
Bump syn from 1.0.102 to 1.0.103 (#2358)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.102 to 1.0.103. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.103</h2> <ul> <li>Implement <code>PartialOrd</code> for <code>Cursor</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1236">#1236</a>, <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1237">#1237</a>, thanks <a href="https://github.com/CAD97"><code>@CAD97</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | df70302194 |
First prototype for new `JsString` using UTF-16 (#1659)
I think it's time to address the elephant in the room. This Pull Request will (hopefully!) solve part of #736. This is a complete rewrite of `JsString`, but instead of storing `u8` bytes it stores `u16` words. The `encode!` macro (renamed to `utf16!` for simplicity) from the `const-utf16` crate allows us to create UTF-16 encoded arrays at compilation time. `JsString` implements `Deref<Target=[u16]>` to unlock the slice methods and possibly make some manipulations easier. However, we would need to create our own library of utilities for `JsString`. |
2 years ago |