summaryrefslogtreecommitdiff
path: root/otherlibs
Commit message (Collapse)AuthorAgeFilesLines
* custom runtime events: drop unknown events when the type is also unknownLucas Pluvinage2023-02-071-0/+8
|
* Win32 Unix: map ERROR_TOO_MANY_LINKS to EMLINK (#11991)Nicolás Ojeda Bär2023-02-041-0/+1
|
* Merge pull request #11919 from sadiqj/runtime_events_new_countersGabriel Scherer2023-01-292-0/+46
|\ | | | | Add new runtime events counters for major heap stats and minor heap sizing
| * add @since 5.1 for new counters and docsSadiq Jaffer2023-01-271-0/+22
| |
| * add new counters for major heap stats and minor heap sizingSadiq Jaffer2023-01-272-0/+24
| |
* | Load frametables of dynlink'd modules in batch (#11935)Stephen Dolan2023-01-271-0/+7
|/
* Improve documentation of exec* functions (#11754) (#11892)Boris Yakobowski2023-01-202-0/+14
|
* Less verbose logs from `make` (#11844)Xavier Leroy2023-01-184-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Custom events for runtime_events (#11474)Lucas Pluvinage2023-01-174-64/+675
| | | 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.
* Restore the correct sigmask in systhreads (#11880)Christiano Haesbaert2023-01-101-1/+1
| | | | | | 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.
* Fix bytecode-only install failing due to #11828 (#11842)Olivier Nicole2022-12-301-7/+7
| | | This moves the relevant install steps from the install to the installopt target.
* Compile otherlibs/ C stubs in two version for native and bytecodeOlivier Nicole2022-12-225-24/+51
|
* Merge pull request #11813 from edwintorok/5.0-docsFlorian Angeletti2022-12-191-2/+5
| | | | | | 5.0 docs: Make new multicore chapters easier to discover, and emphasize impact on C bindings (cherry picked from commit 5f856479c79900c42525543677609b78a2032131)
* Merge pull request #11766 from shindere/remove-extract_crcDavid Allsopp2022-12-014-122/+2
|\ | | | | Remove the extract_crc tool
| * Remove the extract_crc toolSébastien Hinderer2022-11-284-122/+2
| |
* | Unix.write on Windows: return normally after data has been written to ↵Nicolás Ojeda Bär2022-12-011-0/+1
| | | | | | | | non-blocking socket (#11775)
* | Don't use K&R C function definitionsAntonin Décimo2022-11-288-20/+10
| | | | | | | | Fixes strict-prototypes and old-style-definition warnings.
* | Declare functions with no arguments as f(void), not f()Antonin Décimo2022-11-283-4/+4
|/ | | | | | 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.
* Missing CAMLparam in win32's Unix.stat (#11737)Marc Lasson2022-11-211-4/+8
| | | | | | | | | | | 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.
* Remove unused <assert.h> in systhreadsDavid Allsopp2022-11-121-1/+0
|
* Fixing typos (#11705)Fourchaux2022-11-072-4/+4
| | | * Fixing typos
* Remove .0 from all @since, @before and @afterDavid Allsopp2022-10-312-42/+42
|
* Use aligned 64-bit arithmetic for FILETIMEDavid Allsopp2022-10-143-35/+23
| | | | | | | 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.
* Use SetFilePointerEx in lseek_win32.cDavid Allsopp2022-10-141-24/+28
| | | | | Simplify the logic and release the runtime lock during the seek operation as in lseek_unix.c
* Simplify lockf_win32.c with SetFilePointerExDavid Allsopp2022-10-141-21/+5
|
* Use GetFileSizeEx in mmap_win32.cDavid Allsopp2022-10-141-30/+20
| | | | | Simpler than using SetFilePointer. Release the runtime lock while the mapping is being done, as in mmap_unix.c
* Refactor logic for timestamps in Windows Unix.statDavid Allsopp2022-10-141-17/+16
|
* Remove dead code from mmap_win32.cDavid Allsopp2022-10-141-26/+0
|
* There is only one WindowsDavid Allsopp2022-10-141-10/+0
|
* Factorise the NT Epoch in Windows Unix functionsDavid Allsopp2022-10-144-12/+9
| | | | The NT Epoch in FILETIME 100ns ticks was defined in 3 separate places.
* Remove dead error handling in Unix.statDavid Allsopp2022-10-141-9/+4
| | | | Previous versions of convert_time could fail.
* Remove invalid pointer cast in Unix.gettimeofdayDavid Allsopp2022-10-141-1/+4
| | | | | Windows FILETIME structures are 32-bit aligned so a pointer shouldn't be directly cast to a uint64_t.
* C11 usage of [U]LARGE_INTEGERDavid Allsopp2022-10-141-4/+1
| | | | | | 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.
* Sync unixLabels.mliNicolás Ojeda Bär2022-10-111-1/+1
|
* documentation: changed 'forks' to 'creates' (#11614)Nangah Amandine2022-10-111-1/+1
|
* Link winpthreads staticallyDavid Allsopp2022-10-101-1/+1
|
* Assume presence of pthreads in systhreadsDavid Allsopp2022-10-102-7/+11
|
* Revert "str uses pthreads now"David Allsopp2022-10-101-2/+0
| | | | This reverts commit f1c290d7a303dfb25e8433e3ae89bff3afcbb367.
* Merge pull request #11595 from Octachron/remove_at_each_spawnFlorian Angeletti2022-10-062-7/+3
|\ | | | | stdlib: remove `Domain.at_each_spawn`
| * Systhreads: add a domain_initialize hookFlorian Angeletti2022-10-052-7/+3
| | | | | | | | | | Systhreads can use this hook to initialize the systhreads machinery before any OCaml code runs on the corresponding domain.
* | manual: no more master lock (#11597)Florian Angeletti2022-10-051-5/+5
| |
* | Merge pull request #11385 from gadmm/systhread_simpl_and_fixes2Enguerrand2022-10-042-63/+65
|\ \ | |/ |/| Simplifications and fixes to multicore systhreads implementation (2/3)
| * Clarify and enforce invariant on Active_threadGuillaume Munch-Maccagnoni2022-09-221-55/+55
| | | | | | | | | | | | We document an invariant and use a setter which enforces the invariant. This factors the code at all the call points (same behaviour).
| * Introduce This_thread macroGuillaume Munch-Maccagnoni2022-09-221-5/+7
| |
| * Shut down tick thread at domain exitGuillaume Munch-Maccagnoni2022-09-222-1/+6
| |
| * Remove some dead codeGuillaume Munch-Maccagnoni2022-09-221-5/+0
| | | | | | | | | | 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.
* | Make Unix.symlink domain-safe on Windows (#11479)Olivier Nicole2022-09-291-21/+12
| | | | | | Also simplifies symlink_win32 by assuming CreateSymbolicLink is present.
* | Documentation: Str doesn't know about unicode (#11525)Florian Angeletti2022-09-291-0/+4
| |
* | build system: make a few conditionals over boolean variables more readableSébastien Hinderer2022-09-271-2/+2
|/ | | | | | | | | | Basically, this commit replaces make conditionals like ifneq "$(NATIVE_COMPILER)" "false" by the hopefully more readable ifeq "$(NATIVE_COMPILER)" "true"
* documentation: improve the sync_stdlib_docs toolFardale2022-09-221-3/+3
| | | | | Try to improve the case when there is function with label argument in a non label module.