25 Commits

Author SHA1 Message Date
Yota Toyama e11647fab9 Merge branch 'main' into chore/pointer-mask 2023-09-28 15:55:11 +10:00
Yota Toyama 21b6fb35ff Fix examples test (#290) 2023-09-28 05:52:43 +00:00
Yota Toyama 10e16366d7 Refactor example test (#289) 2023-09-28 05:48:03 +00:00
Yota Toyama 9dd6bfd031 Refactor test 2023-09-28 15:17:12 +10:00
Yota Toyama f20c12e508 Fix spell check (#287) 2023-09-28 03:02:00 +00:00
Yota Toyama e59c09749a Bump version (#286) 2023-09-28 02:55:18 +00:00
Yota Toyama 1e54b65b9e Refactor (#285) 2023-09-28 10:51:38 +08:00
dependabot[bot] 7f2429fe25 chore(deps): Bump vendor/bdwgc from 4ae9dcd to e8c073d (#284)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `4ae9dcd` to
`e8c073d`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/e8c073d786948dd522fa96c9c42d1a362836e1c8"><code>e8c073d</code></a>
Group char-width fields together in GC_arrays</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/2fa18d27aa3032cf15eade0242f658ffb68dcf47"><code>2fa18d2</code></a>
AppVeyor: Test enable_dynamic_pointer_mask option</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/8756a504c09cc9c7037457c2163b1a2222c3d8d4"><code>8756a50</code></a>
Travis CI: Test with --enable-dynamic-pointer-mask</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/57828b3c2b7e811abd6bb1ba37060eb456b3824e"><code>57828b3</code></a>
Support pointer mask/shift set at runtime</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/2ea5267d042b7f9fd97dd506e24b47c297d155ca"><code>2ea5267</code></a>
Remove unneeded cast to word in GC_PUSH_ONE_HEAP/STACK</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c68513167276d8deb8fe3e6286c525f58102fba7"><code>c685131</code></a>
Turn on MAKE_BACK_GRAPH for all Linux architectures in cmake and
configure</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/4ae9dcd8945e5a43b84375631e48e4fafd443a36...e8c073d786948dd522fa96c9c42d1a362836e1c8">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 19:30:03 +00:00
Yota Toyama 08d549315b Fix 2023-09-24 20:23:45 +10:00
Yota Toyama a4bcbf2c7b Call memalign 2023-09-24 17:01:53 +10:00
Yota Toyama 5f41a2b8e2 Set pointer mask 2023-09-24 16:56:08 +10:00
dependabot[bot] 3a1ddbb6ea chore(deps): Bump vendor/bdwgc from cbe50cb to 4ae9dcd (#281)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `cbe50cb` to
`4ae9dcd`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/4ae9dcd8945e5a43b84375631e48e4fafd443a36"><code>4ae9dcd</code></a>
Use BZERO in GC_save_callers</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/f5148bd07fef316e91be40dbb770f17cd2766508"><code>f5148bd</code></a>
Fix 'info' buffer potential overrun in GC_save_callers</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/76cde169f98c3ac6ccfc027986a2cd1fdcf3e84a"><code>76cde16</code></a>
Travis CI: Remove build on focal with TSan and large-config off</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/cbe50cbfdfcd5ec7fffa7fc6363070ff321e35d7...4ae9dcd8945e5a43b84375631e48e4fafd443a36">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-22 19:59:09 +00:00
dependabot[bot] 4412c9d243 chore(deps): Bump vendor/bdwgc from 4306149 to cbe50cb (#280)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `4306149` to
`cbe50cb`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/cbe50cbfdfcd5ec7fffa7fc6363070ff321e35d7"><code>cbe50cb</code></a>
Use AS_HELP_STRING consistently for AC_ARG_WITH in configure</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/ed0bb4c0c77ccf0fc2146b632b7b10ec0a8f2746"><code>ed0bb4c</code></a>
Remove empty default cases in configure</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/7064a56952b93cb1db58c45d1d94df4f9199fff4"><code>7064a56</code></a>
Fix closing bracket placement for case statement in configure</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/80309f4eec6303a58fb55f5bacec13a6991aa652"><code>80309f4</code></a>
Do not use GC lock in GC_print_callers</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/33a5db3c58e5ec37c89694957cb84283812ac658"><code>33a5db3</code></a>
Use GC_HIDE_NZ_POINTER() for hiding ci_arg value in GC_save_callers</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/629d6c3dba9335f16770b6b25f76256916366aa8"><code>629d6c3</code></a>
Remove GC_save/print_callers duplicate declaration</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/f47941b85236b7bbeefc76dc830ffeb51b673336"><code>f47941b</code></a>
Fix typo regarding mark lock in comment of gc_pmark.h</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/4306149f0bea951a9fb2c967a7b01c292c8aa78f...cbe50cbfdfcd5ec7fffa7fc6363070ff321e35d7">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-21 20:46:43 +00:00
dependabot[bot] 4485210edd chore(deps): Bump vendor/bdwgc from 1d98269 to 4306149 (#279)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `1d98269` to
`4306149`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/4306149f0bea951a9fb2c967a7b01c292c8aa78f"><code>4306149</code></a>
Workaround '_malloca macro redefinition' MS VC warning cause of
intrin.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c902a4fb39d6e1ef91a2db0cfaf7c03540d6f138"><code>c902a4f</code></a>
Use MSVC _m_prefetchw intrinsic for write-prefetch (x86 and x64)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/142e3d3e467ce0036df53a674919024310959ad0"><code>142e3d3</code></a>
Update AUTHORS file</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/703fde0aec3141540745711adef0538c79f69420"><code>703fde0</code></a>
Enable prefetch for MSVC (Windows/x86 and Windows/x64)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/07f120a853f01284c119a926d993757d8df99476"><code>07f120a</code></a>
Add comment about if-do-while statements in
GC_wait_for_gc_completion</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/701a8086e125133bd46559c3d4d07ad1a393c8f4"><code>701a808</code></a>
Revert &quot;Simplify loop in GC_wait_for_gc_completion&quot;</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/63e8f2a8874118a2d8ae5608aebc2d61ad098c45"><code>63e8f2a</code></a>
Eliminate code duplication in GC_PREFETCH_FOR_WRITE generic
definition</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/9a1e0e6ec9f975beeca81b77ae882f9aa33a0578"><code>9a1e0e6</code></a>
Fix extra 'extern C' for include signal.h in gcconfig.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/b43ee71d85b38957701d2df09006db79f920f848"><code>b43ee71</code></a>
Simplify loop in GC_wait_for_gc_completion</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/f8bfbfe965cea9c17798132e35c41d727436487b"><code>f8bfbfe</code></a>
Fix GC_page_size for WASI</li>
<li>Additional commits viewable in <a
href="https://github.com/ivmai/bdwgc/compare/1d9826992aa2a2783c9badbacddae70fdf7fffee...4306149f0bea951a9fb2c967a7b01c292c8aa78f">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-18 19:30:57 +00:00
dependabot[bot] 542c989250 chore(deps): Bump vendor/libatomic_ops from fa4df52 to 9f6bc3b (#278)
Bumps [vendor/libatomic_ops](https://github.com/ivmai/libatomic_ops)
from `fa4df52` to `9f6bc3b`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/libatomic_ops/commit/9f6bc3b928e60081aa1cd6a3ac8707ed90705e9c"><code>9f6bc3b</code></a>
Fix deprecation warning about support of CMake older than v3.5</li>
<li>See full diff in <a
href="https://github.com/ivmai/libatomic_ops/compare/fa4df527300587cf3650d9bc89d008fbb823a663...9f6bc3b928e60081aa1cd6a3ac8707ed90705e9c">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 19:06:01 +00:00
dependabot[bot] 61a78a5c05 chore(deps): Bump vendor/bdwgc from 99dbd7e to 1d98269 (#277)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `99dbd7e` to
`1d98269`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/1d9826992aa2a2783c9badbacddae70fdf7fffee"><code>1d98269</code></a>
Fix missing GC_pthread_sigmask on NetBSD</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/db2dc20c92b4be5aa9a4a3afbdd39c55bc479a5a"><code>db2dc20</code></a>
Update ChangeLog file</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/f4724ef4a7fc60bec82a5f1099aa1fbcb6f88b9d"><code>f4724ef</code></a>
Update ChangeLog file (v8.2 changes)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/9f34b0d3c699bf94d11159bb22e8929b18f51349"><code>9f34b0d</code></a>
Update ChangeLog file (v8.0 changes)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/dc2bf02fd0e44982ad3460da96b7a341548d6ea3"><code>dc2bf02</code></a>
Update ChangeLog file (v7.6 changes)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c5838044db2b09b4aaa94b61c0f770682670d779"><code>c583804</code></a>
Update ChangeLog file (v7.2 - v7.4 changes only)</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/99dbd7ee2e744e76ad0d4814e1e6a4f510dcb316...1d9826992aa2a2783c9badbacddae70fdf7fffee">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 19:57:45 +00:00
dependabot[bot] c7c1a78196 chore(deps): Bump vendor/bdwgc from 6f8349a to 99dbd7e (#276)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `6f8349a` to
`99dbd7e`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/99dbd7ee2e744e76ad0d4814e1e6a4f510dcb316"><code>99dbd7e</code></a>
Workaround mark stack overflow in GC_push_finalizer_structures on
MinGW</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/f60b451faff01a20257552a839b384f2cc73b1a1"><code>f60b451</code></a>
Remove unneeded casts in GC_PUSH_ALL_SYM</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/6f8349abac6a28b994e03288e9e4bc43c3ea9b2c...99dbd7ee2e744e76ad0d4814e1e6a4f510dcb316">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 19:12:46 +00:00
dependabot[bot] 4cd0e9de5f chore(deps): Bump vendor/bdwgc from 07a6d0e to 6f8349a (#275)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `07a6d0e` to
`6f8349a`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/6f8349abac6a28b994e03288e9e4bc43c3ea9b2c"><code>6f8349a</code></a>
Fix missing redirect and implementation of pthread_sigmask() on
OpenBSD</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/3ed9b96eb7d8df86169790a1c1db3eb9e26f07ce"><code>3ed9b96</code></a>
Fix missing GC_pthread_sigmask on Free/NetBSD</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/2d69b111b92dba1f8c10a8803b2f7a83d0702978"><code>2d69b11</code></a>
Do not store E2K procedure stack to GC heap</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/41f2240a9357c575b7ab73ac571d4e7b47b4388b"><code>41f2240</code></a>
Never use mmap() for storing procedure stack on E2K</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/07a6d0ee8889bca5eaeadc13cabadc363725d216...6f8349abac6a28b994e03288e9e4bc43c3ea9b2c">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 19:50:02 +00:00
dependabot[bot] ca5bb30856 chore(deps): Bump actions/checkout from 3 to 4 (#274)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to
4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule
check-ins by <a
href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a
href="https://github.com/dscho"><code>@​dscho</code></a> and <a
href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/megamanics"><code>@​megamanics</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a
href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a>
based on <a
href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a>
by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading
<code>@​actions/github</code> dependency by <a
href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add
option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1196">Fix:
Checkout fail in self-hosted runners when faulty submodule are
checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add
new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add
in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a
href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a
href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading
version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add
<code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add
input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/3df4ab11eba7bda6032a0b82a6bb43b11571feac"><code>3df4ab1</code></a>
Release 4.0.0 (<a
href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/8b5e8b768746b50394015010d25e690bfab9dfbc"><code>8b5e8b7</code></a>
Support fetching without the --progress option (<a
href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/97a652b80035363df47baee5031ec8670b8878ac"><code>97a652b</code></a>
Update default runtime to node20 (<a
href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 19:17:38 +00:00
dependabot[bot] 12ee9cf0ac chore(deps): Bump vendor/bdwgc from 5839684 to 07a6d0e (#273)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `5839684` to
`07a6d0e`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/07a6d0ee8889bca5eaeadc13cabadc363725d216"><code>07a6d0e</code></a>
Update AUTHORS file (add Marius Gerbershagen)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c245cf60f21a04364d32e71c92d4c4ecd4ab92b5"><code>c245cf6</code></a>
Fix GC_push_stack_for() to push also Xmm registers on Windows/x64</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/3e8e664b0bd67c71f9720812d03b62cb276968b4"><code>3e8e664</code></a>
Undefine PUSHn macros after use in win32_threads.c</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/69810a111cb176246d7d840957588e800bb68dce"><code>69810a1</code></a>
Do not include gcconfig.h from extra/symbian source files</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/5507e18a56b93e7b99c15eb2c63f02f65428dbc8"><code>5507e18</code></a>
Fix 'missing binary operator before token' gc error in gcconfig.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/4a4f4e2a636633c8bee8d093bedee62d91687953"><code>4a4f4e2</code></a>
Eliminate 'unused value' gcc warnings in init_global_static_roots
(Symbian)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/071e1a44627055a5c98a13bea839801edbc4c7a5"><code>071e1a4</code></a>
Fix 'implicit declaration of function sbrk' gcc error on Symbian</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/1879b63a9d7c9eab043e872c9050fb9010f30ab8"><code>1879b63</code></a>
Eliminate 'condition is always false' cppcheck warning in
test_long_mult</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/583968445766c6e7bfd92568e76ff2bec8e3a111...07a6d0ee8889bca5eaeadc13cabadc363725d216">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 19:22:55 +00:00
dependabot[bot] 8f50af7f15 chore(deps): Bump vendor/bdwgc from 26f5b81 to 5839684 (#272)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `26f5b81` to
`5839684`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/583968445766c6e7bfd92568e76ff2bec8e3a111"><code>5839684</code></a>
Eliminate 'null argument passed to GC_toggleref_add' CSA warning</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/cfa8baef6b86be365ab2113279ce1b8fc6672f17"><code>cfa8bae</code></a>
Provide GC_HIDE/REVEAL_NZ_POINTER public macros</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/5ef31e1e14fb8ffb3bc75cdccc6aa7eaea8ebffc"><code>5ef31e1</code></a>
Better document why GC_REVEAL_POINTER should be used with GC lock
held</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/1232a2bb25e8ba7a21e52622d79c312649baccec"><code>1232a2b</code></a>
Add I_HOLD_LOCK assertions to ensure no race on reveal hidden
pointers</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/cda8d871e6a42a17c2bcf7390691b7723629df2a"><code>cda8d87</code></a>
Change gc.man to include gc/gc.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/b3dd2886be864b65c5be41f5f9681742f5851aa8"><code>b3dd288</code></a>
Add comment that GC_get_back_ptr_info does not acquire GC lock</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/20b895aea7e9d0badcc37e3f75952f6fe2234d77"><code>20b895a</code></a>
Provide debugging variant of GC_toggleref_add</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/0102889e123df93f6b7c8cd157e93bdaba0ff3eb"><code>0102889</code></a>
Fix 'failed to extract a valid configuration' cppcheck error</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/26f5b812afe1de1fc6dfb4e22d3d9670280f1522...583968445766c6e7bfd92568e76ff2bec8e3a111">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 19:48:33 +00:00
dependabot[bot] e927fa0f23 chore(deps): Bump vendor/bdwgc from b678225 to 26f5b81 (#271)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `b678225` to
`26f5b81`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/26f5b812afe1de1fc6dfb4e22d3d9670280f1522"><code>26f5b81</code></a>
Fix assertion violation in GC_toggleref_add called from gctest in
gc-debug</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/96ed233e39c61cbf0763935f2f8b2177f3544d3b"><code>96ed233</code></a>
Eliminate compiler warning of missing cast in LONG_MULT after shift</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/dafda5939feff2588430a635be194df89ade5015"><code>dafda59</code></a>
Fix wrong comment describing GC_get_back_ptr_info in dbg_mlc.c</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/2c8fe8d4dd8f1d4972faaf1116dbea37a2b1ba7e"><code>2c8fe8d</code></a>
Travis CI: Workaround 'value of CORD_API unknown' cppcheck warnings</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c0f9c6fedd963aa718219fa2220b933898e220fe"><code>c0f9c6f</code></a>
Fix 'use of undeclared identifier EPERM' clang error on Darwin</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/4abd13732507ebe0a1c5dd053387c895a4cdc629"><code>4abd137</code></a>
Adjust placement of comment of GC_get_back_ptr_info in gc_backptr.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/49234ebf1d326bbe8cdcd33e1a2b44cf0f74e94f"><code>49234eb</code></a>
Fix a typo in comment of GC_get_back_ptr_info</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/4864e3e2c16d0168327096c6be366337298cb700"><code>4864e3e</code></a>
Fix misspelled GC_HEADERS_H macro in gc_priv.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/66e5a450c2456211f6f8a726ba87c003c39014a5"><code>66e5a45</code></a>
Add check that gc_hdrs.h and gc_locks.h are included only from
gc_priv.h</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/41f172c54315be654576aab2d3c52ab1b95ccad3"><code>41f172c</code></a>
Change NOT_MARKED value to non-zero</li>
<li>Additional commits viewable in <a
href="https://github.com/ivmai/bdwgc/compare/b6782256ab51354b0bacc37175e0ef20eeaa8382...26f5b812afe1de1fc6dfb4e22d3d9670280f1522">compare
view</a></li>
</ul>
</details>
<br />


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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 19:41:02 +00:00
dependabot[bot] a1902ccc8b chore(deps): Bump vendor/bdwgc from c15afb9 to b678225 (#270)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `c15afb9` to
`b678225`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/b6782256ab51354b0bacc37175e0ef20eeaa8382"><code>b678225</code></a>
Adjust header includes in cord .c files</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c860036cbf55d8a3c55a90eb5e052caa80612b93"><code>c860036</code></a>
Remove CORD_max_len debugging symbol</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/da4ccdea99d86e6e26e82aaaa2511a74e432024d"><code>da4ccde</code></a>
Do not declare CORD_oom_fn when compiling cordprnt.c and cordxtra.c</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/dc1a122d43ffc2a005de14876dbb4a3b3ba583ad"><code>dc1a122</code></a>
Test that CORD_oom_fn variable could be set from cordtest</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c6159c1c8671fb461742ed760b9a4e6123af9a8b"><code>c6159c1</code></a>
Fix 'external linkage required for imported CORD_oom_fn' error on
MinGW</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/d962b1bf4422284eabcc6c64252733b5a2383db1"><code>d962b1b</code></a>
Avoid unexpected heap growth in gctest for the case of
VERY_SMALL_CONFIG</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/d724fb80217e7b7e6ae445d185873a509aec19d9"><code>d724fb8</code></a>
Workaround 'passing sizeof(void*) to GC_malloc is suspicious' FP in
gctest</li>
<li>See full diff in <a
href="https://github.com/ivmai/bdwgc/compare/c15afb9261c3f7a46bea4ccec579fff0c1523c25...b6782256ab51354b0bacc37175e0ef20eeaa8382">compare
view</a></li>
</ul>
</details>
<br />


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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 19:26:38 +00:00
dependabot[bot] 7f5dec371a chore(deps): Bump vendor/bdwgc from 8227c08 to c15afb9 (#269)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `8227c08` to
`c15afb9`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/c15afb9261c3f7a46bea4ccec579fff0c1523c25"><code>c15afb9</code></a>
Use LOGWL to define WORDS_TO_BYTES() and BYTES_TO_WORDS()</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/823731d4db519c46379d6b2511ff872c7ece8fa5"><code>823731d</code></a>
Explicitly check that word has at least 32 bits in shifts by 20+
bits</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/39ab9631e1fc3d54ff5750f5d2da31eb1c8835ba"><code>39ab963</code></a>
Travis CI: Test with VERY_SMALL_CONFIG</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/633c8675f98ec1398468df18c2fab4bb7153d249"><code>633c867</code></a>
Reduce some of big constants in tests to fit into 16-bit int type</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/9ef3305fd38dbcc1dc4cecb8dff7c3b5179f3d85"><code>9ef3305</code></a>
Fix missing outermost parentheses in macro definitions in huge test</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/4f2cfbda9f094ce1142bafa2ce09b4565435981c"><code>4f2cfbd</code></a>
Eliminate 'alloc_small declared but unused' gcc warning in gctest</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/bb36261cc9f660ad2fdf9a1f0bd3cf4fc1cd49d1"><code>bb36261</code></a>
Consistent use of CHECK_OUT_OF_MEMORY() in tests</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/5c85fb5e4c23794125eefcb87b5b318842d6d7f7"><code>5c85fb5</code></a>
Remove redundant includes from tools and disclaim tests</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/9636efee10275f758656967f7679275dd28e0d88"><code>9636efe</code></a>
Check for out-of-memory on every memory allocation in tests</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/1fa15d5f3cc2982b3f0ce7bf34996fd13e2a30ac"><code>1fa15d5</code></a>
Refactoring of rt_hash()</li>
<li>Additional commits viewable in <a
href="https://github.com/ivmai/bdwgc/compare/8227c085a57315a0fcc540a5ceca92d471c7070f...c15afb9261c3f7a46bea4ccec579fff0c1523c25">compare
view</a></li>
</ul>
</details>
<br />


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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 19:35:28 +00:00
dependabot[bot] 472b815393 chore(deps): Bump vendor/bdwgc from 97f27a4 to 8227c08 (#268)
Bumps [vendor/bdwgc](https://github.com/ivmai/bdwgc) from `97f27a4` to
`8227c08`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ivmai/bdwgc/commit/8227c085a57315a0fcc540a5ceca92d471c7070f"><code>8227c08</code></a>
Ensure all macros defined in public cord_pos.h have 'CORD_' prefix</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/cb7eb3ddc94bffce1ec9d78ae015786849e03d07"><code>cb7eb3d</code></a>
Export CORD_ec_append_cord(), CORD_ec_flush_buf() from cord shared
library</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/04f2ab9bc3cc3d9820decf439bdc4394188131f7"><code>04f2ab9</code></a>
Comment out argument names of functions in cord public headers</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/de47da1b4e74ed9c6fb036eebe1ddd6134cddccd"><code>de47da1</code></a>
Fix a typo in the comment documenting CORD_set_pos</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/87a48e8030c106a09da60b0259d688e217c4783c"><code>87a48e8</code></a>
Export CORD_oom_fn public variable from cord shared library</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/f5e4a8f898c756a05fac38137623845217f9948e"><code>f5e4a8f</code></a>
AppVeyor CI: Build cord/de test program on MinGW</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/7280bbdfba9398d4563171581b7613976ddaac8a"><code>7280bbd</code></a>
Remove .log and cordtest .tmp files by 'make clean'
(Makefile.direct)</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/860bc0449df9e7a583561314c9debce6a26bee33"><code>860bc04</code></a>
Mention proper CURSES value in Makefile.direct to build cord/de
test</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/e4022066bb70a2ad1b814cf31f0b3bc3d4c16766"><code>e402206</code></a>
Define tunable values in cordtest as macro</li>
<li><a
href="https://github.com/ivmai/bdwgc/commit/be11a62e6441cede3151d05eee3e9e2feb71659f"><code>be11a62</code></a>
Remove redundant check a predefined macro of BCC</li>
<li>Additional commits viewable in <a
href="https://github.com/ivmai/bdwgc/compare/97f27a46f951feef1a785861ecea44347c0c5e0c...8227c085a57315a0fcc540a5ceca92d471c7070f">compare
view</a></li>
</ul>
</details>
<br />


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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-27 19:15:27 +00:00
18 changed files with 72 additions and 41 deletions
+8 -1
View File
@@ -1,11 +1,18 @@
{ {
"words": [ "words": [
"autogen",
"autotools",
"bdwgc",
"cflag",
"dealloc", "dealloc",
"finalizer", "finalizer",
"gcollect", "gcollect",
"libatomic",
"libc", "libc",
"realloc", "realloc",
"repr", "repr",
"stackbottom" "rustc",
"stackbottom",
"unregisters"
] ]
} }
+4 -4
View File
@@ -8,7 +8,7 @@ jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
@@ -16,19 +16,19 @@ jobs:
format: format:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- run: cargo fmt -- --check - run: cargo fmt -- --check
spell-check: spell-check:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: streetsidesoftware/cspell-action@main - uses: streetsidesoftware/cspell-action@main
with: with:
files: "**/*.{md,rs}" files: "**/*.{md,rs}"
readme: readme:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: lycheeverse/lychee-action@v1 - uses: lycheeverse/lychee-action@v1
with: with:
fail: true fail: true
+5 -7
View File
@@ -8,7 +8,7 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
@@ -16,7 +16,7 @@ jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
@@ -24,17 +24,15 @@ jobs:
examples: examples:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
- run: | - run: examples/test.sh
cd examples
./test.sh
cmake: cmake:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
+1 -2
View File
@@ -1,7 +1,7 @@
[package] [package]
name = "bdwgc-alloc" name = "bdwgc-alloc"
description = "impl GlobalAlloc for bdwgc" description = "impl GlobalAlloc for bdwgc"
version = "0.6.6" version = "0.6.7"
authors = [ authors = [
"swgillespie <sean.william.g@gmail.com>", "swgillespie <sean.william.g@gmail.com>",
"Yota Toyama <raviqqe@gmail.com>", "Yota Toyama <raviqqe@gmail.com>",
@@ -9,7 +9,6 @@ authors = [
repository = "https://github.com/raviqqe/bdwgc-alloc" repository = "https://github.com/raviqqe/bdwgc-alloc"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
build = "build.rs"
[features] [features]
default = ["autotools"] default = ["autotools"]
+5 -2
View File
@@ -23,7 +23,7 @@ fn main() {
let dst = autotools::Config::new(LIB_GC_DIR) let dst = autotools::Config::new(LIB_GC_DIR)
.cflag(format!( .cflag(format!(
"-I{} -L/lib/x86_64-linux-gnu -lpthread -fPIC", "-I{} -L/lib/x86_64-linux-gnu -lpthread -fPIC -D POINTER_MASK=0x7",
dst.join("include").display() dst.join("include").display()
)) ))
.build(); .build();
@@ -59,7 +59,10 @@ fn main() {
let dst = Config::new(LIB_GC_DIR) let dst = Config::new(LIB_GC_DIR)
.profile("Release") .profile("Release")
.define("BUILD_SHARED_LIBS", "FALSE") .define("BUILD_SHARED_LIBS", "FALSE")
.cflag(format!("-I{}", libatomic_include_path)) .cflag(format!(
"-I{} -DPOINTER_MASK=0x7",
libatomic_include_path, foo
))
.build(); .build();
println!( println!(
+1
View File
@@ -1,4 +1,5 @@
[workspace] [workspace]
resolver = "2"
members = [ members = [
"dynamic_threads", "dynamic_threads",
"free_by_borrow", "free_by_borrow",
+1 -1
View File
@@ -2,7 +2,7 @@
name = "dynamic_threads" name = "dynamic_threads"
version = "0.1.0" version = "0.1.0"
authors = ["Yota Toyama <raviqqe@gmail.com>"] authors = ["Yota Toyama <raviqqe@gmail.com>"]
edition = "2018" edition = "2021"
publish = false publish = false
[dependencies] [dependencies]
+1 -3
View File
@@ -1,5 +1,3 @@
extern crate bdwgc_alloc;
use bdwgc_alloc::Allocator; use bdwgc_alloc::Allocator;
use std::alloc::Layout; use std::alloc::Layout;
@@ -14,7 +12,7 @@ fn main() {
unsafe { Allocator::register_current_thread().unwrap() } unsafe { Allocator::register_current_thread().unwrap() }
for _ in 0..100 { for _ in 0..100 {
unsafe { std::alloc::alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) }; let _ = unsafe { std::alloc::alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) };
} }
unsafe { Allocator::unregister_current_thread() } unsafe { Allocator::unregister_current_thread() }
+1 -1
View File
@@ -2,7 +2,7 @@
name = "free_by_borrow" name = "free_by_borrow"
version = "0.1.0" version = "0.1.0"
authors = ["Yota Toyama <raviqqe@gmail.com>"] authors = ["Yota Toyama <raviqqe@gmail.com>"]
edition = "2018" edition = "2021"
publish = false publish = false
[dependencies] [dependencies]
-2
View File
@@ -1,5 +1,3 @@
extern crate bdwgc_alloc;
use bdwgc_alloc::Allocator; use bdwgc_alloc::Allocator;
#[global_allocator] #[global_allocator]
+1 -1
View File
@@ -2,7 +2,7 @@
name = "free_by_gc" name = "free_by_gc"
version = "0.1.0" version = "0.1.0"
authors = ["Yota Toyama <raviqqe@gmail.com>"] authors = ["Yota Toyama <raviqqe@gmail.com>"]
edition = "2018" edition = "2021"
publish = false publish = false
[dependencies] [dependencies]
+1 -3
View File
@@ -1,5 +1,3 @@
extern crate bdwgc_alloc;
use bdwgc_alloc::Allocator; use bdwgc_alloc::Allocator;
use std::alloc::Layout; use std::alloc::Layout;
@@ -10,6 +8,6 @@ fn main() {
unsafe { Allocator::initialize() } unsafe { Allocator::initialize() }
loop { loop {
unsafe { std::alloc::alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) }; let _ = unsafe { std::alloc::alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) };
} }
} }
+1 -1
View File
@@ -2,7 +2,7 @@
name = "static_threads" name = "static_threads"
version = "0.1.0" version = "0.1.0"
authors = ["Yota Toyama <raviqqe@gmail.com>"] authors = ["Yota Toyama <raviqqe@gmail.com>"]
edition = "2018" edition = "2021"
publish = false publish = false
[dependencies] [dependencies]
+1 -3
View File
@@ -1,5 +1,3 @@
extern crate bdwgc_alloc;
use bdwgc_alloc::Allocator; use bdwgc_alloc::Allocator;
use std::alloc::Layout; use std::alloc::Layout;
@@ -13,7 +11,7 @@ fn main() {
unsafe { Allocator::register_current_thread().unwrap() } unsafe { Allocator::register_current_thread().unwrap() }
loop { loop {
unsafe { std::alloc::alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) }; let _ = unsafe { std::alloc::alloc(Layout::from_size_align(2 ^ 8, 8).unwrap()) };
} }
}); });
+4 -5
View File
@@ -2,12 +2,11 @@
set -ex set -ex
cargo build cd $(dirname $0)
for cargo_file in */Cargo.toml for cargo_file in */Cargo.toml; do
do cargo run --bin $(dirname $cargo_file) &
target/debug/$(dirname $cargo_file) &
pid=$! pid=$!
sleep 10 sleep 20
kill $pid kill $pid
done done
+33 -1
View File
@@ -25,6 +25,7 @@ extern "C" {
fn GC_get_stack_base(stack_base: *mut GcStackBase) -> c_int; fn GC_get_stack_base(stack_base: *mut GcStackBase) -> c_int;
fn GC_init(); fn GC_init();
fn GC_malloc(size: size_t) -> *mut c_void; fn GC_malloc(size: size_t) -> *mut c_void;
fn GC_memalign(align: size_t, size: size_t) -> *mut c_void;
fn GC_realloc(ptr: *mut c_void, size: size_t) -> *mut c_void; fn GC_realloc(ptr: *mut c_void, size: size_t) -> *mut c_void;
fn GC_register_my_thread(stack_base: *const GcStackBase) -> c_int; fn GC_register_my_thread(stack_base: *const GcStackBase) -> c_int;
fn GC_set_stackbottom(thread: *const c_void, stack_bottom: *const GcStackBase); fn GC_set_stackbottom(thread: *const c_void, stack_bottom: *const GcStackBase);
@@ -42,19 +43,31 @@ extern "C" {
pub struct Allocator; pub struct Allocator;
impl Allocator { impl Allocator {
/// Locks a collector.
pub fn lock() { pub fn lock() {
unsafe { GC_alloc_lock() } unsafe { GC_alloc_lock() }
} }
/// Unlocks a collector.
pub fn unlock() { pub fn unlock() {
unsafe { GC_alloc_unlock() } unsafe { GC_alloc_unlock() }
} }
/// Initializes a collector.
///
/// # Safety
///
/// This function must be called in a main thread.
pub unsafe fn initialize() { pub unsafe fn initialize() {
GC_init(); GC_init();
GC_allow_register_threads(); GC_allow_register_threads();
} }
/// Registers a current thread to a collector.
///
/// # Safety
///
/// This function must not be called in a main thread.
pub unsafe fn register_current_thread() -> Result<(), error::Error> { pub unsafe fn register_current_thread() -> Result<(), error::Error> {
let mut base = GcStackBase { mem_base: null() }; let mut base = GcStackBase { mem_base: null() };
@@ -67,6 +80,14 @@ impl Allocator {
Ok(()) Ok(())
} }
/// Sets a bottom of a stack.
///
/// You do not have to call this function in most cases.
/// A collector detects the bottom on initialization automatically.
///
/// # Safety
///
/// The bottom address must be valid.
pub unsafe fn set_stack_bottom(bottom: *const u8) { pub unsafe fn set_stack_bottom(bottom: *const u8) {
GC_set_stackbottom( GC_set_stackbottom(
null(), null(),
@@ -76,14 +97,25 @@ impl Allocator {
) )
} }
/// Unregisters a current thread from a collector.
///
/// # Safety
///
/// The thread must be registered already.
pub unsafe fn unregister_current_thread() { pub unsafe fn unregister_current_thread() {
GC_unregister_my_thread() GC_unregister_my_thread()
} }
/// Runs a garbage collection forcibly.
pub fn force_collect() { pub fn force_collect() {
unsafe { GC_gcollect() } unsafe { GC_gcollect() }
} }
/// Registers a finalizer of an object.
///
/// # Safety
///
/// The given finalizer must not be null and handle pointers properly.
pub unsafe fn register_finalizer( pub unsafe fn register_finalizer(
ptr: *const c_void, ptr: *const c_void,
finalizer: extern "C" fn(*mut c_void, *mut c_void), finalizer: extern "C" fn(*mut c_void, *mut c_void),
@@ -95,7 +127,7 @@ impl Allocator {
unsafe impl GlobalAlloc for Allocator { unsafe impl GlobalAlloc for Allocator {
unsafe fn alloc(&self, layout: Layout) -> *mut u8 { unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
GC_malloc(layout.size()) as *mut u8 GC_memalign(layout.align(), layout.size()) as *mut u8
} }
unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) { unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) {
+1 -1