Comments (2)
For the context, the bigger picture is that there was a lot of resource unsafety in the runtime due to asynchronous exceptions being raised (and there still is, with PRs open to progress in fixing the situation). This function is part of an effort to 1) reduce the number of places where such exceptions can arise and 2) provide ways to properly deal with them (clean-up resources and re-raise). The rationalization of async exceptions in the runtime was started by Jacques-Henri for the purpose of memprof to avoid it remaining in an invalid state when exceptions arise during allocations, so it happened in parallel of the multicore development. So any reorganisation is normal (and typical of this effort) because the code has to be async-exception-safe.
This particular function was introduced for Coq but it was also used to fix bugs in the ocaml runtime (see e.g. runtime/gc_ctrl.c
), so I wonder what happened to the calls to this function (and their associated commits) during the rebase on top of 4.12.
from ocaml-multicore.
This is now fixed in the PR mentioned above, the issue can be closed.
from ocaml-multicore.
Related Issues (20)
- Not all registers need to be saved for `caml_call_realloc_stack`
- Use explicit next pointer in gc_regs_bucket
- Backport PR #701 to 4.12 HOT 1
- Audit OCAMLRUNPARAM options HOT 1
- Make Minor_heap_max and Max_domains as OCAMLRUNPARAM options HOT 10
- Caml_state for domains should not use mmap HOT 6
- Atomic access on `bigarray`
- Bring runner.sh in the CI in line with trunk
- Call to `fork` in `Sys.command` HOT 1
- Improve `stack_size_bucket` / `alloc_stack_noexc`
- Unify GC interrupt and signals triggering mechanisms HOT 2
- Getting segfault/undefined behavior using multicore with custom blocks HOT 10
- Double check rebase through ocaml/ocaml#10726 HOT 1
- Revert some changes to match trunk
- Filter-tree to normalise email address from commiters HOT 4
- freebsd/openbsd segfault in tests/lib-obj/test_reachable HOT 1
- Signal stack is freed, but isn't reset. HOT 1
- `Domain.DLS`: overflow and `release_key` function HOT 1
- Reporting a vulnerability HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ocaml-multicore.