| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| | |
Add new runtime events counters for major heap stats and minor heap sizing
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Print concise summaries instead of full commands for some of the most verbose
commands. For example, print
```
OCAMLC lambda/switch.cmo
```
instead of
```
./boot/ocamlrun ./boot/ocamlc -nostdlib -I ./boot -use-prims runtime/primitives -g -strict-sequence -principal -absname -w +a-4-9-40-41-42-44-45-48 -warn-error +a -bin-annot -strict-formats -I lambda -I utils -I parsing -I typing -I bytecomp -I file_formats -I lambda -I middle_end -I middle_end/closure -I middle_end/flambda -I middle_end/flambda/base_types -I asmcomp -I driver -I toplevel -I tools -c lambda/switch.ml
```
and
```
CC runtime/addrmap.b.o
```
instead of
```
gcc -c -O2 -fno-strict-aliasing -fwrapv -pthread -g -Wall -Werror -fno-common -fexcess-precision=standard -fno-tree-vrp -ffunction-sections -I./runtime -D_FILE_OFFSET_BITS=64 -DCAMLDLLIMPORT= -DIN_CAML_RUNTIME -o runtime/addrmap.b.o runtime/addrmap.c
```
The output is generated with the Make function `$(info ...)` to avoid shelling
out to `echo` each time, which can be expensive under Cygwin.
A variable `V` controls whether to use the new style. When `V=0` (the default),
it is used. If `V=1`, then the usual full output is used instead.
Co-authored-by: Nicolás Ojeda Bär <n.oje.bar@gmail.com>
|
|
|
| |
This PR exposes features to enable libraries to provide additional events containing arbitrary payloads. This will be useful to build libraries and tools to facilitate exploring the runtime behavior of OCaml programs.
|
|
|
|
|
|
| |
The code correctly blocks and restores the signal mask on the parent while
creating a systhread, but the new mask, not the old mask was being passed down
the child to be restored.
|
|
|
| |
This moves the relevant install steps from the install to the installopt target.
|
| |
|
|
|
|
|
|
| |
5.0 docs: Make new multicore chapters easier to discover, and emphasize impact on C bindings
(cherry picked from commit 5f856479c79900c42525543677609b78a2032131)
|
|\
| |
| | |
Remove the extract_crc tool
|
| | |
|
| |
| |
| |
| | |
non-blocking socket (#11775)
|
| |
| |
| |
| | |
Fixes strict-prototypes and old-style-definition warnings.
|
|/
|
|
|
|
| |
Fixes strict-prototypes and old-style-definition warnings. As a
reminder, `f()` declares `f` as an old-style function that can be
applied to any number of arguments.
|
|
|
|
|
|
|
|
|
|
|
| |
The `path` argument is used after a `caml_enter_blocking_section`
when the path does not exists (the path is used to build the
unix error exception).
Unfortunately, during the blocking section we may "yield" to
a thread that can trigger a garbage collection and move the
content of `path` elsewhere, triggering a segfault.
The CAMLparam is therefore needed in that case.
|
| |
|
|
|
| |
* Fixing typos
|
| |
|
|
|
|
|
|
|
| |
It is not safe/performant to cast a FILETIME to a 64-bit integer,
however in virtually all instances what is wanted is the 64-bit integer.
Use a union to allow punning between a FILETIME and ULONGLONG, avoiding
copying.
|
|
|
|
|
| |
Simplify the logic and release the runtime lock during the seek
operation as in lseek_unix.c
|
| |
|
|
|
|
|
| |
Simpler than using SetFilePointer. Release the runtime lock while the
mapping is being done, as in mmap_unix.c
|
| |
|
| |
|
| |
|
|
|
|
| |
The NT Epoch in FILETIME 100ns ticks was defined in 3 separate places.
|
|
|
|
| |
Previous versions of convert_time could fail.
|
|
|
|
|
| |
Windows FILETIME structures are 32-bit aligned so a pointer shouldn't be
directly cast to a uint64_t.
|
|
|
|
|
|
| |
For the mingw-w64 ports, we require a C11 compiler, which support
anonymous structures and they're a default language extension in all
supported versions of MSVC.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit f1c290d7a303dfb25e8433e3ae89bff3afcbb367.
|
|\
| |
| | |
stdlib: remove `Domain.at_each_spawn`
|
| |
| |
| |
| |
| | |
Systhreads can use this hook to initialize the systhreads machinery before any
OCaml code runs on the corresponding domain.
|
| | |
|
|\ \
| |/
|/| |
Simplifications and fixes to multicore systhreads implementation (2/3)
|
| |
| |
| |
| |
| |
| | |
We document an invariant and use a setter which enforces the
invariant. This factors the code at all the call points (same
behaviour).
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
When we get there, we know that it is never the last thread. This
reveals that the tick thread is never shut down, which is fixed next.
|
| |
| |
| | |
Also simplifies symlink_win32 by assuming CreateSymbolicLink is present.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Basically, this commit replaces make conditionals like
ifneq "$(NATIVE_COMPILER)" "false"
by the hopefully more readable
ifeq "$(NATIVE_COMPILER)" "true"
|
|
|
|
|
| |
Try to improve the case when there is function with label argument in a
non label module.
|