From fc6f0284922621fc8717033a8d73b1134f1506ac Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 3 Jun 2019 17:26:45 +0530 Subject: [PATCH 01/54] Introduce domain state and steal exception pointer --- Makefile | 24 ++++---- asmcomp/amd64/emit.mlp | 22 ++++---- otherlibs/systhreads/st_stubs.c | 7 ++- runtime/Makefile | 4 +- runtime/amd64.S | 97 +++++++++++++++++++-------------- runtime/callback.c | 26 ++++++++- runtime/caml/config.h | 4 ++ runtime/caml/domain.h | 37 +++++++++++++ runtime/caml/domain_state.h | 44 +++++++++++++++ runtime/caml/domain_state.tbl | 2 + runtime/caml/misc.h | 34 ++++++++++++ runtime/caml/stack.h | 1 - runtime/domain.c | 29 ++++++++++ runtime/fail_nat.c | 11 ++-- runtime/signals_nat.c | 3 +- runtime/signals_osdep.h | 14 +---- runtime/startup_byt.c | 5 ++ runtime/startup_nat.c | 7 ++- utils/domainstate.ml.c | 21 +++++++ utils/domainstate.mli.c | 6 ++ 20 files changed, 307 insertions(+), 91 deletions(-) create mode 100644 runtime/caml/domain.h create mode 100644 runtime/caml/domain_state.h create mode 100644 runtime/caml/domain_state.tbl create mode 100644 runtime/domain.c create mode 100644 utils/domainstate.ml.c create mode 100644 utils/domainstate.mli.c diff --git a/Makefile b/Makefile index 15640c0a4..9688a6c8d 100644 --- a/Makefile +++ b/Makefile @@ -77,14 +77,12 @@ DEPINCLUDES=$(INCLUDES) OCAMLDOC_OPT=$(WITH_OCAMLDOC:=.opt) UTILS=utils/config.cmo utils/build_path_prefix_map.cmo utils/misc.cmo \ - utils/identifiable.cmo utils/numbers.cmo utils/arg_helper.cmo \ - utils/clflags.cmo utils/profile.cmo \ - utils/load_path.cmo \ - utils/terminfo.cmo utils/ccomp.cmo utils/warnings.cmo \ - utils/consistbl.cmo \ - utils/strongly_connected_components.cmo \ - utils/targetint.cmo \ - utils/int_replace_polymorphic_compare.cmo + utils/identifiable.cmo utils/numbers.cmo utils/arg_helper.cmo \ + utils/clflags.cmo utils/profile.cmo utils/load_path.cmo \ + utils/terminfo.cmo utils/ccomp.cmo utils/warnings.cmo \ + utils/consistbl.cmo utils/strongly_connected_components.cmo \ + utils/targetint.cmo utils/int_replace_polymorphic_compare.cmo \ + utils/domainstate.cmo PARSING=parsing/location.cmo parsing/longident.cmo \ parsing/docstrings.cmo parsing/syntaxerr.cmo \ @@ -338,12 +336,18 @@ reconfigure: ./configure $(CONFIGURE_ARGS) endif +utils/domainstate.ml: utils/domainstate.ml.c runtime/caml/domain_state.tbl + $(CPP) -I runtime/caml $< > $@ + +utils/domainstate.mli: utils/domainstate.mli.c utils/domainstate.ml runtime/caml/domain_state.tbl + $(CPP) -I runtime/caml $< > $@ + .PHONY: partialclean partialclean:: - rm -f utils/config.ml + rm -f utils/config.ml utils/domainstate.ml utils/domainstate.mli .PHONY: beforedepend -beforedepend:: utils/config.ml +beforedepend:: utils/config.ml utils/domainstate.ml utils/domainstate.mli # Start up the system from the distribution compiler .PHONY: coldstart diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index 5e6d1ec76..e36fdb889 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -154,6 +154,9 @@ let load_symbol_addr s arg = else I.mov (sym (emit_symbol s)) arg +let domain_field f = + mem64 QWORD (Domainstate.idx_of_field f * 8) R14 + (* Output a label *) let emit_label lbl = @@ -887,15 +890,15 @@ let emit_instr fallthrough i = else I.mov (sym (emit_label s)) arg in - cfi_adjust_cfa_offset 16; - I.sub (int 16) rsp; + load_label_addr lbl_handler r11; + cfi_adjust_cfa_offset 8; + I.push r11; + cfi_adjust_cfa_offset 8; + I.push (domain_field Domainstate.Domain_exn_handler); + I.mov rsp (domain_field Domainstate.Domain_exn_handler); stack_offset := !stack_offset + 16; - I.mov r14 (mem64 QWORD 0 RSP); - load_label_addr lbl_handler r14; - I.mov r14 (mem64 QWORD 8 RSP); - I.mov rsp r14 | Lpoptrap -> - I.pop r14; + I.pop (domain_field Domainstate.Domain_exn_handler); cfi_adjust_cfa_offset (-8); I.add (int 8) rsp; cfi_adjust_cfa_offset (-8); @@ -909,8 +912,8 @@ let emit_instr fallthrough i = emit_call "caml_raise_exn"; record_frame Reg.Set.empty true i.dbg | Cmm.Raise_notrace -> - I.mov r14 rsp; - I.pop r14; + I.mov (domain_field Domainstate.Domain_exn_handler) rsp; + I.pop (domain_field Domainstate.Domain_exn_handler); I.pop r11; I.jmp r11 end @@ -1001,7 +1004,6 @@ let begin_assembly() = if system = S_win64 then begin D.extrn "caml_young_ptr" QWORD; D.extrn "caml_young_limit" QWORD; - D.extrn "caml_exception_pointer" QWORD; D.extrn "caml_call_gc" NEAR; D.extrn "caml_call_gc1" NEAR; D.extrn "caml_call_gc2" NEAR; diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index e6e04a065..99c80ac9d 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -19,6 +19,7 @@ #include "caml/backtrace.h" #include "caml/callback.h" #include "caml/custom.h" +#include "caml/domain.h" #include "caml/fail.h" #include "caml/io.h" #include "caml/memory.h" @@ -78,7 +79,7 @@ struct caml_thread_struct { char * bottom_of_stack; /* Saved value of caml_bottom_of_stack */ uintnat last_retaddr; /* Saved value of caml_last_return_address */ value * gc_regs; /* Saved value of caml_gc_regs */ - char * exception_pointer; /* Saved value of caml_exception_pointer */ + char * exception_pointer; /* Saved value of Caml_state->exn_handler */ struct caml__roots_block * local_roots; /* Saved value of local_roots */ struct longjmp_buffer * exit_buf; /* For thread exit */ #if defined(NATIVE_CODE) && defined(WITH_SPACETIME) @@ -177,7 +178,7 @@ static inline void caml_thread_save_runtime_state(void) curr_thread->bottom_of_stack = caml_bottom_of_stack; curr_thread->last_retaddr = caml_last_return_address; curr_thread->gc_regs = caml_gc_regs; - curr_thread->exception_pointer = caml_exception_pointer; + curr_thread->exception_pointer = Caml_state->exn_handler; curr_thread->local_roots = caml_local_roots; #ifdef WITH_SPACETIME curr_thread->spacetime_trie_node_ptr @@ -207,7 +208,7 @@ static inline void caml_thread_restore_runtime_state(void) caml_bottom_of_stack= curr_thread->bottom_of_stack; caml_last_return_address = curr_thread->last_retaddr; caml_gc_regs = curr_thread->gc_regs; - caml_exception_pointer = curr_thread->exception_pointer; + Caml_state->exn_handler = curr_thread->exception_pointer; caml_local_roots = curr_thread->local_roots; #ifdef WITH_SPACETIME caml_spacetime_trie_node_ptr diff --git a/runtime/Makefile b/runtime/Makefile index b664b0a6d..d85df3c9b 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -26,7 +26,7 @@ BYTECODE_C_SOURCES := $(addsuffix .c, \ signals_byt printexc backtrace_byt backtrace compare ints \ floats str array io extern intern hash sys meta parsing gc_ctrl md5 obj \ lexing callback debugger weak compact finalise custom dynlink \ - spacetime_byt afl $(UNIX_OR_WIN32) bigarray main memprof) + spacetime_byt afl $(UNIX_OR_WIN32) bigarray main memprof domain) NATIVE_C_SOURCES := $(addsuffix .c, \ startup_aux startup_nat main fail_nat roots_nat signals \ @@ -35,7 +35,7 @@ NATIVE_C_SOURCES := $(addsuffix .c, \ lexing $(UNIX_OR_WIN32) printexc callback weak compact finalise custom \ globroots backtrace_nat backtrace dynlink_nat debugger meta \ dynlink clambda_checks spacetime_nat spacetime_snapshot afl bigarray \ - memprof) + memprof domain) # The other_files variable stores the list of files whose dependencies # should be computed by `make depend` although they do not need to be diff --git a/runtime/amd64.S b/runtime/amd64.S index a439bff6d..972d8d104 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -112,6 +112,18 @@ #endif +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "../runtime/caml/config.h" + + .set domain_curr_field, 0 +#define DOMAIN_STATE(c_type, name) \ + .equ domain_field_caml_##name, domain_curr_field ; \ + .set domain_curr_field, domain_curr_field + 1 +#include "../runtime/caml/domain_state.tbl" +#undef DOMAIN_STATE + +#define Caml_state(var) (8*domain_field_caml_##var)(%r14) + #if defined(__PIC__) && !defined(SYS_mingw64) && !defined(SYS_cygwin) /* Position-independent operations on global variables. */ @@ -345,9 +357,8 @@ LBL(caml_call_gc): pushq %rbx; CFI_ADJUST (8); pushq %rax; CFI_ADJUST (8); STORE_VAR(%rsp, caml_gc_regs) - /* Save caml_young_ptr, caml_exception_pointer */ + /* Save caml_young_ptr */ STORE_VAR(%r15, caml_young_ptr) - STORE_VAR(%r14, caml_exception_pointer) #ifdef WITH_SPACETIME STORE_VAR(%r13, caml_spacetime_trie_node_ptr) #endif @@ -373,9 +384,8 @@ LBL(caml_call_gc): PREPARE_FOR_C_CALL call GCALL(caml_garbage_collection) CLEANUP_AFTER_C_CALL - /* Restore caml_young_ptr, caml_exception_pointer */ + /* Restore caml_young_ptr */ LOAD_VAR(caml_young_ptr, %r15) - LOAD_VAR(caml_exception_pointer, %r14) /* Restore all regs used by the code generator */ movsd 0*8(%rsp), %xmm0 movsd 1*8(%rsp), %xmm1 @@ -543,9 +553,8 @@ LBL(caml_c_call): subq $(STACK_PROBE_SIZE), %rsp; CFI_ADJUST(STACK_PROBE_SIZE); movq %rax, 0(%rsp) addq $(STACK_PROBE_SIZE), %rsp; CFI_ADJUST(-STACK_PROBE_SIZE); - /* Make the exception handler and alloc ptr available to the C code */ + /* Make the alloc ptr available to the C code */ STORE_VAR(%r15, caml_young_ptr) - STORE_VAR(%r14, caml_exception_pointer) /* Call the function (address in %rax) */ /* No need to PREPARE_FOR_C_CALL since the caller already reserved the stack space if needed (cf. amd64/proc.ml) */ @@ -559,6 +568,8 @@ FUNCTION(G(caml_start_program)) CFI_STARTPROC /* Save callee-save registers */ PUSH_CALLEE_SAVE_REGS + /* Load Caml_state into r14 (was passed as an argument from C) */ + movq C_ARG_1, %r14 /* Initial entry point is G(caml_program) */ LEA_VAR(caml_program, %r12) /* Common code for caml_start_program and caml_callback* */ @@ -587,14 +598,13 @@ LBL(caml_start_program): popq %rbx; CFI_ADJUST (-8) popq %rax; CFI_ADJUST (-8) #endif - /* Setup alloc ptr and exception ptr */ + /* Setup alloc ptr */ LOAD_VAR(caml_young_ptr, %r15) - LOAD_VAR(caml_exception_pointer, %r14) /* Build an exception handler */ lea LBL(108)(%rip), %r13 pushq %r13; CFI_ADJUST(8) - pushq %r14; CFI_ADJUST(8) - movq %rsp, %r14 + pushq Caml_state(exn_handler); CFI_ADJUST(8) + movq %rsp, Caml_state(exn_handler) #ifdef WITH_SPACETIME LOAD_VAR(caml_spacetime_trie_node_ptr, %r13) #endif @@ -602,12 +612,11 @@ LBL(caml_start_program): call *%r12 LBL(107): /* Pop the exception handler */ - popq %r14; CFI_ADJUST(-8) + popq Caml_state(exn_handler); CFI_ADJUST(-8) popq %r12; CFI_ADJUST(-8) /* dummy register */ LBL(109): - /* Update alloc ptr and exception ptr */ + /* Update alloc ptr */ STORE_VAR(%r15,caml_young_ptr) - STORE_VAR(%r14,caml_exception_pointer) /* Pop the callback link, restoring the global variables */ POP_VAR(caml_bottom_of_stack) POP_VAR(caml_last_return_address) @@ -635,8 +644,8 @@ FUNCTION(G(caml_raise_exn)) CFI_STARTPROC TESTL_VAR($1, caml_backtrace_active) jne LBL(110) - movq %r14, %rsp - popq %r14 + movq Caml_state(exn_handler), %rsp + popq Caml_state(exn_handler) ret LBL(110): movq %rax, %r12 /* Save exception bucket */ @@ -649,14 +658,14 @@ LBL(110): popq C_ARG_2 /* arg 2: pc of raise */ movq %rsp, C_ARG_3 /* arg 3: sp at raise */ #endif - movq %r14, C_ARG_4 /* arg 4: sp of handler */ + movq Caml_state(exn_handler), C_ARG_4 /* arg 4: sp of handler */ /* PR#5700: thanks to popq above, stack is now 16-aligned */ /* Thanks to ENTER_FUNCTION, stack is now 16-aligned */ PREPARE_FOR_C_CALL /* no need to cleanup after */ call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ - movq %r14, %rsp - popq %r14 + movq Caml_state(exn_handler), %rsp + popq Caml_state(exn_handler) ret CFI_ENDPROC ENDFUNCTION(G(caml_raise_exn)) @@ -665,30 +674,32 @@ ENDFUNCTION(G(caml_raise_exn)) FUNCTION(G(caml_raise_exception)) CFI_STARTPROC + movq C_ARG_1, %r14 /* Caml_state */ TESTL_VAR($1, caml_backtrace_active) jne LBL(112) - movq C_ARG_1, %rax - LOAD_VAR(caml_exception_pointer, %rsp) /* Cut stack */ - popq %r14 /* Recover previous exception handler */ + movq C_ARG_2, %rax + movq Caml_state(exn_handler), %rsp /* Cut stack */ + popq Caml_state(exn_handler) /* Recover previous exception handler */ LOAD_VAR(caml_young_ptr, %r15) /* Reload alloc ptr */ ret LBL(112): #ifdef WITH_FRAME_POINTERS ENTER_FUNCTION ; #endif - movq C_ARG_1, %r12 /* Save exception bucket */ - /* arg 1: exception bucket */ + /* Save exception bucket. Caml_state in r14 saved across C calls. */ + movq C_ARG_2, %r12 + movq C_ARG_2, C_ARG_1 /* arg 1: exception bucket */ LOAD_VAR(caml_last_return_address,C_ARG_2) /* arg 2: pc of raise */ LOAD_VAR(caml_bottom_of_stack,C_ARG_3) /* arg 3: sp of raise */ - LOAD_VAR(caml_exception_pointer,C_ARG_4) /* arg 4: sp of handler */ + movq Caml_state(exn_handler), C_ARG_4 /* arg 4: sp of handler */ #ifndef WITH_FRAME_POINTERS subq $8, %rsp /* PR#5700: maintain stack alignment */ #endif PREPARE_FOR_C_CALL /* no need to cleanup after */ call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ - LOAD_VAR(caml_exception_pointer,%rsp) - popq %r14 /* Recover previous exception handler */ + movq Caml_state(exn_handler), %rsp + popq Caml_state(exn_handler) /* Recover previous exception handler */ LOAD_VAR(caml_young_ptr,%r15) /* Reload alloc ptr */ ret CFI_ENDPROC @@ -701,48 +712,52 @@ ENDFUNCTION(G(caml_raise_exception)) backtrace anyway. */ FUNCTION(G(caml_stack_overflow)) + movq C_ARG_1, %r14 /* Caml_state */ LEA_VAR(caml_exn_Stack_overflow, %rax) - movq %r14, %rsp /* cut the stack */ - popq %r14 /* recover previous exn handler */ - ret /* jump to handler's code */ + movq Caml_state(exn_handler), %rsp /* cut the stack */ + popq Caml_state(exn_handler) /* recover previous exn handler */ + ret /* jump to handler's code */ ENDFUNCTION(G(caml_stack_overflow)) /* Callback from C to OCaml */ -FUNCTION(G(caml_callback_exn)) +FUNCTION(G(caml_callback_asm)) CFI_STARTPROC /* Save callee-save registers */ PUSH_CALLEE_SAVE_REGS /* Initial loading of arguments */ - movq C_ARG_1, %rbx /* closure */ - movq C_ARG_2, %rax /* argument */ + movq C_ARG_1, %r14 /* Caml_state */ + movq C_ARG_2, %rbx /* closure */ + movq 0(C_ARG_3), %rax /* argument */ movq 0(%rbx), %r12 /* code pointer */ jmp LBL(caml_start_program) CFI_ENDPROC ENDFUNCTION(G(caml_callback_exn)) -FUNCTION(G(caml_callback2_exn)) +FUNCTION(G(caml_callback2_asm)) CFI_STARTPROC /* Save callee-save registers */ PUSH_CALLEE_SAVE_REGS /* Initial loading of arguments */ - movq C_ARG_1, %rdi /* closure -- no op with Unix conventions */ - movq C_ARG_2, %rax /* first argument */ - movq C_ARG_3, %rbx /* second argument */ + movq C_ARG_1, %r14 /* Caml_state */ + movq C_ARG_2, %rdi /* closure */ + movq 0(C_ARG_3), %rax /* first argument */ + movq 8(C_ARG_3), %rbx /* second argument */ LEA_VAR(caml_apply2, %r12) /* code pointer */ jmp LBL(caml_start_program) CFI_ENDPROC ENDFUNCTION(G(caml_callback2_exn)) -FUNCTION(G(caml_callback3_exn)) +FUNCTION(G(caml_callback3_asm)) CFI_STARTPROC /* Save callee-save registers */ PUSH_CALLEE_SAVE_REGS /* Initial loading of arguments */ - movq C_ARG_2, %rax /* first argument */ - movq C_ARG_3, %rbx /* second argument */ - movq C_ARG_1, %rsi /* closure */ - movq C_ARG_4, %rdi /* third argument */ + movq C_ARG_1, %r14 /* Caml_state */ + movq 0(C_ARG_3), %rax /* first argument */ + movq 8(C_ARG_3), %rbx /* second argument */ + movq C_ARG_2, %rsi /* closure */ + movq 16(C_ARG_3), %rdi /* third argument */ LEA_VAR(caml_apply3, %r12) /* code pointer */ jmp LBL(caml_start_program) CFI_ENDPROC diff --git a/runtime/callback.c b/runtime/callback.c index 03a89b30f..3e6a7ffb3 100644 --- a/runtime/callback.c +++ b/runtime/callback.c @@ -19,6 +19,7 @@ #include #include "caml/callback.h" +#include "caml/domain.h" #include "caml/fail.h" #include "caml/memory.h" #include "caml/mlvalues.h" @@ -131,7 +132,30 @@ CAMLexport value caml_callback3_exn(value closure, #else -/* Native-code callbacks. caml_callback[123]_exn are implemented in asm. */ +/* Native-code callbacks. */ + +typedef value (callback_stub)(caml_domain_state* state, value closure, value* args); + +callback_stub caml_callback_asm, caml_callback2_asm, caml_callback3_asm; + +CAMLexport value caml_callback_exn(value closure, value arg) +{ + return caml_callback_asm(Caml_state, closure, &arg); +} + +CAMLexport value caml_callback2_exn(value closure, value arg1, value arg2) +{ + value args[] = {arg1, arg2}; + return caml_callback2_asm(Caml_state, closure, args); +} + +CAMLexport value caml_callback3_exn(value closure, + value arg1, value arg2, value arg3) +{ + value args[] = {arg1, arg2, arg3}; + return caml_callback3_asm(Caml_state, closure, args); +} + CAMLexport value caml_callbackN_exn(value closure, int narg, value args[]) { diff --git a/runtime/caml/config.h b/runtime/caml/config.h index 4d5b99db5..d1f93bb9c 100644 --- a/runtime/caml/config.h +++ b/runtime/caml/config.h @@ -47,6 +47,8 @@ #include "compatibility.h" #endif +#ifndef CAML_CONFIG_H_NO_TYPEDEFS + #include #if defined(HAS_LOCALE_H) || defined(HAS_XLOCALE_H) @@ -139,6 +141,8 @@ typedef uint64_t uintnat; #error "No integer type available to represent pointers" #endif +#endif /* CAML_CONFIG_H_NO_TYPEDEFS */ + /* Endianness of floats */ /* ARCH_FLOAT_ENDIANNESS encodes the byte order of doubles as follows: diff --git a/runtime/caml/domain.h b/runtime/caml/domain.h new file mode 100644 index 000000000..3e843be2f --- /dev/null +++ b/runtime/caml/domain.h @@ -0,0 +1,37 @@ +/**************************************************************************/ +/* */ +/* OCaml */ +/* */ +/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. */ +/* */ +/* All rights reserved. This file is distributed under the terms of */ +/* the GNU Lesser General Public License version 2.1, with the */ +/* special exception on linking described in the file LICENSE. */ +/* */ +/**************************************************************************/ + +#ifndef CAML_DOMAIN_H +#define CAML_DOMAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef CAML_INTERNALS + +#include "domain_state.h" + +CAMLextern caml_domain_state* Caml_state; + +void caml_init_domain(void); + +#endif /* CAML_INTERNALS */ + +#ifdef __cplusplus +} +#endif + +#endif /* CAML_DOMAIN_H */ diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h new file mode 100644 index 000000000..8c652f234 --- /dev/null +++ b/runtime/caml/domain_state.h @@ -0,0 +1,44 @@ +/**************************************************************************/ +/* */ +/* OCaml */ +/* */ +/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. */ +/* */ +/* All rights reserved. This file is distributed under the terms of */ +/* the GNU Lesser General Public License version 2.1, with the */ +/* special exception on linking described in the file LICENSE. */ +/* */ +/**************************************************************************/ + +#ifndef CAML_STATE_H +#define CAML_STATE_H + +#include +#include "misc.h" + +/* This structure sits in the TLS area and is also accessed efficiently + * via native code, which is why the indices are important */ +typedef struct { +#define DOMAIN_STATE(type, name) CAMLalign(8) type name; +#include "domain_state.tbl" +#undef DOMAIN_STATE +} caml_domain_state; + +enum { + Domain_state_num_fields = +#define DOMAIN_STATE(type, name) + 1 +#include "domain_state.tbl" +#undef DOMAIN_STATE +}; + +/* Check that the structure was laid out without padding, + since the runtime assumes this in computing offsets */ +CAML_STATIC_ASSERT( + sizeof(caml_domain_state) == + (Domain_state_num_fields + ) * 8); + +#endif /* CAML_STATE_H */ diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl new file mode 100644 index 000000000..faaac9204 --- /dev/null +++ b/runtime/caml/domain_state.tbl @@ -0,0 +1,2 @@ +DOMAIN_STATE(char*, exn_handler) +/* Exception pointer that points into the current stack */ diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 5afba0ad2..3f7c71d98 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -83,6 +83,35 @@ typedef char * addr; #define CAMLweakdef #endif +/* Alignment */ +#if defined(__GNUC__) +#define CAMLalign(n) __attribute__((aligned(n))) +#else +#error "How do I align values on this platform?" +#endif + +/* CAMLunused is preserved for compatibility reasons. + Instead of the legacy GCC/Clang-only + CAMLunused foo; + you should prefer + CAMLunused_start foo CAMLunused_end; + which supports both GCC/Clang and MSVC. +*/ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 7)) + #define CAMLunused_start __attribute__ ((unused)) + #define CAMLunused_end + #define CAMLunused __attribute__ ((unused)) +#elif _MSC_VER >= 1500 + #define CAMLunused_start __pragma( warning (push) ) \ + __pragma( warning (disable:4189 ) ) + #define CAMLunused_end __pragma( warning (pop)) + #define CAMLunused +#else + #define CAMLunused_start + #define CAMLunused_end + #define CAMLunused +#endif + #ifdef __cplusplus extern "C" { #endif @@ -95,6 +124,11 @@ extern caml_timing_hook caml_major_slice_begin_hook, caml_major_slice_end_hook; extern caml_timing_hook caml_minor_gc_begin_hook, caml_minor_gc_end_hook; extern caml_timing_hook caml_finalise_begin_hook, caml_finalise_end_hook; +#define CAML_STATIC_ASSERT_3(b, l) \ + typedef CAMLunused_start char static_assertion_failure_line_##l[(b) ? 1 : -1] CAMLunused_end +#define CAML_STATIC_ASSERT_2(b, l) CAML_STATIC_ASSERT_3(b, l) +#define CAML_STATIC_ASSERT(b) CAML_STATIC_ASSERT_2(b, __LINE__) + /* Windows Unicode support (rest below - char_os is needed earlier) */ #ifdef _WIN32 diff --git a/runtime/caml/stack.h b/runtime/caml/stack.h index 0c4aab159..8b898ea9a 100644 --- a/runtime/caml/stack.h +++ b/runtime/caml/stack.h @@ -111,7 +111,6 @@ extern char * caml_top_of_stack; extern char * caml_bottom_of_stack; extern uintnat caml_last_return_address; extern value * caml_gc_regs; -extern char * caml_exception_pointer; extern value * caml_globals[]; extern char caml_globals_map[]; extern intnat caml_globals_inited; diff --git a/runtime/domain.c b/runtime/domain.c new file mode 100644 index 000000000..2e748ed8a --- /dev/null +++ b/runtime/domain.c @@ -0,0 +1,29 @@ +/**************************************************************************/ +/* */ +/* OCaml */ +/* */ +/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. */ +/* */ +/* All rights reserved. This file is distributed under the terms of */ +/* the GNU Lesser General Public License version 2.1, with the */ +/* special exception on linking described in the file LICENSE. */ +/* */ +/**************************************************************************/ + +#define CAML_INTERNALS + +#include "caml/domain_state.h" +#include "caml/memory.h" + +CAMLexport caml_domain_state* Caml_state; + +void caml_init_domain () +{ + Caml_state = (caml_domain_state*)caml_stat_alloc_noexc(sizeof(caml_domain_state)); + if (Caml_state == NULL) { + caml_fatal_error ("cannot initialize domain state"); + } +} diff --git a/runtime/fail_nat.c b/runtime/fail_nat.c index e1f687d37..19c5f49d5 100644 --- a/runtime/fail_nat.c +++ b/runtime/fail_nat.c @@ -20,6 +20,7 @@ #include #include #include "caml/alloc.h" +#include "caml/domain.h" #include "caml/fail.h" #include "caml/io.h" #include "caml/gc.h" @@ -52,22 +53,20 @@ extern caml_generated_constant /* Exception raising */ CAMLnoreturn_start - extern void caml_raise_exception (value bucket) + extern void caml_raise_exception (caml_domain_state* state, value bucket) CAMLnoreturn_end; -char * caml_exception_pointer = NULL; - void caml_raise(value v) { Unlock_exn(); - if (caml_exception_pointer == NULL) caml_fatal_uncaught_exception(v); + if (Caml_state->exn_handler == NULL) caml_fatal_uncaught_exception(v); while (caml_local_roots != NULL && - (char *) caml_local_roots < caml_exception_pointer) { + (char *) caml_local_roots < Caml_state->exn_handler) { caml_local_roots = caml_local_roots->next; } - caml_raise_exception(v); + caml_raise_exception(Caml_state, v); } void caml_raise_constant(value tag) diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index 38ca0b7dd..5eabb4330 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -182,7 +182,6 @@ DECLARE_SIGNAL_HANDLER(trap_handler) caml_sigmask_hook(SIG_UNBLOCK, &mask, NULL); } #endif - caml_exception_pointer = (char *) CONTEXT_EXCEPTION_POINTER; caml_young_ptr = (value *) CONTEXT_YOUNG_PTR; caml_bottom_of_stack = (char *) CONTEXT_SP; caml_last_return_address = (uintnat) CONTEXT_PC; @@ -234,6 +233,7 @@ DECLARE_SIGNAL_HANDLER(segv_handler) handler, we jump to the asm function [caml_stack_overflow] (from $ARCH.S). */ #ifdef CONTEXT_PC + CONTEXT_C_ARG_1 = (context_reg) Caml_state; CONTEXT_PC = (context_reg) &caml_stack_overflow; #else #error "CONTEXT_PC must be defined if RETURN_AFTER_STACK_OVERFLOW is" @@ -241,7 +241,6 @@ DECLARE_SIGNAL_HANDLER(segv_handler) #else /* Raise a Stack_overflow exception straight from this signal handler */ #if defined(CONTEXT_YOUNG_PTR) && defined(CONTEXT_EXCEPTION_POINTER) - caml_exception_pointer = (char *) CONTEXT_EXCEPTION_POINTER; caml_young_ptr = (value *) CONTEXT_YOUNG_PTR; #endif caml_raise_stack_overflow(); diff --git a/runtime/signals_osdep.h b/runtime/signals_osdep.h index 417768f00..6809138c6 100644 --- a/runtime/signals_osdep.h +++ b/runtime/signals_osdep.h @@ -27,8 +27,8 @@ sigact.sa_flags = SA_SIGINFO typedef greg_t context_reg; + #define CONTEXT_C_ARG_1 (context->uc_mcontext.gregs[REG_RDI]) #define CONTEXT_PC (context->uc_mcontext.gregs[REG_RIP]) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.gregs[REG_R14]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) #define CONTEXT_FAULTING_ADDRESS ((char *)context->uc_mcontext.gregs[REG_CR2]) @@ -56,7 +56,6 @@ typedef unsigned long long context_reg; #define CONTEXT_STATE (((ucontext_t *)context)->uc_mcontext->CONTEXT_REG(ss)) #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(rip)) - #define CONTEXT_EXCEPTION_POINTER (CONTEXT_STATE.CONTEXT_REG(r14)) #define CONTEXT_YOUNG_PTR (CONTEXT_STATE.CONTEXT_REG(r15)) #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(rsp)) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -79,7 +78,6 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->uc_mcontext.arm_pc) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.arm_fp) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.arm_r8) #define CONTEXT_FAULTING_ADDRESS ((char *) context->uc_mcontext.fault_address) @@ -98,7 +96,6 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->uc_mcontext.pc) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.regs[26]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.regs[27]) #define CONTEXT_FAULTING_ADDRESS ((char *) context->uc_mcontext.fault_address) @@ -117,7 +114,6 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->uc_mcontext.mc_gpregs.gp_elr) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.mc_gpregs.gp_x[26]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.mc_gpregs.gp_x[27]) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -137,7 +133,6 @@ typedef greg_t context_reg; #define CONTEXT_PC (context->uc_mcontext.gregs[REG_RIP]) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.gregs[REG_R14]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -153,7 +148,6 @@ sigact.sa_flags = SA_SIGINFO #define CONTEXT_PC (context->sc_rip) - #define CONTEXT_EXCEPTION_POINTER (context->sc_r14) #define CONTEXT_YOUNG_PTR (context->sc_r15) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -170,7 +164,6 @@ sigact.sa_flags = SA_SIGINFO #define CONTEXT_PC (_UC_MACHINE_PC(context)) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.gregs[REG_R14]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -299,7 +292,6 @@ #define CONTEXT_STATE (CONTEXT_MCONTEXT->CONTEXT_REG(ss)) #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(srr0)) - #define CONTEXT_EXCEPTION_POINTER (CONTEXT_STATE.CONTEXT_REG(r29)) #define CONTEXT_YOUNG_LIMIT (CONTEXT_STATE.CONTEXT_REG(r30)) #define CONTEXT_YOUNG_PTR (CONTEXT_STATE.CONTEXT_REG(r31)) #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(r1)) @@ -318,7 +310,6 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->regs->nip) - #define CONTEXT_EXCEPTION_POINTER (context->regs->gpr[29]) #define CONTEXT_YOUNG_LIMIT (context->regs->gpr[30]) #define CONTEXT_YOUNG_PTR (context->regs->gpr[31]) #define CONTEXT_SP (context->regs->gpr[1]) @@ -337,7 +328,6 @@ typedef long context_reg; #define CONTEXT_PC (_UC_MACHINE_PC(context)) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.__gregs[_REG_R29]) #define CONTEXT_YOUNG_LIMIT (context->uc_mcontext.__gregs[_REG_R30]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.__gregs[_REG_R31]) #define CONTEXT_SP (_UC_MACHINE_SP(context)) @@ -358,7 +348,6 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->sc_frame.srr0) - #define CONTEXT_EXCEPTION_POINTER (context->sc_frame.fixreg[29]) #define CONTEXT_YOUNG_LIMIT (context->sc_frame.fixreg[30]) #define CONTEXT_YOUNG_PTR (context->sc_frame.fixreg[31]) #define CONTEXT_SP (context->sc_frame.fixreg[1]) @@ -375,7 +364,6 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->sregs->regs.psw.addr) - #define CONTEXT_EXCEPTION_POINTER (context->sregs->regs.gprs[13]) #define CONTEXT_YOUNG_LIMIT (context->sregs->regs.gprs[10]) #define CONTEXT_YOUNG_PTR (context->sregs->regs.gprs[11]) #define CONTEXT_SP (context->sregs->regs.gprs[15]) diff --git a/runtime/startup_byt.c b/runtime/startup_byt.c index 8571d6fa5..301bdf50c 100644 --- a/runtime/startup_byt.c +++ b/runtime/startup_byt.c @@ -33,6 +33,7 @@ #include "caml/callback.h" #include "caml/custom.h" #include "caml/debugger.h" +#include "caml/domain.h" #include "caml/dynlink.h" #include "caml/exec.h" #include "caml/fail.h" @@ -407,6 +408,8 @@ CAMLexport void caml_main(char_os **argv) } /* Read the table of contents (section descriptors) */ caml_read_section_descriptors(fd, &trail); + /* Initialize the domain */ + caml_init_domain(); /* Initialize the abstract machine */ caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, @@ -501,6 +504,8 @@ CAMLexport value caml_startup_code_exn( exe_name = caml_executable_name(); if (exe_name == NULL) exe_name = caml_search_exe_in_path(argv[0]); caml_external_raise = NULL; + /* Initialize the domain */ + caml_init_domain(); /* Initialize the abstract machine */ caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, diff --git a/runtime/startup_nat.c b/runtime/startup_nat.c index b4e6bc474..06a6e2654 100644 --- a/runtime/startup_nat.c +++ b/runtime/startup_nat.c @@ -23,6 +23,7 @@ #include "caml/backtrace.h" #include "caml/custom.h" #include "caml/debugger.h" +#include "caml/domain.h" #include "caml/fail.h" #include "caml/freelist.h" #include "caml/gc.h" @@ -90,7 +91,7 @@ static void init_static(void) struct longjmp_buffer caml_termination_jmpbuf; void (*caml_termination_hook)(void *) = NULL; -extern value caml_start_program (void); +extern value caml_start_program (caml_domain_state*); extern void caml_init_ieee_floats (void); extern void caml_init_signals (void); #ifdef _WIN32 @@ -133,6 +134,8 @@ value caml_startup_common(char_os **argv, int pooling) #endif caml_init_custom_operations(); caml_top_of_stack = &tos; + /* Initialize the domain */ + caml_init_domain(); caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, caml_init_max_percent_free, caml_init_major_window, @@ -157,7 +160,7 @@ value caml_startup_common(char_os **argv, int pooling) if (caml_termination_hook != NULL) caml_termination_hook(NULL); return Val_unit; } - return caml_start_program(); + return caml_start_program(Caml_state); } value caml_startup_exn(char_os **argv) diff --git a/utils/domainstate.ml.c b/utils/domainstate.ml.c new file mode 100644 index 000000000..94746dd84 --- /dev/null +++ b/utils/domainstate.ml.c @@ -0,0 +1,21 @@ +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "config.h" + +type t = +#define DOMAIN_STATE(type, name) | Domain_##name +#include "domain_state.tbl" +#undef DOMAIN_STATE + +let idx_of_field = + let curr = 0 in +#define DOMAIN_STATE(type, name) \ + let idx__##name = curr in \ + let curr = curr + 1 in +#include "domain_state.tbl" +#undef DOMAIN_STATE + let _ = curr in + function +#define DOMAIN_STATE(type, name) \ + | Domain_##name -> idx__##name +#include "domain_state.tbl" +#undef DOMAIN_STATE diff --git a/utils/domainstate.mli.c b/utils/domainstate.mli.c new file mode 100644 index 000000000..e837ef514 --- /dev/null +++ b/utils/domainstate.mli.c @@ -0,0 +1,6 @@ +type t = +#define DOMAIN_STATE(type, name) | Domain_##name +#include "domain_state.tbl" +#undef DOMAIN_STATE + +val idx_of_field : t -> int From 45b1e18f5917f34cb283a3864dd2a203b1240f05 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 3 Jun 2019 19:43:15 +0530 Subject: [PATCH 02/54] young_ptr and young_limit are now in domain state --- asmcomp/amd64/emit.mlp | 24 ++------------------- runtime/amd64.S | 26 +++++++++++------------ runtime/caml/compatibility.h | 4 ++-- runtime/caml/domain_state.h | 1 + runtime/caml/domain_state.tbl | 8 ++++++- runtime/caml/memory.h | 9 ++++---- runtime/caml/minor_gc.h | 1 - runtime/compact.c | 2 +- runtime/gc_ctrl.c | 10 ++++----- runtime/major_gc.c | 2 +- runtime/memprof.c | 16 +++++++------- runtime/minor_gc.c | 39 +++++++++++++++++------------------ runtime/signals.c | 4 ++-- runtime/signals_nat.c | 12 +++++------ runtime/sys.c | 2 +- runtime/win32.c | 5 +---- 16 files changed, 74 insertions(+), 91 deletions(-) diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index e36fdb889..10743c942 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -597,8 +597,7 @@ let emit_instr fallthrough i = If we do the same for Win64, we probably need to change amd64nt.asm accordingly. *) - load_symbol_addr "caml_young_ptr" r11; - I.mov (mem64 QWORD 0 R11) r15 + I.mov (domain_field Domainstate.Domain_young_ptr) r15 end end else begin emit_call func; @@ -657,24 +656,7 @@ let emit_instr fallthrough i = let lbl_redo = new_label() in def_label lbl_redo; I.sub (int n) r15; - let spacetime_node_hole_ptr_is_in_rax = - Config.spacetime && (i.arg.(0).loc = Reg 0) - in - if !Clflags.dlcode then begin - (* When using Spacetime, %rax might be the node pointer, so we - must take care not to clobber it. (Whilst we can tell the - register allocator that %rax is destroyed by Ialloc, we can't - force that the argument (the node pointer) is not in %rax.) *) - if spacetime_node_hole_ptr_is_in_rax then begin - I.push rax - end; - load_symbol_addr "caml_young_limit" rax; - I.cmp (mem64 QWORD 0 RAX) r15; - if spacetime_node_hole_ptr_is_in_rax then begin - I.pop rax (* this does not affect the flags *) - end - end else - I.cmp (mem64_rip QWORD (emit_symbol "caml_young_limit")) r15; + I.cmp (domain_field Domainstate.Domain_young_limit) r15; let lbl_call_gc = new_label() in let dbg = if not Config.spacetime then Debuginfo.none @@ -1002,8 +984,6 @@ let begin_assembly() = float_constants := []; all_functions := []; if system = S_win64 then begin - D.extrn "caml_young_ptr" QWORD; - D.extrn "caml_young_limit" QWORD; D.extrn "caml_call_gc" NEAR; D.extrn "caml_call_gc1" NEAR; D.extrn "caml_call_gc2" NEAR; diff --git a/runtime/amd64.S b/runtime/amd64.S index 972d8d104..6f833cc9a 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -357,8 +357,8 @@ LBL(caml_call_gc): pushq %rbx; CFI_ADJUST (8); pushq %rax; CFI_ADJUST (8); STORE_VAR(%rsp, caml_gc_regs) - /* Save caml_young_ptr */ - STORE_VAR(%r15, caml_young_ptr) + /* Save young_ptr */ + movq %r15, Caml_state(young_ptr) #ifdef WITH_SPACETIME STORE_VAR(%r13, caml_spacetime_trie_node_ptr) #endif @@ -384,8 +384,8 @@ LBL(caml_call_gc): PREPARE_FOR_C_CALL call GCALL(caml_garbage_collection) CLEANUP_AFTER_C_CALL - /* Restore caml_young_ptr */ - LOAD_VAR(caml_young_ptr, %r15) + /* Restore young_ptr */ + movq Caml_state(young_ptr), %r15 /* Restore all regs used by the code generator */ movsd 0*8(%rsp), %xmm0 movsd 1*8(%rsp), %xmm1 @@ -430,7 +430,7 @@ FUNCTION(G(caml_alloc1)) CFI_STARTPROC LBL(caml_alloc1): subq $16, %r15 - CMP_VAR(caml_young_limit, %r15) + cmpq Caml_state(young_limit), %r15 jb LBL(100) ret LBL(100): @@ -449,7 +449,7 @@ FUNCTION(G(caml_alloc2)) CFI_STARTPROC LBL(caml_alloc2): subq $24, %r15 - CMP_VAR(caml_young_limit, %r15) + cmpq Caml_state(young_limit), %r15 jb LBL(101) ret LBL(101): @@ -468,7 +468,7 @@ FUNCTION(G(caml_alloc3)) CFI_STARTPROC LBL(caml_alloc3): subq $32, %r15 - CMP_VAR(caml_young_limit, %r15) + cmpq Caml_state(young_limit), %r15 jb LBL(102) ret LBL(102): @@ -488,7 +488,7 @@ CFI_STARTPROC LBL(caml_allocN): pushq %rax; CFI_ADJUST(8) /* save desired size */ subq %rax, %r15 - CMP_VAR(caml_young_limit, %r15) + cmpq Caml_state(young_limit), %r15 jb LBL(103) addq $8, %rsp; CFI_ADJUST (-8) /* drop desired size */ ret @@ -554,7 +554,7 @@ LBL(caml_c_call): movq %rax, 0(%rsp) addq $(STACK_PROBE_SIZE), %rsp; CFI_ADJUST(-STACK_PROBE_SIZE); /* Make the alloc ptr available to the C code */ - STORE_VAR(%r15, caml_young_ptr) + movq %r15, Caml_state(young_ptr) /* Call the function (address in %rax) */ /* No need to PREPARE_FOR_C_CALL since the caller already reserved the stack space if needed (cf. amd64/proc.ml) */ @@ -599,7 +599,7 @@ LBL(caml_start_program): popq %rax; CFI_ADJUST (-8) #endif /* Setup alloc ptr */ - LOAD_VAR(caml_young_ptr, %r15) + movq Caml_state(young_ptr), %r15 /* Build an exception handler */ lea LBL(108)(%rip), %r13 pushq %r13; CFI_ADJUST(8) @@ -616,7 +616,7 @@ LBL(107): popq %r12; CFI_ADJUST(-8) /* dummy register */ LBL(109): /* Update alloc ptr */ - STORE_VAR(%r15,caml_young_ptr) + movq %r15, Caml_state(young_ptr) /* Pop the callback link, restoring the global variables */ POP_VAR(caml_bottom_of_stack) POP_VAR(caml_last_return_address) @@ -680,7 +680,7 @@ CFI_STARTPROC movq C_ARG_2, %rax movq Caml_state(exn_handler), %rsp /* Cut stack */ popq Caml_state(exn_handler) /* Recover previous exception handler */ - LOAD_VAR(caml_young_ptr, %r15) /* Reload alloc ptr */ + movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret LBL(112): #ifdef WITH_FRAME_POINTERS @@ -700,7 +700,7 @@ LBL(112): movq %r12, %rax /* Recover exception bucket */ movq Caml_state(exn_handler), %rsp popq Caml_state(exn_handler) /* Recover previous exception handler */ - LOAD_VAR(caml_young_ptr,%r15) /* Reload alloc ptr */ + movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret CFI_ENDPROC ENDFUNCTION(G(caml_raise_exception)) diff --git a/runtime/caml/compatibility.h b/runtime/caml/compatibility.h index c2e1881c3..6f69380e9 100644 --- a/runtime/caml/compatibility.h +++ b/runtime/caml/compatibility.h @@ -237,8 +237,8 @@ /* **** minor_gc.c */ #define young_start caml_young_start #define young_end caml_young_end -#define young_ptr caml_young_ptr -#define young_limit caml_young_limit +#define young_ptr (Caml_state->young_ptr) +#define young_limit (Caml_state->young_limit) #define ref_table caml_ref_table #define minor_collection caml_minor_collection #define check_urgent_gc caml_check_urgent_gc diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 8c652f234..0a91aac98 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -18,6 +18,7 @@ #include #include "misc.h" +#include "mlvalues.h" /* This structure sits in the TLS area and is also accessed efficiently * via native code, which is why the indices are important */ diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index faaac9204..0e6e0c27e 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -1,2 +1,8 @@ +DOMAIN_STATE(value*, young_ptr) +/* Minor heap pointer. See minor_gc.c. */ + +DOMAIN_STATE(value*, young_limit) +/* Minor heap limit. See minor_gc.c. */ + DOMAIN_STATE(char*, exn_handler) -/* Exception pointer that points into the current stack */ +/* Exception handler pointer that points into the current stack */ diff --git a/runtime/caml/memory.h b/runtime/caml/memory.h index 02a105baa..e8cc3fe4e 100644 --- a/runtime/caml/memory.h +++ b/runtime/caml/memory.h @@ -28,6 +28,7 @@ #include "minor_gc.h" #include "memprof.h" #endif /* CAML_INTERNALS */ +#include "domain.h" #include "misc.h" #include "mlvalues.h" @@ -222,16 +223,16 @@ extern void caml_alloc_small_dispatch (tag_t tag, intnat wosize, int flags); CAMLassert ((wosize) >= 1); \ CAMLassert ((tag_t) (tag) < 256); \ CAMLassert ((wosize) <= Max_young_wosize); \ - caml_young_ptr -= Whsize_wosize (wosize); \ - if (caml_young_ptr < caml_young_limit) { \ + Caml_state->young_ptr -= Whsize_wosize (wosize); \ + if (Caml_state->young_ptr < Caml_state->young_limit) { \ Setup_for_gc; \ caml_alloc_small_dispatch((tag), (wosize), \ (track) | Alloc_small_origin); \ Restore_after_gc; \ } \ - Hd_hp (caml_young_ptr) = \ + Hd_hp (Caml_state->young_ptr) = \ Make_header_with_profinfo ((wosize), (tag), Caml_black, profinfo); \ - (result) = Val_hp (caml_young_ptr); \ + (result) = Val_hp (Caml_state->young_ptr); \ DEBUG_clear ((result), (wosize)); \ }while(0) diff --git a/runtime/caml/minor_gc.h b/runtime/caml/minor_gc.h index 92793e2d9..ecce8cb8c 100644 --- a/runtime/caml/minor_gc.h +++ b/runtime/caml/minor_gc.h @@ -22,7 +22,6 @@ CAMLextern value *caml_young_start, *caml_young_end; CAMLextern value *caml_young_alloc_start, *caml_young_alloc_end; -CAMLextern value *caml_young_ptr, *caml_young_limit; CAMLextern value *caml_young_trigger; extern asize_t caml_minor_heap_wsz; extern int caml_in_minor_collection; diff --git a/runtime/compact.c b/runtime/compact.c index 0f40035aa..1c3e18d71 100644 --- a/runtime/compact.c +++ b/runtime/compact.c @@ -429,7 +429,7 @@ void caml_compact_heap (void) uintnat target_wsz, live; CAML_INSTR_SETUP(tmr, "compact"); - CAMLassert (caml_young_ptr == caml_young_alloc_end); + CAMLassert (Caml_state->young_ptr == caml_young_alloc_end); CAMLassert (caml_ref_table.ptr == caml_ref_table.base); CAMLassert (caml_ephe_ref_table.ptr == caml_ephe_ref_table.base); CAMLassert (caml_custom_table.ptr == caml_custom_table.base); diff --git a/runtime/gc_ctrl.c b/runtime/gc_ctrl.c index b830b5384..2b4182298 100644 --- a/runtime/gc_ctrl.c +++ b/runtime/gc_ctrl.c @@ -233,7 +233,7 @@ static value heap_stats (int returnstats) /* get a copy of these before allocating anything... */ double minwords = caml_stat_minor_words - + (double) (caml_young_alloc_end - caml_young_ptr); + + (double) (caml_young_alloc_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; intnat mincoll = caml_stat_minor_collections; @@ -289,7 +289,7 @@ CAMLprim value caml_gc_quick_stat(value v) /* get a copy of these before allocating anything... */ double minwords = caml_stat_minor_words - + (double) (caml_young_alloc_end - caml_young_ptr); + + (double) (caml_young_alloc_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; intnat mincoll = caml_stat_minor_collections; @@ -322,7 +322,7 @@ CAMLprim value caml_gc_quick_stat(value v) double caml_gc_minor_words_unboxed() { return (caml_stat_minor_words - + (double) (caml_young_alloc_end - caml_young_ptr)); + + (double) (caml_young_alloc_end - Caml_state->young_ptr)); } CAMLprim value caml_gc_minor_words(value v) @@ -338,7 +338,7 @@ CAMLprim value caml_gc_counters(value v) /* get a copy of these before allocating anything... */ double minwords = caml_stat_minor_words - + (double) (caml_young_alloc_end - caml_young_ptr); + + (double) (caml_young_alloc_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; @@ -592,7 +592,7 @@ CAMLprim value caml_gc_compaction(value v) CAMLprim value caml_get_minor_free (value v) { - return Val_int (caml_young_ptr - caml_young_alloc_start); + return Val_int (Caml_state->young_ptr - caml_young_alloc_start); } CAMLprim value caml_get_major_bucket (value v) diff --git a/runtime/major_gc.c b/runtime/major_gc.c index 2fde9e846..ed9f43784 100644 --- a/runtime/major_gc.c +++ b/runtime/major_gc.c @@ -764,7 +764,7 @@ void caml_major_collection_slice (intnat howmuch) (intnat) (p * 1000000)); if (caml_gc_phase == Phase_idle){ - if (caml_young_ptr == caml_young_alloc_end){ + if (Caml_state->young_ptr == caml_young_alloc_end){ /* We can only start a major GC cycle if the minor allocation arena is empty, otherwise we'd have to treat it as a set of roots. */ start_cycle (); diff --git a/runtime/memprof.c b/runtime/memprof.c index e26fbce07..5937215e7 100644 --- a/runtime/memprof.c +++ b/runtime/memprof.c @@ -47,7 +47,7 @@ static value memprof_callback = Val_unit; /* Pointer to the word following the next sample in the minor heap. Equals [caml_young_alloc_start] if no sampling is planned in the current minor heap. - Invariant: [caml_memprof_young_trigger <= caml_young_ptr]. + Invariant: [caml_memprof_young_trigger <= Caml_state->young_ptr]. */ value* caml_memprof_young_trigger; @@ -400,10 +400,10 @@ void caml_memprof_renew_minor_sample(void) caml_memprof_young_trigger = caml_young_alloc_start; else { uintnat geom = mt_generate_geom(); - if (caml_young_ptr - caml_young_alloc_start < geom) + if(Caml_state->young_ptr - caml_young_alloc_start < geom) /* No trigger in the current minor heap. */ caml_memprof_young_trigger = caml_young_alloc_start; - caml_memprof_young_trigger = caml_young_ptr - (geom - 1); + caml_memprof_young_trigger = Caml_state->young_ptr - (geom - 1); } caml_update_young_limit(); @@ -426,7 +426,7 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) /* If [lambda == 0], then [caml_memprof_young_trigger] should be equal to [caml_young_alloc_start]. But this function is only - called with [caml_young_alloc_start <= caml_young_ptr < + called with [caml_young_alloc_start <= Caml_state->young_ptr < caml_memprof_young_trigger], which is contradictory. */ CAMLassert(lambda > 0); @@ -448,7 +448,7 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) /* Restore the minor heap in a valid state for calling the callback. We should not call the GC before these two instructions. */ - caml_young_ptr += whsize; + Caml_state->young_ptr += whsize; caml_memprof_renew_minor_sample(); /* Empty the queue to make sure callbacks are called in the right @@ -460,14 +460,14 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) /* We can now restore the minor heap in the state needed by [Alloc_small_aux]. */ - if (caml_young_ptr - whsize < caml_young_trigger) { + if (Caml_state->young_ptr - whsize < caml_young_trigger) { CAML_INSTR_INT ("force_minor/memprof@", 1); caml_gc_dispatch(); } /* Re-allocate the block in the minor heap. We should not call the GC after this. */ - caml_young_ptr -= whsize; + Caml_state->young_ptr -= whsize; /* Make sure this block is not going to be sampled again. */ shift_sample(whsize); @@ -480,7 +480,7 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) the block. In only checks that the block is young. - The allocation and initialization happens right after returning from [caml_memprof_track_young]. */ - caml_ephemeron_set_key(Field(ephe, 0), 0, Val_hp(caml_young_ptr)); + caml_ephemeron_set_key(Field(ephe, 0), 0, Val_hp(Caml_state->young_ptr)); } /* /!\ Since the heap is in an invalid state before initialization, diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index c265fb95a..2aae465af 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -41,14 +41,14 @@ The allocation arena: newly-allocated blocks are carved from this interval, starting at [caml_young_alloc_end]. [caml_young_alloc_mid] is the mid-point of this interval. - [caml_young_ptr], [caml_young_trigger], [caml_young_limit] + [Caml_state->young_ptr], [caml_young_trigger], [Caml_state->young_limit] These pointers are all inside the allocation arena. - - [caml_young_ptr] is where the next allocation will take place. + - [Caml_state->young_ptr] is where the next allocation will take place. - [caml_young_trigger] is how far we can allocate before triggering [caml_gc_dispatch]. Currently, it is either [caml_young_alloc_start] or the mid-point of the allocation arena. - - [caml_young_limit] is the pointer that is compared to - [caml_young_ptr] for allocation. It is either: + - [Caml_state->young_limit] is the pointer that is compared to + [Caml_state->young_ptr] for allocation. It is either: + [caml_young_alloc_end] if a signal is pending and we are in native code, + [caml_memprof_young_trigger] if a memprof sample is planned, @@ -63,7 +63,6 @@ CAMLexport value *caml_young_start = NULL, *caml_young_end = NULL; CAMLexport value *caml_young_alloc_start = NULL, *caml_young_alloc_mid = NULL, *caml_young_alloc_end = NULL; -CAMLexport value *caml_young_ptr = NULL, *caml_young_limit = NULL; CAMLexport value *caml_young_trigger = NULL; CAMLexport struct caml_ref_table @@ -141,14 +140,14 @@ void caml_set_minor_heap_size (asize_t bsz) CAMLassert (bsz >= Bsize_wsize(Minor_heap_min)); CAMLassert (bsz <= Bsize_wsize(Minor_heap_max)); CAMLassert (bsz % sizeof (value) == 0); - if (caml_young_ptr != caml_young_alloc_end){ + if (Caml_state->young_ptr != caml_young_alloc_end){ CAML_INSTR_INT ("force_minor/set_minor_heap_size@", 1); caml_requested_minor_gc = 0; caml_young_trigger = caml_young_alloc_mid; caml_update_young_limit(); caml_empty_minor_heap (); } - CAMLassert (caml_young_ptr == caml_young_alloc_end); + CAMLassert (Caml_state->young_ptr == caml_young_alloc_end); new_heap = caml_stat_alloc_aligned_noexc(bsz, 0, &new_heap_base); if (new_heap == NULL) caml_raise_out_of_memory(); if (caml_page_table_add(In_young, new_heap, new_heap + bsz) != 0) @@ -166,7 +165,7 @@ void caml_set_minor_heap_size (asize_t bsz) caml_young_alloc_end = caml_young_end; caml_young_trigger = caml_young_alloc_start; caml_update_young_limit(); - caml_young_ptr = caml_young_alloc_end; + Caml_state->young_ptr = caml_young_alloc_end; caml_minor_heap_wsz = Wsize_bsize (bsz); caml_memprof_renew_minor_sample(); @@ -189,7 +188,7 @@ void caml_oldify_one (value v, value *p) tail_call: if (Is_block (v) && Is_young (v)){ - CAMLassert ((value *) Hp_val (v) >= caml_young_ptr); + CAMLassert ((value *) Hp_val (v) >= Caml_state->young_ptr); hd = Hd_val (v); if (hd == 0){ /* If already forwarded */ *p = Field (v, 0); /* then forward pointer is first field. */ @@ -346,7 +345,7 @@ void caml_empty_minor_heap (void) uintnat prev_alloc_words; struct caml_ephe_ref_elt *re; - if (caml_young_ptr != caml_young_alloc_end){ + if (Caml_state->young_ptr != caml_young_alloc_end){ if (caml_minor_gc_begin_hook != NULL) (*caml_minor_gc_begin_hook) (); CAML_INSTR_SETUP (tmr, "minor"); prev_alloc_words = caml_allocated_words; @@ -392,10 +391,10 @@ void caml_empty_minor_heap (void) } } CAML_INSTR_TIME (tmr, "minor/update_weak"); - caml_stat_minor_words += caml_young_alloc_end - caml_young_ptr; - caml_gc_clock += (double) (caml_young_alloc_end - caml_young_ptr) + caml_stat_minor_words += caml_young_alloc_end - Caml_state->young_ptr; + caml_gc_clock += (double) (caml_young_alloc_end - Caml_state->young_ptr) / caml_minor_heap_wsz; - caml_young_ptr = caml_young_alloc_end; + Caml_state->young_ptr = caml_young_alloc_end; clear_table ((struct generic_table *) &caml_ref_table); clear_table ((struct generic_table *) &caml_ephe_ref_table); clear_table ((struct generic_table *) &caml_custom_table); @@ -463,27 +462,27 @@ CAMLexport void caml_gc_dispatch (void) } } -/* Called by [Alloc_small] when [caml_young_ptr] reaches [caml_young_limit]. - We have to either call memprof or the gc. */ +/* Called by [Alloc_small] when [Caml_state->young_ptr] reaches + [caml_young_limit]. We have to either call memprof or the gc. */ void caml_alloc_small_dispatch (tag_t tag, intnat wosize, int flags) { /* Async callbacks may fill the minor heap again, so we need a while loop here. */ - while (caml_young_ptr < caml_young_trigger){ - caml_young_ptr += Whsize_wosize (wosize); + while (Caml_state->young_ptr < caml_young_trigger){ + Caml_state->young_ptr += Whsize_wosize (wosize); CAML_INSTR_INT ("force_minor/alloc_small@", 1); caml_gc_dispatch (); if(flags & CAML_FROM_CAML) caml_check_urgent_gc (Val_unit); - caml_young_ptr -= Whsize_wosize (wosize); + Caml_state->young_ptr -= Whsize_wosize (wosize); } - if(caml_young_ptr < caml_memprof_young_trigger){ + if(Caml_state->young_ptr < caml_memprof_young_trigger){ if(flags & CAML_DO_TRACK) { caml_memprof_track_young(tag, wosize, flags & CAML_FROM_CAML); /* Until the allocation actually takes place, the heap is in an invalid state (see comments in [caml_memprof_track_young]). Hence, very little heap operations are allowed before the actual allocation. - Moreover, [caml_young_ptr] should not be modified before the + Moreover, [Caml_state->young_ptr] should not be modified before the allocation, because its value has been used as the pointer to the sampled block. */ diff --git a/runtime/signals.c b/runtime/signals.c index def4b085f..4264be79e 100644 --- a/runtime/signals.c +++ b/runtime/signals.c @@ -265,12 +265,12 @@ void caml_execute_signal(int signal_number, int in_signal_handler) void caml_update_young_limit (void) { /* The minor heap grows downwards. The first trigger is the largest one. */ - caml_young_limit = caml_memprof_young_trigger < caml_young_trigger ? + Caml_state->young_limit = caml_memprof_young_trigger < caml_young_trigger ? caml_young_trigger : caml_memprof_young_trigger; #ifdef NATIVE_CODE if(caml_something_to_do) - caml_young_limit = caml_young_alloc_end; + Caml_state->young_limit = caml_young_alloc_end; #endif } diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index 5eabb4330..baf70fe76 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -87,12 +87,12 @@ void caml_garbage_collection(void) */ caml_memprof_renew_minor_sample(); if (caml_requested_major_slice || caml_requested_minor_gc || - caml_young_ptr - caml_young_trigger < Max_young_whsize){ + Caml_state->young_ptr - caml_young_trigger < Max_young_whsize){ caml_gc_dispatch (); } #ifdef WITH_SPACETIME - if (caml_young_ptr == caml_young_alloc_end) { + if (Caml_state->young_ptr == caml_young_alloc_end) { caml_spacetime_automatic_snapshot(); } #endif @@ -114,12 +114,12 @@ DECLARE_SIGNAL_HANDLER(handle_signal) caml_enter_blocking_section_hook(); } else { caml_record_signal(sig); - /* Some ports cache [caml_young_limit] in a register. + /* Some ports cache [Caml_state->young_limit] in a register. Use the signal context to modify that register too, but only if we are inside OCaml code (not inside C code). */ #if defined(CONTEXT_PC) && defined(CONTEXT_YOUNG_LIMIT) if (Is_in_code_area(CONTEXT_PC)) - CONTEXT_YOUNG_LIMIT = (context_reg) caml_young_limit; + CONTEXT_YOUNG_LIMIT = (context_reg) Caml_state->young_limit; #endif } errno = saved_errno; @@ -182,7 +182,7 @@ DECLARE_SIGNAL_HANDLER(trap_handler) caml_sigmask_hook(SIG_UNBLOCK, &mask, NULL); } #endif - caml_young_ptr = (value *) CONTEXT_YOUNG_PTR; + Caml_state->young_ptr = (value *) CONTEXT_YOUNG_PTR; caml_bottom_of_stack = (char *) CONTEXT_SP; caml_last_return_address = (uintnat) CONTEXT_PC; caml_array_bound_error(); @@ -241,7 +241,7 @@ DECLARE_SIGNAL_HANDLER(segv_handler) #else /* Raise a Stack_overflow exception straight from this signal handler */ #if defined(CONTEXT_YOUNG_PTR) && defined(CONTEXT_EXCEPTION_POINTER) - caml_young_ptr = (value *) CONTEXT_YOUNG_PTR; + Caml_state->young_ptr = (value *) CONTEXT_YOUNG_PTR; #endif caml_raise_stack_overflow(); #endif diff --git a/runtime/sys.c b/runtime/sys.c index ae161244b..11cc61e3a 100644 --- a/runtime/sys.c +++ b/runtime/sys.c @@ -119,7 +119,7 @@ CAMLprim value caml_sys_exit(value retcode_v) if ((caml_verb_gc & 0x400) != 0) { /* cf caml_gc_counters */ double minwords = caml_stat_minor_words - + (double) (caml_young_end - caml_young_ptr); + + (double) (caml_young_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; double allocated_words = minwords + majwords - prowords; diff --git a/runtime/win32.c b/runtime/win32.c index bfe0e9ead..556f98fce 100644 --- a/runtime/win32.c +++ b/runtime/win32.c @@ -560,8 +560,6 @@ static LONG CALLBACK } #else -extern char *caml_exception_pointer; -extern value *caml_young_ptr; /* Do not use the macro from address_class.h here. */ #undef Is_in_code_area @@ -589,8 +587,7 @@ static LONG CALLBACK faulting_address = exn_info->ExceptionRecord->ExceptionInformation[1]; /* refresh runtime parameters from registers */ - caml_exception_pointer = (char *) ctx->R14; - caml_young_ptr = (value *) ctx->R15; + Caml_state->young_ptr = (value *) ctx->R15; /* call caml_reset_stack(faulting_address) using the alternate stack */ alt_rsp = win32_alt_stack + sizeof(win32_alt_stack) / sizeof(uintnat); From ddf400b1e90d9e85accf5939ff93c0e93301e0a6 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 4 Jun 2019 05:18:42 +0530 Subject: [PATCH 03/54] Destroy r11 at Itrywith --- asmcomp/amd64/proc.ml | 1 + 1 file changed, 1 insertion(+) diff --git a/asmcomp/amd64/proc.ml b/asmcomp/amd64/proc.ml index 4c3c636b5..869bbf2e2 100644 --- a/asmcomp/amd64/proc.ml +++ b/asmcomp/amd64/proc.ml @@ -325,6 +325,7 @@ let destroyed_at_oper = function | Iop (Iintop_imm(Icheckbound _, _)) when Config.spacetime -> [| loc_spacetime_node_hole |] | Iswitch(_, _) -> [| rax; rdx |] + | Itrywith _ -> [| r11 |] | _ -> if fp then (* prevent any use of the frame pointer ! *) From 8e8b34d1db8085925a667c0ff13838bb3d2f4664 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 4 Jun 2019 12:27:45 +0530 Subject: [PATCH 04/54] Reorder domain state fields --- runtime/caml/domain_state.tbl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 0e6e0c27e..aaf20420d 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -1,8 +1,8 @@ -DOMAIN_STATE(value*, young_ptr) -/* Minor heap pointer. See minor_gc.c. */ - DOMAIN_STATE(value*, young_limit) /* Minor heap limit. See minor_gc.c. */ DOMAIN_STATE(char*, exn_handler) /* Exception handler pointer that points into the current stack */ + +DOMAIN_STATE(value*, young_ptr) +/* Minor heap pointer. See minor_gc.c. */ From b212aed0cbf15aa95b43d5db08fa339d96ad05fb Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 4 Jun 2019 15:26:38 +0530 Subject: [PATCH 05/54] Make depend and fix typos --- Makefile | 3 ++- runtime/callback.c | 3 ++- runtime/caml/misc.h | 3 ++- runtime/domain.c | 6 +++--- utils/domainstate.ml.c | 15 +++++++++++++++ 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 9688a6c8d..45490789b 100644 --- a/Makefile +++ b/Makefile @@ -339,7 +339,8 @@ endif utils/domainstate.ml: utils/domainstate.ml.c runtime/caml/domain_state.tbl $(CPP) -I runtime/caml $< > $@ -utils/domainstate.mli: utils/domainstate.mli.c utils/domainstate.ml runtime/caml/domain_state.tbl +utils/domainstate.mli: utils/domainstate.mli.c utils/domainstate.ml \ + runtime/caml/domain_state.tbl $(CPP) -I runtime/caml $< > $@ .PHONY: partialclean diff --git a/runtime/callback.c b/runtime/callback.c index 3e6a7ffb3..5d514c9c8 100644 --- a/runtime/callback.c +++ b/runtime/callback.c @@ -134,7 +134,8 @@ CAMLexport value caml_callback3_exn(value closure, /* Native-code callbacks. */ -typedef value (callback_stub)(caml_domain_state* state, value closure, value* args); +typedef value (callback_stub)(caml_domain_state* state, value closure, + value* args); callback_stub caml_callback_asm, caml_callback2_asm, caml_callback3_asm; diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 3f7c71d98..9c1ef2756 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -125,7 +125,8 @@ extern caml_timing_hook caml_minor_gc_begin_hook, caml_minor_gc_end_hook; extern caml_timing_hook caml_finalise_begin_hook, caml_finalise_end_hook; #define CAML_STATIC_ASSERT_3(b, l) \ - typedef CAMLunused_start char static_assertion_failure_line_##l[(b) ? 1 : -1] CAMLunused_end + typedef CAMLunused_start \ + char static_assertion_failure_line_##l[(b) ? 1 : -1] CAMLunused_end #define CAML_STATIC_ASSERT_2(b, l) CAML_STATIC_ASSERT_3(b, l) #define CAML_STATIC_ASSERT(b) CAML_STATIC_ASSERT_2(b, __LINE__) diff --git a/runtime/domain.c b/runtime/domain.c index 2e748ed8a..4610cdbec 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -22,8 +22,8 @@ CAMLexport caml_domain_state* Caml_state; void caml_init_domain () { - Caml_state = (caml_domain_state*)caml_stat_alloc_noexc(sizeof(caml_domain_state)); - if (Caml_state == NULL) { + Caml_state = + (caml_domain_state*)caml_stat_alloc_noexc(sizeof(caml_domain_state)); + if (Caml_state == NULL) caml_fatal_error ("cannot initialize domain state"); - } } diff --git a/utils/domainstate.ml.c b/utils/domainstate.ml.c index 94746dd84..6476e490f 100644 --- a/utils/domainstate.ml.c +++ b/utils/domainstate.ml.c @@ -1,3 +1,18 @@ +/**************************************************************************/ +/* */ +/* OCaml */ +/* */ +/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. */ +/* */ +/* All rights reserved. This file is distributed under the terms of */ +/* the GNU Lesser General Public License version 2.1, with the */ +/* special exception on linking described in the file LICENSE. */ +/* */ +/**************************************************************************/ + #define CAML_CONFIG_H_NO_TYPEDEFS #include "config.h" From 765d475f518988b34ba1759ed92435bcb84a7ea8 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 5 Jun 2019 16:23:05 +0530 Subject: [PATCH 06/54] macOS support --- runtime/signals_osdep.h | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/signals_osdep.h b/runtime/signals_osdep.h index 6809138c6..9c350cffd 100644 --- a/runtime/signals_osdep.h +++ b/runtime/signals_osdep.h @@ -55,6 +55,7 @@ typedef unsigned long long context_reg; #define CONTEXT_STATE (((ucontext_t *)context)->uc_mcontext->CONTEXT_REG(ss)) + #define CONTEXT_C_ARG_1 (CONTEXT_STATE.CONTEXT_REG(rdi)) #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(rip)) #define CONTEXT_YOUNG_PTR (CONTEXT_STATE.CONTEXT_REG(r15)) #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(rsp)) From 28c5b9c86025a2e270c0d63f07a522afc86fc29f Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 6 Jun 2019 12:09:26 +0530 Subject: [PATCH 07/54] Various minor heap pointers moved to domain state --- runtime/caml/address_class.h | 3 +- runtime/caml/compatibility.h | 4 +- runtime/caml/domain_state.tbl | 13 +++- runtime/caml/minor_gc.h | 24 +++--- runtime/caml/weak.h | 2 +- runtime/compact.c | 11 ++- runtime/custom.c | 9 ++- runtime/domain.c | 15 ++++ runtime/gc_ctrl.c | 18 ++--- runtime/intern.c | 2 +- runtime/major_gc.c | 10 +-- runtime/memory.c | 8 +- runtime/memprof.c | 18 ++--- runtime/minor_gc.c | 139 ++++++++++++++++------------------ runtime/signals.c | 6 +- runtime/signals_nat.c | 4 +- runtime/sys.c | 2 +- runtime/weak.c | 2 +- 18 files changed, 154 insertions(+), 136 deletions(-) diff --git a/runtime/caml/address_class.h b/runtime/caml/address_class.h index 85e22d320..ee47a9272 100644 --- a/runtime/caml/address_class.h +++ b/runtime/caml/address_class.h @@ -27,7 +27,7 @@ #define Is_young(val) \ (CAMLassert (Is_block (val)), \ - (addr)(val) < (addr)caml_young_end && (addr)(val) > (addr)caml_young_start) + (addr)(val) < (addr)Caml_state->young_end && (addr)(val) > (addr)Caml_state->young_start) #define Is_in_heap(a) (Classify_addr(a) & In_heap) @@ -46,7 +46,6 @@ /***********************************************************************/ /* The rest of this file is private and may change without notice. */ -extern value *caml_young_start, *caml_young_end; extern char * caml_code_area_start, * caml_code_area_end; #define Not_in_heap 0 diff --git a/runtime/caml/compatibility.h b/runtime/caml/compatibility.h index 6f69380e9..841949551 100644 --- a/runtime/caml/compatibility.h +++ b/runtime/caml/compatibility.h @@ -235,8 +235,8 @@ /* **** meta.c */ /* **** minor_gc.c */ -#define young_start caml_young_start -#define young_end caml_young_end +#define young_start (caml_state->young_start) +#define young_end (Caml_state->young_end) #define young_ptr (Caml_state->young_ptr) #define young_limit (Caml_state->young_limit) #define ref_table caml_ref_table diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index aaf20420d..6ceefdc13 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -5,4 +5,15 @@ DOMAIN_STATE(char*, exn_handler) /* Exception handler pointer that points into the current stack */ DOMAIN_STATE(value*, young_ptr) -/* Minor heap pointer. See minor_gc.c. */ +DOMAIN_STATE(void*, young_base) +DOMAIN_STATE(value*, young_start) +DOMAIN_STATE(value*, young_end) +DOMAIN_STATE(value*, young_alloc_start) +DOMAIN_STATE(value*, young_alloc_end) +DOMAIN_STATE(value*, young_alloc_mid) +DOMAIN_STATE(value*, young_trigger) +DOMAIN_STATE(asize_t, minor_heap_wsz) +DOMAIN_STATE(intnat, in_minor_collection) +DOMAIN_STATE(double, extra_heap_resources_minor) +DOMAIN_STATE(struct caml_minor_tables*, minor_tables) +/* See minor_gc.c */ diff --git a/runtime/caml/minor_gc.h b/runtime/caml/minor_gc.h index ecce8cb8c..2b58f1900 100644 --- a/runtime/caml/minor_gc.h +++ b/runtime/caml/minor_gc.h @@ -20,13 +20,6 @@ #include "address_class.h" #include "config.h" -CAMLextern value *caml_young_start, *caml_young_end; -CAMLextern value *caml_young_alloc_start, *caml_young_alloc_end; -CAMLextern value *caml_young_trigger; -extern asize_t caml_minor_heap_wsz; -extern int caml_in_minor_collection; -extern double caml_extra_heap_resources_minor; - #define CAML_TABLE_STRUCT(t) { \ t *base; \ t *end; \ @@ -38,7 +31,6 @@ extern double caml_extra_heap_resources_minor; } struct caml_ref_table CAML_TABLE_STRUCT(value *); -CAMLextern struct caml_ref_table caml_ref_table; struct caml_ephe_ref_elt { value ephe; /* an ephemeron in major heap */ @@ -46,7 +38,6 @@ struct caml_ephe_ref_elt { }; struct caml_ephe_ref_table CAML_TABLE_STRUCT(struct caml_ephe_ref_elt); -CAMLextern struct caml_ephe_ref_table caml_ephe_ref_table; struct caml_custom_elt { value block; /* The finalized block in the minor heap. */ @@ -55,12 +46,22 @@ struct caml_custom_elt { }; struct caml_custom_table CAML_TABLE_STRUCT(struct caml_custom_elt); -CAMLextern struct caml_custom_table caml_custom_table; +/* Table of custom blocks in the minor heap that contain finalizers + or GC speed parameters. */ + +struct caml_minor_tables { + struct caml_ref_table ref; + struct caml_ephe_ref_table ephe_ref; + struct caml_custom_table custom; +}; extern void caml_set_minor_heap_size (asize_t); /* size in bytes */ extern void caml_empty_minor_heap (void); CAMLextern void caml_gc_dispatch (void); CAMLextern void garbage_collection (void); /* runtime/signals_nat.c */ +extern void caml_oldify_one (value, value *); +extern void caml_oldify_mopup (void); + extern void caml_realloc_ref_table (struct caml_ref_table *); extern void caml_alloc_table (struct caml_ref_table *, asize_t, asize_t); extern void caml_realloc_ephe_ref_table (struct caml_ephe_ref_table *); @@ -69,8 +70,7 @@ extern void caml_alloc_ephe_table (struct caml_ephe_ref_table *, extern void caml_realloc_custom_table (struct caml_custom_table *); extern void caml_alloc_custom_table (struct caml_custom_table *, asize_t, asize_t); -extern void caml_oldify_one (value, value *); -extern void caml_oldify_mopup (void); +struct caml_minor_tables* caml_alloc_minor_tables (void); #define Oldify(p) do{ \ value __oldify__v__ = *p; \ diff --git a/runtime/caml/weak.h b/runtime/caml/weak.h index 4479eedd5..73b624448 100644 --- a/runtime/caml/weak.h +++ b/runtime/caml/weak.h @@ -184,7 +184,7 @@ static inline void caml_ephe_clean (value v){ }else{ Field (v, i) = child = f; if (Is_block (f) && Is_young (f)) - add_to_ephe_ref_table(&caml_ephe_ref_table, v, i); + add_to_ephe_ref_table(&Caml_state->minor_tables->ephe_ref, v, i); goto ephemeron_again; } } diff --git a/runtime/compact.c b/runtime/compact.c index 1c3e18d71..f8e76a67d 100644 --- a/runtime/compact.c +++ b/runtime/compact.c @@ -429,10 +429,13 @@ void caml_compact_heap (void) uintnat target_wsz, live; CAML_INSTR_SETUP(tmr, "compact"); - CAMLassert (Caml_state->young_ptr == caml_young_alloc_end); - CAMLassert (caml_ref_table.ptr == caml_ref_table.base); - CAMLassert (caml_ephe_ref_table.ptr == caml_ephe_ref_table.base); - CAMLassert (caml_custom_table.ptr == caml_custom_table.base); + CAMLassert (Caml_state->young_ptr == Caml_state->young_alloc_end); + CAMLassert (Caml_state->minor_tables->ref.ptr == + Caml_state->minor_tables->ref.base); + CAMLassert (Caml_state->minor_tables->ephe_ref.ptr == + Caml_state->minor_tables->ephe_ref.base); + CAMLassert (Caml_state->minor_tables->custom.ptr == + Caml_state->minor_tables->custom.base); do_compaction (); CAML_INSTR_TIME (tmr, "compact/main"); diff --git a/runtime/custom.c b/runtime/custom.c index 9ec3b2223..4de0df82c 100644 --- a/runtime/custom.c +++ b/runtime/custom.c @@ -54,14 +54,15 @@ static value alloc_custom_gen (struct custom_operations * ops, } /* The remaining [mem_minor] will be counted if the block survives a minor GC */ - add_to_custom_table (&caml_custom_table, result, mem_minor, max_major); + add_to_custom_table (&Caml_state->minor_tables->custom, result, + mem_minor, max_major); /* Keep track of extra resources held by custom block in minor heap. */ if (mem_minor != 0) { if (max_minor == 0) max_minor = 1; - caml_extra_heap_resources_minor += + Caml_state->extra_heap_resources_minor += (double) mem_minor / (double) max_minor; - if (caml_extra_heap_resources_minor > 1.0) { + if (Caml_state->extra_heap_resources_minor > 1.0) { caml_request_minor_gc (); caml_gc_dispatch (); } @@ -94,7 +95,7 @@ CAMLexport value caml_alloc_custom_mem(struct custom_operations * ops, Bsize_wsize (caml_stat_heap_wsz) / 150 * caml_custom_major_ratio, mem_minor, - Bsize_wsize (caml_minor_heap_wsz) / 100 + Bsize_wsize (Caml_state->minor_heap_wsz) / 100 * caml_custom_major_ratio); } diff --git a/runtime/domain.c b/runtime/domain.c index 4610cdbec..1985b6a21 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -26,4 +26,19 @@ void caml_init_domain () (caml_domain_state*)caml_stat_alloc_noexc(sizeof(caml_domain_state)); if (Caml_state == NULL) caml_fatal_error ("cannot initialize domain state"); + + Caml_state->young_limit = NULL; + Caml_state->exn_handler = NULL; + Caml_state->young_ptr = NULL; + Caml_state->young_base = NULL; + Caml_state->young_start = NULL; + Caml_state->young_end = NULL; + Caml_state->young_alloc_start = NULL; + Caml_state->young_alloc_mid = NULL; + Caml_state->young_alloc_end = NULL; + Caml_state->young_trigger = NULL; + Caml_state->minor_heap_wsz = 0; + Caml_state->in_minor_collection = 0; + Caml_state->extra_heap_resources_minor = 0; + Caml_state->minor_tables = caml_alloc_minor_tables(); } diff --git a/runtime/gc_ctrl.c b/runtime/gc_ctrl.c index 2b4182298..10f23a56d 100644 --- a/runtime/gc_ctrl.c +++ b/runtime/gc_ctrl.c @@ -233,7 +233,7 @@ static value heap_stats (int returnstats) /* get a copy of these before allocating anything... */ double minwords = caml_stat_minor_words - + (double) (caml_young_alloc_end - Caml_state->young_ptr); + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; intnat mincoll = caml_stat_minor_collections; @@ -289,7 +289,7 @@ CAMLprim value caml_gc_quick_stat(value v) /* get a copy of these before allocating anything... */ double minwords = caml_stat_minor_words - + (double) (caml_young_alloc_end - Caml_state->young_ptr); + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; intnat mincoll = caml_stat_minor_collections; @@ -322,7 +322,7 @@ CAMLprim value caml_gc_quick_stat(value v) double caml_gc_minor_words_unboxed() { return (caml_stat_minor_words - + (double) (caml_young_alloc_end - Caml_state->young_ptr)); + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr)); } CAMLprim value caml_gc_minor_words(value v) @@ -338,7 +338,7 @@ CAMLprim value caml_gc_counters(value v) /* get a copy of these before allocating anything... */ double minwords = caml_stat_minor_words - + (double) (caml_young_alloc_end - Caml_state->young_ptr); + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; @@ -360,7 +360,7 @@ CAMLprim value caml_gc_get(value v) CAMLlocal1 (res); res = caml_alloc_tuple (11); - Store_field (res, 0, Val_long (caml_minor_heap_wsz)); /* s */ + Store_field (res, 0, Val_long (Caml_state->minor_heap_wsz)); /* s */ Store_field (res, 1, Val_long (caml_major_heap_increment)); /* i */ Store_field (res, 2, Val_long (caml_percent_free)); /* o */ Store_field (res, 3, Val_long (caml_verb_gc)); /* v */ @@ -501,7 +501,7 @@ CAMLprim value caml_gc_set(value v) /* Minor heap size comes last because it will trigger a minor collection (thus invalidating [v]) and it can raise [Out_of_memory]. */ newminwsz = norm_minsize (Long_val (Field (v, 0))); - if (newminwsz != caml_minor_heap_wsz){ + if (newminwsz != Caml_state->minor_heap_wsz){ caml_gc_message (0x20, "New minor heap size: %" ARCH_SIZET_PRINTF_FORMAT "uk words\n", newminwsz / 1024); caml_set_minor_heap_size (Bsize_wsize (newminwsz)); @@ -592,7 +592,7 @@ CAMLprim value caml_gc_compaction(value v) CAMLprim value caml_get_minor_free (value v) { - return Val_int (Caml_state->young_ptr - caml_young_alloc_start); + return Val_int (Caml_state->young_ptr - Caml_state->young_alloc_start); } CAMLprim value caml_get_major_bucket (value v) @@ -652,7 +652,7 @@ void caml_init_gc (uintnat minor_size, uintnat major_size, caml_custom_minor_max_bsz = custom_bsz; caml_gc_message (0x20, "Initial minor heap size: %" ARCH_SIZET_PRINTF_FORMAT "uk words\n", - caml_minor_heap_wsz / 1024); + Caml_state->minor_heap_wsz / 1024); caml_gc_message (0x20, "Initial major heap size: %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", major_heap_size / 1024); @@ -715,7 +715,7 @@ CAMLprim value caml_runtime_parameters (value unit) /* O */ caml_percent_max, /* p */ caml_parser_trace, /* R */ /* missing */ - /* s */ caml_minor_heap_wsz, + /* s */ Caml_state->minor_heap_wsz, /* t */ caml_trace_level, /* v */ caml_verb_gc, /* w */ caml_major_window, diff --git a/runtime/intern.c b/runtime/intern.c index f43999057..dd3b512ff 100644 --- a/runtime/intern.c +++ b/runtime/intern.c @@ -573,7 +573,7 @@ static void intern_rec(value *dest) if (ops->finalize != NULL && Is_young(v)) { /* Remember that the block has a finalizer. */ - add_to_custom_table (&caml_custom_table, v, 0, 1); + add_to_custom_table (&Caml_state->minor_tables->custom, v, 0, 1); } intern_dest += 1 + size; diff --git a/runtime/major_gc.c b/runtime/major_gc.c index ed9f43784..e1769ebb1 100644 --- a/runtime/major_gc.c +++ b/runtime/major_gc.c @@ -270,10 +270,10 @@ static inline value* mark_slice_darken(value *gray_vals_ptr, /* The variable child is not changed because it must be mark alive */ Field (v, i) = f; if (Is_block (f) && Is_young (f) && !Is_young (child)){ - if(in_ephemeron){ - add_to_ephe_ref_table (&caml_ephe_ref_table, v, i); - }else{ - add_to_ref_table (&caml_ref_table, &Field (v, i)); + if(in_ephemeron) { + add_to_ephe_ref_table (&Caml_state->minor_tables->ephe_ref, v, i); + } else { + add_to_ref_table (&Caml_state->minor_tables->ref, &Field (v, i)); } } } @@ -764,7 +764,7 @@ void caml_major_collection_slice (intnat howmuch) (intnat) (p * 1000000)); if (caml_gc_phase == Phase_idle){ - if (Caml_state->young_ptr == caml_young_alloc_end){ + if (Caml_state->young_ptr == Caml_state->young_alloc_end){ /* We can only start a major GC cycle if the minor allocation arena is empty, otherwise we'd have to treat it as a set of roots. */ start_cycle (); diff --git a/runtime/memory.c b/runtime/memory.c index 830c8f084..e49eeba10 100644 --- a/runtime/memory.c +++ b/runtime/memory.c @@ -496,7 +496,7 @@ static inline value caml_alloc_shr_aux (mlsize_t wosize, tag_t tag, int track, if (new_block == NULL) { if (!raise_oom) return 0; - else if (caml_in_minor_collection) + else if (Caml_state->in_minor_collection) caml_fatal_error ("out of memory"); else caml_raise_out_of_memory (); @@ -521,7 +521,7 @@ static inline value caml_alloc_shr_aux (mlsize_t wosize, tag_t tag, int track, == Make_header_with_profinfo (wosize, tag, caml_allocation_color (hp), profinfo)); caml_allocated_words += Whsize_wosize (wosize); - if (caml_allocated_words > caml_minor_heap_wsz){ + if (caml_allocated_words > Caml_state->minor_heap_wsz){ CAML_INSTR_INT ("request_major/alloc_shr@", 1); caml_request_major_slice (); } @@ -648,7 +648,7 @@ CAMLexport CAMLweakdef void caml_initialize (value *fp, value val) CAMLassert(Is_in_heap_or_young(fp)); *fp = val; if (!Is_young((value)fp) && Is_block (val) && Is_young (val)) { - add_to_ref_table (&caml_ref_table, fp); + add_to_ref_table (&Caml_state->minor_tables->ref, fp); } } @@ -701,7 +701,7 @@ CAMLexport CAMLweakdef void caml_modify (value *fp, value val) } /* Check for condition 1. */ if (Is_block(val) && Is_young(val)) { - add_to_ref_table (&caml_ref_table, fp); + add_to_ref_table (&Caml_state->minor_tables->ref, fp); } } } diff --git a/runtime/memprof.c b/runtime/memprof.c index 5937215e7..d0d6db78d 100644 --- a/runtime/memprof.c +++ b/runtime/memprof.c @@ -45,7 +45,7 @@ static intnat callstack_size = 0; static value memprof_callback = Val_unit; /* Pointer to the word following the next sample in the minor - heap. Equals [caml_young_alloc_start] if no sampling is planned in + heap. Equals [Caml_state->young_alloc_start] if no sampling is planned in the current minor heap. Invariant: [caml_memprof_young_trigger <= Caml_state->young_ptr]. */ @@ -380,10 +380,10 @@ void caml_memprof_track_alloc_shr(value block) heap. */ static void shift_sample(uintnat n) { - if (caml_memprof_young_trigger - caml_young_alloc_start > n) + if (caml_memprof_young_trigger - Caml_state->young_alloc_start > n) caml_memprof_young_trigger -= n; else - caml_memprof_young_trigger = caml_young_alloc_start; + caml_memprof_young_trigger = Caml_state->young_alloc_start; caml_update_young_limit(); } @@ -397,12 +397,12 @@ void caml_memprof_renew_minor_sample(void) { if (lambda == 0) /* No trigger in the current minor heap. */ - caml_memprof_young_trigger = caml_young_alloc_start; + caml_memprof_young_trigger = Caml_state->young_alloc_start; else { uintnat geom = mt_generate_geom(); - if(Caml_state->young_ptr - caml_young_alloc_start < geom) + if(Caml_state->young_ptr - Caml_state->young_alloc_start < geom) /* No trigger in the current minor heap. */ - caml_memprof_young_trigger = caml_young_alloc_start; + caml_memprof_young_trigger = Caml_state->young_alloc_start; caml_memprof_young_trigger = Caml_state->young_ptr - (geom - 1); } @@ -425,8 +425,8 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) } /* If [lambda == 0], then [caml_memprof_young_trigger] should be - equal to [caml_young_alloc_start]. But this function is only - called with [caml_young_alloc_start <= Caml_state->young_ptr < + equal to [Caml_state->young_alloc_start]. But this function is only + called with [Caml_state->young_alloc_start <= Caml_state->young_ptr < caml_memprof_young_trigger], which is contradictory. */ CAMLassert(lambda > 0); @@ -460,7 +460,7 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) /* We can now restore the minor heap in the state needed by [Alloc_small_aux]. */ - if (Caml_state->young_ptr - whsize < caml_young_trigger) { + if (Caml_state->young_ptr - whsize < Caml_state->young_trigger) { CAML_INSTR_INT ("force_minor/memprof@", 1); caml_gc_dispatch(); } diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index 2aae465af..5a05e9c88 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -32,53 +32,40 @@ #include "caml/weak.h" /* Pointers into the minor heap. - [caml_young_base] + [Caml_state->young_base] The [malloc] block that contains the heap. - [caml_young_start] ... [caml_young_end] + [Caml_state->young_start] ... [Caml_state->young_end] The whole range of the minor heap: all young blocks are inside this interval. - [caml_young_alloc_start]...[caml_young_alloc_end] + [Caml_state->young_alloc_start]...[Caml_state->young_alloc_end] The allocation arena: newly-allocated blocks are carved from - this interval, starting at [caml_young_alloc_end]. - [caml_young_alloc_mid] is the mid-point of this interval. - [Caml_state->young_ptr], [caml_young_trigger], [Caml_state->young_limit] + this interval, starting at [Caml_state->young_alloc_end]. + [Caml_state->young_alloc_mid] is the mid-point of this interval. + [Caml_state->young_ptr], [Caml_state->young_trigger], [Caml_state->young_limit] These pointers are all inside the allocation arena. - [Caml_state->young_ptr] is where the next allocation will take place. - - [caml_young_trigger] is how far we can allocate before triggering - [caml_gc_dispatch]. Currently, it is either [caml_young_alloc_start] + - [Caml_state->young_trigger] is how far we can allocate before triggering + [caml_gc_dispatch]. Currently, it is either [Caml_state->young_alloc_start] or the mid-point of the allocation arena. - [Caml_state->young_limit] is the pointer that is compared to [Caml_state->young_ptr] for allocation. It is either: - + [caml_young_alloc_end] if a signal is pending and we are in + + [Caml_state->young_alloc_end] if a signal is pending and we are in native code, + [caml_memprof_young_trigger] if a memprof sample is planned, - + or [caml_young_trigger]. + + or [Caml_state->young_trigger]. */ struct generic_table CAML_TABLE_STRUCT(char); -asize_t caml_minor_heap_wsz; -static void *caml_young_base = NULL; -CAMLexport value *caml_young_start = NULL, *caml_young_end = NULL; -CAMLexport value *caml_young_alloc_start = NULL, - *caml_young_alloc_mid = NULL, - *caml_young_alloc_end = NULL; -CAMLexport value *caml_young_trigger = NULL; - -CAMLexport struct caml_ref_table - caml_ref_table = { NULL, NULL, NULL, NULL, NULL, 0, 0}; - -CAMLexport struct caml_ephe_ref_table - caml_ephe_ref_table = { NULL, NULL, NULL, NULL, NULL, 0, 0}; - -CAMLexport struct caml_custom_table - caml_custom_table = { NULL, NULL, NULL, NULL, NULL, 0, 0}; -/* Table of custom blocks in the minor heap that contain finalizers - or GC speed parameters. */ - -int caml_in_minor_collection = 0; - -double caml_extra_heap_resources_minor = 0; +struct caml_minor_tables* caml_alloc_minor_tables () +{ + struct caml_minor_tables* t = + caml_stat_alloc_noexc(sizeof(struct caml_minor_tables)); + if (t == NULL) + caml_fatal_error ("cannot initialize minor heap"); + memset(t, 0, sizeof(*t)); + return t; +} /* [sz] and [rsv] are numbers of entries */ static void alloc_generic_table (struct generic_table *tbl, asize_t sz, @@ -140,38 +127,38 @@ void caml_set_minor_heap_size (asize_t bsz) CAMLassert (bsz >= Bsize_wsize(Minor_heap_min)); CAMLassert (bsz <= Bsize_wsize(Minor_heap_max)); CAMLassert (bsz % sizeof (value) == 0); - if (Caml_state->young_ptr != caml_young_alloc_end){ + if (Caml_state->young_ptr != Caml_state->young_alloc_end){ CAML_INSTR_INT ("force_minor/set_minor_heap_size@", 1); caml_requested_minor_gc = 0; - caml_young_trigger = caml_young_alloc_mid; + Caml_state->young_trigger = Caml_state->young_alloc_mid; caml_update_young_limit(); caml_empty_minor_heap (); } - CAMLassert (Caml_state->young_ptr == caml_young_alloc_end); + CAMLassert (Caml_state->young_ptr == Caml_state->young_alloc_end); new_heap = caml_stat_alloc_aligned_noexc(bsz, 0, &new_heap_base); if (new_heap == NULL) caml_raise_out_of_memory(); if (caml_page_table_add(In_young, new_heap, new_heap + bsz) != 0) caml_raise_out_of_memory(); - if (caml_young_start != NULL){ - caml_page_table_remove(In_young, caml_young_start, caml_young_end); - caml_stat_free (caml_young_base); + if (Caml_state->young_start != NULL){ + caml_page_table_remove(In_young, Caml_state->young_start, Caml_state->young_end); + caml_stat_free (Caml_state->young_base); } - caml_young_base = new_heap_base; - caml_young_start = (value *) new_heap; - caml_young_end = (value *) (new_heap + bsz); - caml_young_alloc_start = caml_young_start; - caml_young_alloc_mid = caml_young_alloc_start + Wsize_bsize (bsz) / 2; - caml_young_alloc_end = caml_young_end; - caml_young_trigger = caml_young_alloc_start; + Caml_state->young_base = new_heap_base; + Caml_state->young_start = (value *) new_heap; + Caml_state->young_end = (value *) (new_heap + bsz); + Caml_state->young_alloc_start = Caml_state->young_start; + Caml_state->young_alloc_mid = Caml_state->young_alloc_start + Wsize_bsize (bsz) / 2; + Caml_state->young_alloc_end = Caml_state->young_end; + Caml_state->young_trigger = Caml_state->young_alloc_start; caml_update_young_limit(); - Caml_state->young_ptr = caml_young_alloc_end; - caml_minor_heap_wsz = Wsize_bsize (bsz); + Caml_state->young_ptr = Caml_state->young_alloc_end; + Caml_state->minor_heap_wsz = Wsize_bsize (bsz); caml_memprof_renew_minor_sample(); - reset_table ((struct generic_table *) &caml_ref_table); - reset_table ((struct generic_table *) &caml_ephe_ref_table); - reset_table ((struct generic_table *) &caml_custom_table); + reset_table ((struct generic_table *) &Caml_state->minor_tables->ref); + reset_table ((struct generic_table *) &Caml_state->minor_tables->ephe_ref); + reset_table ((struct generic_table *) &Caml_state->minor_tables->custom); } static value oldify_todo_list = 0; @@ -314,8 +301,8 @@ void caml_oldify_mopup (void) /* Oldify the data in the minor heap of alive ephemeron During minor collection keys outside the minor heap are considered alive */ - for (re = caml_ephe_ref_table.base; - re < caml_ephe_ref_table.ptr; re++){ + for (re = Caml_state->minor_tables->ephe_ref.base; + re < Caml_state->minor_tables->ephe_ref.ptr; re++){ /* look only at ephemeron with data in the minor heap */ if (re->offset == 1){ value *data = &Field(re->ephe,1); @@ -345,23 +332,24 @@ void caml_empty_minor_heap (void) uintnat prev_alloc_words; struct caml_ephe_ref_elt *re; - if (Caml_state->young_ptr != caml_young_alloc_end){ + if (Caml_state->young_ptr != Caml_state->young_alloc_end){ if (caml_minor_gc_begin_hook != NULL) (*caml_minor_gc_begin_hook) (); CAML_INSTR_SETUP (tmr, "minor"); prev_alloc_words = caml_allocated_words; - caml_in_minor_collection = 1; + Caml_state->in_minor_collection = 1; caml_gc_message (0x02, "<"); caml_oldify_local_roots(); CAML_INSTR_TIME (tmr, "minor/local_roots"); - for (r = caml_ref_table.base; r < caml_ref_table.ptr; r++){ + for (r = Caml_state->minor_tables->ref.base; + r < Caml_state->minor_tables->ref.ptr; r++) { caml_oldify_one (**r, *r); } CAML_INSTR_TIME (tmr, "minor/ref_table"); caml_oldify_mopup (); CAML_INSTR_TIME (tmr, "minor/copy"); /* Update the ephemerons */ - for (re = caml_ephe_ref_table.base; - re < caml_ephe_ref_table.ptr; re++){ + for (re = Caml_state->minor_tables->ephe_ref.base; + re < Caml_state->minor_tables->ephe_ref.ptr; re++){ if(re->offset < Wosize_val(re->ephe)){ /* If it is not the case, the ephemeron has been truncated */ value *key = &Field(re->ephe,re->offset); @@ -379,7 +367,8 @@ void caml_empty_minor_heap (void) /* Update the OCaml finalise_last values */ caml_final_update_minor_roots(); /* Run custom block finalisation of dead minor values */ - for (elt = caml_custom_table.base; elt < caml_custom_table.ptr; elt++){ + for (elt = Caml_state->minor_tables->custom.base; + elt < Caml_state->minor_tables->custom.ptr; elt++){ value v = elt->block; if (Hd_val (v) == 0){ /* Block was copied to the major heap: adjust GC speed numbers. */ @@ -391,16 +380,16 @@ void caml_empty_minor_heap (void) } } CAML_INSTR_TIME (tmr, "minor/update_weak"); - caml_stat_minor_words += caml_young_alloc_end - Caml_state->young_ptr; - caml_gc_clock += (double) (caml_young_alloc_end - Caml_state->young_ptr) - / caml_minor_heap_wsz; - Caml_state->young_ptr = caml_young_alloc_end; - clear_table ((struct generic_table *) &caml_ref_table); - clear_table ((struct generic_table *) &caml_ephe_ref_table); - clear_table ((struct generic_table *) &caml_custom_table); - caml_extra_heap_resources_minor = 0; + caml_stat_minor_words += Caml_state->young_alloc_end - Caml_state->young_ptr; + caml_gc_clock += (double) (Caml_state->young_alloc_end - Caml_state->young_ptr) + / Caml_state->minor_heap_wsz; + Caml_state->young_ptr = Caml_state->young_alloc_end; + clear_table ((struct generic_table *) &Caml_state->minor_tables->ref); + clear_table ((struct generic_table *) &Caml_state->minor_tables->ephe_ref); + clear_table ((struct generic_table *) &Caml_state->minor_tables->custom); + Caml_state->extra_heap_resources_minor = 0; caml_gc_message (0x02, ">"); - caml_in_minor_collection = 0; + Caml_state->in_minor_collection = 0; caml_final_empty_young (); CAML_INSTR_TIME (tmr, "minor/finalized"); caml_stat_promoted_words += caml_allocated_words - prev_alloc_words; @@ -415,7 +404,7 @@ void caml_empty_minor_heap (void) #ifdef DEBUG { value *p; - for (p = caml_young_alloc_start; p < caml_young_alloc_end; ++p){ + for (p = Caml_state->young_alloc_start; p < Caml_state->young_alloc_end; ++p){ *p = Debug_free_minor; } } @@ -433,7 +422,7 @@ extern uintnat caml_instr_alloc_jump; */ CAMLexport void caml_gc_dispatch (void) { - value *trigger = caml_young_trigger; /* save old value of trigger */ + value *trigger = Caml_state->young_trigger; /* save old value of trigger */ #ifdef CAML_INSTR CAML_INSTR_SETUP(tmr, "dispatch"); CAML_INSTR_TIME (tmr, "overhead"); @@ -441,21 +430,21 @@ CAMLexport void caml_gc_dispatch (void) caml_instr_alloc_jump = 0; #endif - if (trigger == caml_young_alloc_start || caml_requested_minor_gc){ + if (trigger == Caml_state->young_alloc_start || caml_requested_minor_gc){ /* The minor heap is full, we must do a minor collection. */ /* reset the pointers first because the end hooks might allocate */ caml_requested_minor_gc = 0; - caml_young_trigger = caml_young_alloc_mid; + Caml_state->young_trigger = Caml_state->young_alloc_mid; caml_update_young_limit(); caml_empty_minor_heap (); /* The minor heap is empty, we can start a major collection. */ if (caml_gc_phase == Phase_idle) caml_major_collection_slice (-1); CAML_INSTR_TIME (tmr, "dispatch/minor"); } - if (trigger != caml_young_alloc_start || caml_requested_major_slice){ + if (trigger != Caml_state->young_alloc_start || caml_requested_major_slice){ /* The minor heap is half-full, do a major GC slice. */ caml_requested_major_slice = 0; - caml_young_trigger = caml_young_alloc_start; + Caml_state->young_trigger = Caml_state->young_alloc_start; caml_update_young_limit(); caml_major_collection_slice (-1); CAML_INSTR_TIME (tmr, "dispatch/major"); @@ -468,7 +457,7 @@ void caml_alloc_small_dispatch (tag_t tag, intnat wosize, int flags) { /* Async callbacks may fill the minor heap again, so we need a while loop here. */ - while (Caml_state->young_ptr < caml_young_trigger){ + while (Caml_state->young_ptr < Caml_state->young_trigger){ Caml_state->young_ptr += Whsize_wosize (wosize); CAML_INSTR_INT ("force_minor/alloc_small@", 1); caml_gc_dispatch (); @@ -508,7 +497,7 @@ static void realloc_generic_table CAMLassert (tbl->limit >= tbl->threshold); if (tbl->base == NULL){ - alloc_generic_table (tbl, caml_minor_heap_wsz / 8, 256, + alloc_generic_table (tbl, Caml_state->minor_heap_wsz / 8, 256, element_size); }else if (tbl->limit == tbl->threshold){ CAML_INSTR_INT (msg_intr_int, 1); diff --git a/runtime/signals.c b/runtime/signals.c index 4264be79e..b944e5e56 100644 --- a/runtime/signals.c +++ b/runtime/signals.c @@ -265,12 +265,12 @@ void caml_execute_signal(int signal_number, int in_signal_handler) void caml_update_young_limit (void) { /* The minor heap grows downwards. The first trigger is the largest one. */ - Caml_state->young_limit = caml_memprof_young_trigger < caml_young_trigger ? - caml_young_trigger : caml_memprof_young_trigger; + Caml_state->young_limit = caml_memprof_young_trigger < Caml_state->young_trigger ? + Caml_state->young_trigger : caml_memprof_young_trigger; #ifdef NATIVE_CODE if(caml_something_to_do) - Caml_state->young_limit = caml_young_alloc_end; + Caml_state->young_limit = Caml_state->young_alloc_end; #endif } diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index baf70fe76..6d9495a87 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -87,12 +87,12 @@ void caml_garbage_collection(void) */ caml_memprof_renew_minor_sample(); if (caml_requested_major_slice || caml_requested_minor_gc || - Caml_state->young_ptr - caml_young_trigger < Max_young_whsize){ + Caml_state->young_ptr - Caml_state->young_trigger < Max_young_whsize){ caml_gc_dispatch (); } #ifdef WITH_SPACETIME - if (Caml_state->young_ptr == caml_young_alloc_end) { + if (Caml_state->young_ptr == Caml_state->young_alloc_end) { caml_spacetime_automatic_snapshot(); } #endif diff --git a/runtime/sys.c b/runtime/sys.c index 11cc61e3a..87544ac20 100644 --- a/runtime/sys.c +++ b/runtime/sys.c @@ -119,7 +119,7 @@ CAMLprim value caml_sys_exit(value retcode_v) if ((caml_verb_gc & 0x400) != 0) { /* cf caml_gc_counters */ double minwords = caml_stat_minor_words - + (double) (caml_young_end - Caml_state->young_ptr); + + (double) (Caml_state->young_end - Caml_state->young_ptr); double prowords = caml_stat_promoted_words; double majwords = caml_stat_major_words + (double) caml_allocated_words; double allocated_words = minwords + majwords - prowords; diff --git a/runtime/weak.c b/runtime/weak.c index 65e791151..54ee5842b 100644 --- a/runtime/weak.c +++ b/runtime/weak.c @@ -189,7 +189,7 @@ static void do_set (value ar, mlsize_t offset, value v) value old = Field (ar, offset); Field (ar, offset) = v; if (!(Is_block (old) && Is_young (old))){ - add_to_ephe_ref_table (&caml_ephe_ref_table, ar, offset); + add_to_ephe_ref_table (&Caml_state->minor_tables->ephe_ref, ar, offset); } }else{ Field (ar, offset) = v; From 755f5444f1a8913b2cb1256b6700eb859f0edeb6 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 7 Jun 2019 10:30:47 +0530 Subject: [PATCH 08/54] Move all statistics variables to domain state --- runtime/caml/domain_state.tbl | 11 +++++++ runtime/caml/gc_ctrl.h | 13 -------- runtime/caml/misc.h | 19 ++++++----- runtime/compact.c | 34 ++++++++++---------- runtime/custom.c | 2 +- runtime/domain.c | 11 +++++++ runtime/gc_ctrl.c | 59 ++++++++++++++--------------------- runtime/major_gc.c | 48 ++++++++++++++-------------- runtime/memory.c | 16 +++++----- runtime/minor_gc.c | 6 ++-- runtime/sys.c | 18 +++++------ 11 files changed, 117 insertions(+), 120 deletions(-) diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 6ceefdc13..b441da862 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -17,3 +17,14 @@ DOMAIN_STATE(intnat, in_minor_collection) DOMAIN_STATE(double, extra_heap_resources_minor) DOMAIN_STATE(struct caml_minor_tables*, minor_tables) /* See minor_gc.c */ + +DOMAIN_STATE(double, stat_minor_words) +DOMAIN_STATE(double, stat_promoted_words) +DOMAIN_STATE(double, stat_major_words) +DOMAIN_STATE(intnat, stat_minor_collections) +DOMAIN_STATE(intnat, stat_major_collections) +DOMAIN_STATE(intnat, stat_heap_wsz) +DOMAIN_STATE(intnat, stat_top_heap_wsz) +DOMAIN_STATE(intnat, stat_compactions) +DOMAIN_STATE(intnat, stat_heap_chunks) +/* See gc_ctrl.c */ diff --git a/runtime/caml/gc_ctrl.h b/runtime/caml/gc_ctrl.h index aeff1ec8c..38e02c52a 100644 --- a/runtime/caml/gc_ctrl.h +++ b/runtime/caml/gc_ctrl.h @@ -20,19 +20,6 @@ #include "misc.h" -extern double - caml_stat_minor_words, - caml_stat_promoted_words, - caml_stat_major_words; - -extern intnat - caml_stat_minor_collections, - caml_stat_major_collections, - caml_stat_heap_wsz, - caml_stat_top_heap_wsz, - caml_stat_compactions, - caml_stat_heap_chunks; - uintnat caml_normalize_heap_increment (uintnat); /* diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 9c1ef2756..499441645 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -388,7 +388,6 @@ extern int caml_snprintf(char * buf, size_t size, const char * format, ...); #include #include -extern intnat caml_stat_minor_collections; extern intnat caml_instr_starttime, caml_instr_stoptime; struct caml_instr_block { @@ -406,15 +405,15 @@ extern struct caml_instr_block *caml_instr_log; /* Allocate the data block for a given name. [t] must have been declared with [CAML_INSTR_DECLARE]. */ -#define CAML_INSTR_ALLOC(t) do{ \ - if (caml_stat_minor_collections >= caml_instr_starttime \ - && caml_stat_minor_collections < caml_instr_stoptime){ \ - t = caml_stat_alloc_noexc (sizeof (struct caml_instr_block)); \ - t->index = 0; \ - t->tag[0] = ""; \ - t->next = caml_instr_log; \ - caml_instr_log = t; \ - } \ +#define CAML_INSTR_ALLOC(t) do{ \ + if (Caml_state->stat_minor_collections >= caml_instr_starttime \ + && Caml_state->stat_minor_collections < caml_instr_stoptime){ \ + t = caml_stat_alloc_noexc (sizeof (struct caml_instr_block)); \ + t->index = 0; \ + t->tag[0] = ""; \ + t->next = caml_instr_log; \ + caml_instr_log = t; \ + } \ }while(0) /* Allocate the data block and start the timer. diff --git a/runtime/compact.c b/runtime/compact.c index f8e76a67d..3291c2880 100644 --- a/runtime/compact.c +++ b/runtime/compact.c @@ -418,7 +418,7 @@ static void do_compaction (void) ch = Chunk_next (ch); } } - ++ caml_stat_compactions; + ++ Caml_state->stat_compactions; caml_gc_message (0x10, "done.\n"); } @@ -464,18 +464,18 @@ void caml_compact_heap (void) We recompact if target_wsz < heap_size / 2 */ - live = caml_stat_heap_wsz - caml_fl_cur_wsz; + live = Caml_state->stat_heap_wsz - caml_fl_cur_wsz; target_wsz = live + caml_percent_free * (live / 100 + 1) + Wsize_bsize (Page_size); target_wsz = caml_clip_heap_chunk_wsz (target_wsz); #ifdef HAS_HUGE_PAGES if (caml_use_huge_pages - && Bsize_wsize (caml_stat_heap_wsz) <= HUGE_PAGE_SIZE) + && Bsize_wsize (Caml_state->stat_heap_wsz) <= HUGE_PAGE_SIZE) return; #endif - if (target_wsz < caml_stat_heap_wsz / 2){ + if (target_wsz < Caml_state->stat_heap_wsz / 2){ /* Recompact. */ char *chunk; @@ -495,15 +495,15 @@ void caml_compact_heap (void) } Chunk_next (chunk) = caml_heap_start; caml_heap_start = chunk; - ++ caml_stat_heap_chunks; - caml_stat_heap_wsz += Wsize_bsize (Chunk_size (chunk)); - if (caml_stat_heap_wsz > caml_stat_top_heap_wsz){ - caml_stat_top_heap_wsz = caml_stat_heap_wsz; + ++ Caml_state->stat_heap_chunks; + Caml_state->stat_heap_wsz += Wsize_bsize (Chunk_size (chunk)); + if (Caml_state->stat_heap_wsz > Caml_state->stat_top_heap_wsz){ + Caml_state->stat_top_heap_wsz = Caml_state->stat_heap_wsz; } do_compaction (); - CAMLassert (caml_stat_heap_chunks == 1); + CAMLassert (Caml_state->stat_heap_chunks == 1); CAMLassert (Chunk_next (caml_heap_start) == NULL); - CAMLassert (caml_stat_heap_wsz == Wsize_bsize (Chunk_size (chunk))); + CAMLassert (Caml_state->stat_heap_wsz == Wsize_bsize (Chunk_size (chunk))); CAML_INSTR_TIME (tmr, "compact/recompact"); } } @@ -514,29 +514,29 @@ void caml_compact_heap_maybe (void) FW = fl_size_at_phase_change + 3 * (caml_fl_cur_wsz - caml_fl_wsz_at_phase_change) FW = 3 * caml_fl_cur_wsz - 2 * caml_fl_wsz_at_phase_change - Estimated live words: LW = caml_stat_heap_wsz - FW + Estimated live words: LW = Caml_state->stat_heap_wsz - FW Estimated free percentage: FP = 100 * FW / LW We compact the heap if FP > caml_percent_max */ double fw, fp; CAMLassert (caml_gc_phase == Phase_idle); if (caml_percent_max >= 1000000) return; - if (caml_stat_major_collections < 3) return; - if (caml_stat_heap_wsz <= 2 * caml_clip_heap_chunk_wsz (0)) return; + if (Caml_state->stat_major_collections < 3) return; + if (Caml_state->stat_heap_wsz <= 2 * caml_clip_heap_chunk_wsz (0)) return; #ifdef HAS_HUGE_PAGES if (caml_use_huge_pages - && Bsize_wsize (caml_stat_heap_wsz) <= HUGE_PAGE_SIZE) + && Bsize_wsize (Caml_state->stat_heap_wsz) <= HUGE_PAGE_SIZE) return; #endif fw = 3.0 * caml_fl_cur_wsz - 2.0 * caml_fl_wsz_at_phase_change; if (fw < 0) fw = caml_fl_cur_wsz; - if (fw >= caml_stat_heap_wsz){ + if (fw >= Caml_state->stat_heap_wsz){ fp = 1000000.0; }else{ - fp = 100.0 * fw / (caml_stat_heap_wsz - fw); + fp = 100.0 * fw / (Caml_state->stat_heap_wsz - fw); if (fp > 1000000.0) fp = 1000000.0; } caml_gc_message (0x200, "FL size at phase change = %" @@ -554,7 +554,7 @@ void caml_compact_heap_maybe (void) caml_finish_major_cycle (); fw = caml_fl_cur_wsz; - fp = 100.0 * fw / (caml_stat_heap_wsz - fw); + fp = 100.0 * fw / (Caml_state->stat_heap_wsz - fw); caml_gc_message (0x200, "Measured overhead: %" ARCH_INTNAT_PRINTF_FORMAT "u%%\n", (uintnat) fp); diff --git a/runtime/custom.c b/runtime/custom.c index 4de0df82c..5342b5678 100644 --- a/runtime/custom.c +++ b/runtime/custom.c @@ -92,7 +92,7 @@ CAMLexport value caml_alloc_custom_mem(struct custom_operations * ops, mlsize_t mem_minor = mem < caml_custom_minor_max_bsz ? mem : caml_custom_minor_max_bsz; return alloc_custom_gen (ops, bsz, mem, - Bsize_wsize (caml_stat_heap_wsz) / 150 + Bsize_wsize (Caml_state->stat_heap_wsz) / 150 * caml_custom_major_ratio, mem_minor, Bsize_wsize (Caml_state->minor_heap_wsz) / 100 diff --git a/runtime/domain.c b/runtime/domain.c index 1985b6a21..c98819c23 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -29,6 +29,7 @@ void caml_init_domain () Caml_state->young_limit = NULL; Caml_state->exn_handler = NULL; + Caml_state->young_ptr = NULL; Caml_state->young_base = NULL; Caml_state->young_start = NULL; @@ -41,4 +42,14 @@ void caml_init_domain () Caml_state->in_minor_collection = 0; Caml_state->extra_heap_resources_minor = 0; Caml_state->minor_tables = caml_alloc_minor_tables(); + + Caml_state->stat_minor_words = 0.0; + Caml_state->stat_promoted_words = 0.0; + Caml_state->stat_major_words = 0.0; + Caml_state->stat_minor_collections = 0; + Caml_state->stat_major_collections = 0; + Caml_state->stat_heap_wsz = 0; + Caml_state->stat_top_heap_wsz = 0; + Caml_state->stat_compactions = 0; + Caml_state->stat_heap_chunks = 0; } diff --git a/runtime/gc_ctrl.c b/runtime/gc_ctrl.c index 10f23a56d..a3675b9c1 100644 --- a/runtime/gc_ctrl.c +++ b/runtime/gc_ctrl.c @@ -41,17 +41,6 @@ extern uintnat caml_max_stack_size; /* defined in stacks.c */ #endif -double caml_stat_minor_words = 0.0, - caml_stat_promoted_words = 0.0, - caml_stat_major_words = 0.0; - -intnat caml_stat_minor_collections = 0, - caml_stat_major_collections = 0, - caml_stat_heap_wsz = 0, - caml_stat_top_heap_wsz = 0, - caml_stat_compactions = 0, - caml_stat_heap_chunks = 0; - extern uintnat caml_major_heap_increment; /* percent or words; see major_gc.c */ extern uintnat caml_percent_free; /* see major_gc.c */ extern uintnat caml_percent_max; /* see compact.c */ @@ -225,22 +214,22 @@ static value heap_stats (int returnstats) caml_final_invariant_check(); #endif - CAMLassert (heap_chunks == caml_stat_heap_chunks); - CAMLassert (live_words + free_words + fragments == caml_stat_heap_wsz); + CAMLassert (heap_chunks == Caml_state->stat_heap_chunks); + CAMLassert (live_words + free_words + fragments == Caml_state->stat_heap_wsz); if (returnstats){ CAMLlocal1 (res); /* get a copy of these before allocating anything... */ - double minwords = caml_stat_minor_words + double minwords = Caml_state->stat_minor_words + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); - double prowords = caml_stat_promoted_words; - double majwords = caml_stat_major_words + (double) caml_allocated_words; - intnat mincoll = caml_stat_minor_collections; - intnat majcoll = caml_stat_major_collections; - intnat heap_words = caml_stat_heap_wsz; - intnat cpct = caml_stat_compactions; - intnat top_heap_words = caml_stat_top_heap_wsz; + double prowords = Caml_state->stat_promoted_words; + double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; + intnat mincoll = Caml_state->stat_minor_collections; + intnat majcoll = Caml_state->stat_major_collections; + intnat heap_words = Caml_state->stat_heap_wsz; + intnat cpct = Caml_state->stat_compactions; + intnat top_heap_words = Caml_state->stat_top_heap_wsz; res = caml_alloc_tuple (16); Store_field (res, 0, caml_copy_double (minwords)); @@ -288,16 +277,16 @@ CAMLprim value caml_gc_quick_stat(value v) CAMLlocal1 (res); /* get a copy of these before allocating anything... */ - double minwords = caml_stat_minor_words + double minwords = Caml_state->stat_minor_words + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); - double prowords = caml_stat_promoted_words; - double majwords = caml_stat_major_words + (double) caml_allocated_words; - intnat mincoll = caml_stat_minor_collections; - intnat majcoll = caml_stat_major_collections; - intnat heap_words = caml_stat_heap_wsz; - intnat top_heap_words = caml_stat_top_heap_wsz; - intnat cpct = caml_stat_compactions; - intnat heap_chunks = caml_stat_heap_chunks; + double prowords = Caml_state->stat_promoted_words; + double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; + intnat mincoll = Caml_state->stat_minor_collections; + intnat majcoll = Caml_state->stat_major_collections; + intnat heap_words = Caml_state->stat_heap_wsz; + intnat top_heap_words = Caml_state->stat_top_heap_wsz; + intnat cpct = Caml_state->stat_compactions; + intnat heap_chunks = Caml_state->stat_heap_chunks; res = caml_alloc_tuple (16); Store_field (res, 0, caml_copy_double (minwords)); @@ -321,7 +310,7 @@ CAMLprim value caml_gc_quick_stat(value v) double caml_gc_minor_words_unboxed() { - return (caml_stat_minor_words + return (Caml_state->stat_minor_words + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr)); } @@ -337,10 +326,10 @@ CAMLprim value caml_gc_counters(value v) CAMLlocal1 (res); /* get a copy of these before allocating anything... */ - double minwords = caml_stat_minor_words + double minwords = Caml_state->stat_minor_words + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); - double prowords = caml_stat_promoted_words; - double majwords = caml_stat_major_words + (double) caml_allocated_words; + double prowords = Caml_state->stat_promoted_words; + double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; res = caml_alloc_tuple (3); Store_field (res, 0, caml_copy_double (minwords)); @@ -525,7 +514,7 @@ static void test_and_compact (void) { double fp; - fp = 100.0 * caml_fl_cur_wsz / (caml_stat_heap_wsz - caml_fl_cur_wsz); + fp = 100.0 * caml_fl_cur_wsz / (Caml_state->stat_heap_wsz - caml_fl_cur_wsz); if (fp > 999999.0) fp = 999999.0; caml_gc_message (0x200, "Estimated overhead (lower bound) = %" ARCH_INTNAT_PRINTF_FORMAT "u%%\n", diff --git a/runtime/major_gc.c b/runtime/major_gc.c index e1769ebb1..43935c139 100644 --- a/runtime/major_gc.c +++ b/runtime/major_gc.c @@ -125,7 +125,7 @@ static void realloc_gray_vals (void) value *new; CAMLassert (gray_vals_cur == gray_vals_end); - if (gray_vals_size < caml_stat_heap_wsz / 32){ + if (gray_vals_size < Caml_state->stat_heap_wsz / 32){ caml_gc_message (0x08, "Growing gray_vals to %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", (intnat) gray_vals_size * sizeof (value) / 512); @@ -582,7 +582,7 @@ static void sweep_slice (intnat work) chunk = Chunk_next (chunk); if (chunk == NULL){ /* Sweeping is done. */ - ++ caml_stat_major_collections; + ++ Caml_state->stat_major_collections; work = 0; caml_gc_phase = Phase_idle; caml_request_minor_gc (); @@ -627,7 +627,7 @@ void caml_major_collection_slice (intnat howmuch) int i; /* Free memory at the start of the GC cycle (garbage + free list) (assumed): - FM = caml_stat_heap_wsz * caml_percent_free + FM = Caml_state->stat_heap_wsz * caml_percent_free / (100 + caml_percent_free) Assuming steady state and enforcing a constant allocation rate, then @@ -639,7 +639,7 @@ void caml_major_collection_slice (intnat howmuch) Proportion of G consumed since the previous slice: PH = caml_allocated_words / G = caml_allocated_words * 3 * (100 + caml_percent_free) - / (2 * caml_stat_heap_wsz * caml_percent_free) + / (2 * Caml_state->stat_heap_wsz * caml_percent_free) Proportion of extra-heap resources consumed since the previous slice: PE = caml_extra_heap_resources Proportion of total work to do in this slice: @@ -650,10 +650,10 @@ void caml_major_collection_slice (intnat howmuch) the P above. Amount of marking work for the GC cycle: - MW = caml_stat_heap_wsz * 100 / (100 + caml_percent_free) + MW = Caml_state->stat_heap_wsz * 100 / (100 + caml_percent_free) + caml_incremental_roots_count Amount of sweeping work for the GC cycle: - SW = caml_stat_heap_wsz + SW = Caml_state->stat_heap_wsz In order to finish marking with a non-empty free list, we will use 40% of the time for marking, and 60% for sweeping. @@ -673,11 +673,11 @@ void caml_major_collection_slice (intnat howmuch) Amount of marking work for a marking slice: MS = P * MW / (40/100) - MS = P * (caml_stat_heap_wsz * 250 / (100 + caml_percent_free) + MS = P * (Caml_state->stat_heap_wsz * 250 / (100 + caml_percent_free) + 2.5 * caml_incremental_roots_count) Amount of sweeping work for a sweeping slice: SS = P * SW / (60/100) - SS = P * caml_stat_heap_wsz * 5 / 3 + SS = P * Caml_state->stat_heap_wsz * 5 / 3 This slice will either mark MS words or sweep SS words. */ @@ -686,7 +686,7 @@ void caml_major_collection_slice (intnat howmuch) CAML_INSTR_SETUP (tmr, "major"); p = (double) caml_allocated_words * 3.0 * (100 + caml_percent_free) - / caml_stat_heap_wsz / caml_percent_free / 2.0; + / Caml_state->stat_heap_wsz / caml_percent_free / 2.0; if (caml_dependent_size > 0){ dp = (double) caml_dependent_allocated * (100 + caml_percent_free) / caml_dependent_size / caml_percent_free; @@ -752,7 +752,7 @@ void caml_major_collection_slice (intnat howmuch) }else{ /* manual setting */ filt_p = (double) howmuch * 3.0 * (100 + caml_percent_free) - / caml_stat_heap_wsz / caml_percent_free / 2.0; + / Caml_state->stat_heap_wsz / caml_percent_free / 2.0; } caml_major_work_credit += filt_p; } @@ -780,11 +780,11 @@ void caml_major_collection_slice (intnat howmuch) } if (caml_gc_phase == Phase_mark || caml_gc_phase == Phase_clean){ - computed_work = (intnat) (p * ((double) caml_stat_heap_wsz * 250 + computed_work = (intnat) (p * ((double) Caml_state->stat_heap_wsz * 250 / (100 + caml_percent_free) + caml_incremental_roots_count)); }else{ - computed_work = (intnat) (p * caml_stat_heap_wsz * 5 / 3); + computed_work = (intnat) (p * Caml_state->stat_heap_wsz * 5 / 3); } caml_gc_message (0x40, "computed work = %" ARCH_INTNAT_PRINTF_FORMAT "d words\n", computed_work); @@ -825,7 +825,7 @@ void caml_major_collection_slice (intnat howmuch) for (i = 0; i < caml_major_window; i++) caml_major_ring[i] += p; } - caml_stat_major_words += caml_allocated_words; + Caml_state->stat_major_words += caml_allocated_words; caml_allocated_words = 0; caml_dependent_allocated = 0; caml_extra_heap_resources = 0.0; @@ -847,7 +847,7 @@ void caml_finish_major_cycle (void) CAMLassert (caml_gc_phase == Phase_sweep); while (caml_gc_phase == Phase_sweep) sweep_slice (LONG_MAX); CAMLassert (caml_gc_phase == Phase_idle); - caml_stat_major_words += caml_allocated_words; + Caml_state->stat_major_words += caml_allocated_words; caml_allocated_words = 0; } @@ -863,7 +863,7 @@ asize_t caml_clip_heap_chunk_wsz (asize_t wsz) if (caml_major_heap_increment > 1000){ incr = caml_major_heap_increment; }else{ - incr = caml_stat_heap_wsz / 100 * caml_major_heap_increment; + incr = Caml_state->stat_heap_wsz / 100 * caml_major_heap_increment; } if (result < incr){ @@ -880,27 +880,27 @@ void caml_init_major_heap (asize_t heap_size) { int i; - caml_stat_heap_wsz = caml_clip_heap_chunk_wsz (Wsize_bsize (heap_size)); - caml_stat_top_heap_wsz = caml_stat_heap_wsz; - CAMLassert (Bsize_wsize (caml_stat_heap_wsz) % Page_size == 0); + Caml_state->stat_heap_wsz = caml_clip_heap_chunk_wsz (Wsize_bsize (heap_size)); + Caml_state->stat_top_heap_wsz = Caml_state->stat_heap_wsz; + CAMLassert (Bsize_wsize (Caml_state->stat_heap_wsz) % Page_size == 0); caml_heap_start = - (char *) caml_alloc_for_heap (Bsize_wsize (caml_stat_heap_wsz)); + (char *) caml_alloc_for_heap (Bsize_wsize (Caml_state->stat_heap_wsz)); if (caml_heap_start == NULL) caml_fatal_error ("cannot allocate initial major heap"); Chunk_next (caml_heap_start) = NULL; - caml_stat_heap_wsz = Wsize_bsize (Chunk_size (caml_heap_start)); - caml_stat_heap_chunks = 1; - caml_stat_top_heap_wsz = caml_stat_heap_wsz; + Caml_state->stat_heap_wsz = Wsize_bsize (Chunk_size (caml_heap_start)); + Caml_state->stat_heap_chunks = 1; + Caml_state->stat_top_heap_wsz = Caml_state->stat_heap_wsz; if (caml_page_table_add(In_heap, caml_heap_start, - caml_heap_start + Bsize_wsize (caml_stat_heap_wsz)) + caml_heap_start + Bsize_wsize (Caml_state->stat_heap_wsz)) != 0) { caml_fatal_error ("cannot allocate initial page table"); } caml_fl_init_merge (); caml_make_free_blocks ((value *) caml_heap_start, - caml_stat_heap_wsz, 1, Caml_white); + Caml_state->stat_heap_wsz, 1, Caml_white); caml_gc_phase = Phase_idle; gray_vals_size = 2048; gray_vals = (value *) caml_stat_alloc_noexc (gray_vals_size * sizeof (value)); diff --git a/runtime/memory.c b/runtime/memory.c index e49eeba10..5181c9707 100644 --- a/runtime/memory.c +++ b/runtime/memory.c @@ -335,7 +335,7 @@ int caml_add_to_heap (char *m) caml_gc_message (0x04, "Growing heap to %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", - (Bsize_wsize (caml_stat_heap_wsz) + Chunk_size (m)) / 1024); + (Bsize_wsize (Caml_state->stat_heap_wsz) + Chunk_size (m)) / 1024); /* Register block in page table */ if (caml_page_table_add(In_heap, m, m + Chunk_size(m)) != 0) @@ -353,12 +353,12 @@ int caml_add_to_heap (char *m) Chunk_next (m) = cur; *last = m; - ++ caml_stat_heap_chunks; + ++ Caml_state->stat_heap_chunks; } - caml_stat_heap_wsz += Wsize_bsize (Chunk_size (m)); - if (caml_stat_heap_wsz > caml_stat_top_heap_wsz){ - caml_stat_top_heap_wsz = caml_stat_heap_wsz; + Caml_state->stat_heap_wsz += Wsize_bsize (Chunk_size (m)); + if (Caml_state->stat_heap_wsz > Caml_state->stat_top_heap_wsz){ + Caml_state->stat_top_heap_wsz = Caml_state->stat_heap_wsz; } return 0; } @@ -437,10 +437,10 @@ void caml_shrink_heap (char *chunk) */ if (chunk == caml_heap_start) return; - caml_stat_heap_wsz -= Wsize_bsize (Chunk_size (chunk)); + Caml_state->stat_heap_wsz -= Wsize_bsize (Chunk_size (chunk)); caml_gc_message (0x04, "Shrinking heap to %" ARCH_INTNAT_PRINTF_FORMAT "uk words\n", - caml_stat_heap_wsz / 1024); + Caml_state->stat_heap_wsz / 1024); #ifdef DEBUG { @@ -451,7 +451,7 @@ void caml_shrink_heap (char *chunk) } #endif - -- caml_stat_heap_chunks; + -- Caml_state->stat_heap_chunks; /* Remove [chunk] from the list of chunks. */ cp = &caml_heap_start; diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index 5a05e9c88..0b25cce6f 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -380,7 +380,7 @@ void caml_empty_minor_heap (void) } } CAML_INSTR_TIME (tmr, "minor/update_weak"); - caml_stat_minor_words += Caml_state->young_alloc_end - Caml_state->young_ptr; + Caml_state->stat_minor_words += Caml_state->young_alloc_end - Caml_state->young_ptr; caml_gc_clock += (double) (Caml_state->young_alloc_end - Caml_state->young_ptr) / Caml_state->minor_heap_wsz; Caml_state->young_ptr = Caml_state->young_alloc_end; @@ -392,9 +392,9 @@ void caml_empty_minor_heap (void) Caml_state->in_minor_collection = 0; caml_final_empty_young (); CAML_INSTR_TIME (tmr, "minor/finalized"); - caml_stat_promoted_words += caml_allocated_words - prev_alloc_words; + Caml_state->stat_promoted_words += caml_allocated_words - prev_alloc_words; CAML_INSTR_INT ("minor/promoted#", caml_allocated_words - prev_alloc_words); - ++ caml_stat_minor_collections; + ++ Caml_state->stat_minor_collections; caml_memprof_renew_minor_sample(); if (caml_minor_gc_end_hook != NULL) (*caml_minor_gc_end_hook) (); }else{ diff --git a/runtime/sys.c b/runtime/sys.c index 87544ac20..ac4feb1e0 100644 --- a/runtime/sys.c +++ b/runtime/sys.c @@ -118,17 +118,17 @@ CAMLprim value caml_sys_exit(value retcode_v) if ((caml_verb_gc & 0x400) != 0) { /* cf caml_gc_counters */ - double minwords = caml_stat_minor_words + double minwords = Caml_state->stat_minor_words + (double) (Caml_state->young_end - Caml_state->young_ptr); - double prowords = caml_stat_promoted_words; - double majwords = caml_stat_major_words + (double) caml_allocated_words; + double prowords = Caml_state->stat_promoted_words; + double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; double allocated_words = minwords + majwords - prowords; - intnat mincoll = caml_stat_minor_collections; - intnat majcoll = caml_stat_major_collections; - intnat heap_words = caml_stat_heap_wsz; - intnat heap_chunks = caml_stat_heap_chunks; - intnat top_heap_words = caml_stat_top_heap_wsz; - intnat cpct = caml_stat_compactions; + intnat mincoll = Caml_state->stat_minor_collections; + intnat majcoll = Caml_state->stat_major_collections; + intnat heap_words = Caml_state->stat_heap_wsz; + intnat heap_chunks = Caml_state->stat_heap_chunks; + intnat top_heap_words = Caml_state->stat_top_heap_wsz; + intnat cpct = Caml_state->stat_compactions; caml_gc_message(0x400, "allocated_words: %.0f\n", allocated_words); caml_gc_message(0x400, "minor_words: %.0f\n", minwords); caml_gc_message(0x400, "promoted_words: %.0f\n", prowords); From c06038a0eef0eb7f8fda789fb201fefa4df28180 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 7 Jun 2019 14:32:14 +0530 Subject: [PATCH 09/54] Move backtrace support global variables to domain state. Since we cannot access backtrace position in cmmgen.ml anymore, Cmm.raise_kind in removed. Instead, we use Lambda.raise_kind. When assembly code is generated, we reset the backtrace position to 0 in the case of regular raise. Importantly, the semantics remains the same. --- asmcomp/amd64/emit.mlp | 8 +++-- asmcomp/cmm.ml | 6 +--- asmcomp/cmm.mli | 6 +--- asmcomp/cmmgen.ml | 19 +++------- asmcomp/linearize.ml | 2 +- asmcomp/linearize.mli | 2 +- asmcomp/mach.ml | 2 +- asmcomp/mach.mli | 2 +- asmcomp/printcmm.ml | 6 +--- asmcomp/printcmm.mli | 1 - asmcomp/printlinear.ml | 2 +- asmcomp/printmach.ml | 2 +- asmcomp/selectgen.ml | 5 +-- otherlibs/systhreads/st_stubs.c | 20 +++++------ runtime/amd64.S | 4 +-- runtime/backtrace.c | 63 +++++++++++++++------------------ runtime/backtrace_byt.c | 22 ++++++------ runtime/backtrace_nat.c | 18 +++++----- runtime/caml/backtrace.h | 53 ++++++++++----------------- runtime/caml/domain_state.tbl | 6 ++++ runtime/caml/misc.h | 8 +++++ runtime/domain.c | 5 +++ runtime/gc_ctrl.c | 2 +- runtime/interp.c | 4 +-- runtime/printexc.c | 12 +++---- testsuite/tools/lexcmm.mll | 5 +-- testsuite/tools/parsecmm.mly | 2 +- 27 files changed, 134 insertions(+), 153 deletions(-) diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index 10743c942..47b9676f7 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -890,10 +890,14 @@ let emit_instr fallthrough i = [caml_reraise_exn]. The only function called that might affect the trie is [caml_stash_backtrace], and it does not. *) begin match k with - | Cmm.Raise_withtrace -> + | Lambda.Raise_regular -> + I.mov (int 0) (domain_field Domainstate.Domain_backtrace_pos); emit_call "caml_raise_exn"; record_frame Reg.Set.empty true i.dbg - | Cmm.Raise_notrace -> + | Lambda.Raise_reraise -> + emit_call "caml_raise_exn"; + record_frame Reg.Set.empty true i.dbg + | Lambda.Raise_notrace -> I.mov (domain_field Domainstate.Domain_exn_handler) rsp; I.pop (domain_field Domainstate.Domain_exn_handler); I.pop r11; diff --git a/asmcomp/cmm.ml b/asmcomp/cmm.ml index 05c97114d..6a0bdeeac 100644 --- a/asmcomp/cmm.ml +++ b/asmcomp/cmm.ml @@ -98,10 +98,6 @@ let label_counter = ref 99 let new_label() = incr label_counter; !label_counter -type raise_kind = - | Raise_withtrace - | Raise_notrace - type rec_flag = Nonrecursive | Recursive type phantom_defining_expr = @@ -143,7 +139,7 @@ and operation = | Caddf | Csubf | Cmulf | Cdivf | Cfloatofint | Cintoffloat | Ccmpf of float_comparison - | Craise of raise_kind + | Craise of Lambda.raise_kind | Ccheckbound type expression = diff --git a/asmcomp/cmm.mli b/asmcomp/cmm.mli index 6858d0a76..3077e0bce 100644 --- a/asmcomp/cmm.mli +++ b/asmcomp/cmm.mli @@ -83,10 +83,6 @@ val swap_float_comparison: float_comparison -> float_comparison type label = int val new_label: unit -> label -type raise_kind = - | Raise_withtrace - | Raise_notrace - type rec_flag = Nonrecursive | Recursive type phantom_defining_expr = @@ -145,7 +141,7 @@ and operation = | Caddf | Csubf | Cmulf | Cdivf | Cfloatofint | Cintoffloat | Ccmpf of float_comparison - | Craise of raise_kind + | Craise of Lambda.raise_kind | Ccheckbound (** Every basic block should have a corresponding [Debuginfo.t] for its diff --git a/asmcomp/cmmgen.ml b/asmcomp/cmmgen.ml index bfcb7fbd5..7f795a323 100644 --- a/asmcomp/cmmgen.ml +++ b/asmcomp/cmmgen.ml @@ -435,15 +435,8 @@ let validate d m p = ucompare2 twoszp md < 0 && ucompare2 md (add2 twoszp twop1) <= 0 *) -let raise_regular dbg exc = - Csequence( - Cop(Cstore (Thirtytwo_signed, Assignment), - [(Cconst_symbol ("caml_backtrace_pos", dbg)); - Cconst_int (0, dbg)], dbg), - Cop(Craise Raise_withtrace,[exc], dbg)) - let raise_symbol dbg symb = - raise_regular dbg (Cconst_symbol (symb, dbg)) + Cop(Craise Lambda.Raise_regular, [Cconst_symbol (symb, dbg)], dbg) let rec div_int c1 c2 is_safe dbg = match (c1, c2) with @@ -2394,13 +2387,9 @@ and transl_prim_1 env p arg dbg = (* always a pointer outside the heap *) (* Exceptions *) | Praise _ when not (!Clflags.debug) -> - Cop(Craise Cmm.Raise_notrace, [transl env arg], dbg) - | Praise Lambda.Raise_notrace -> - Cop(Craise Cmm.Raise_notrace, [transl env arg], dbg) - | Praise Lambda.Raise_reraise -> - Cop(Craise Cmm.Raise_withtrace, [transl env arg], dbg) - | Praise Lambda.Raise_regular -> - raise_regular dbg (transl env arg) + Cop(Craise Lambda.Raise_notrace, [transl env arg], dbg) + | Praise raise_kind -> + Cop(Craise raise_kind, [transl env arg], dbg) (* Integer operations *) | Pnegint -> Cop(Csubi, [Cconst_int (2, dbg); transl env arg], dbg) diff --git a/asmcomp/linearize.ml b/asmcomp/linearize.ml index bb33e02ab..6f1ea297c 100644 --- a/asmcomp/linearize.ml +++ b/asmcomp/linearize.ml @@ -43,7 +43,7 @@ and instruction_desc = | Ladjust_trap_depth of { delta_traps : int; } | Lpushtrap of { lbl_handler : label; } | Lpoptrap - | Lraise of Cmm.raise_kind + | Lraise of Lambda.raise_kind let has_fallthrough = function | Lreturn | Lbranch _ | Lswitch _ | Lraise _ diff --git a/asmcomp/linearize.mli b/asmcomp/linearize.mli index 1e51f9198..7fb462561 100644 --- a/asmcomp/linearize.mli +++ b/asmcomp/linearize.mli @@ -40,7 +40,7 @@ and instruction_desc = | Ladjust_trap_depth of { delta_traps : int; } | Lpushtrap of { lbl_handler : label; } | Lpoptrap - | Lraise of Cmm.raise_kind + | Lraise of Lambda.raise_kind val has_fallthrough : instruction_desc -> bool val end_instr: instruction diff --git a/asmcomp/mach.ml b/asmcomp/mach.ml index bfed9f7e6..02063d31b 100644 --- a/asmcomp/mach.ml +++ b/asmcomp/mach.ml @@ -84,7 +84,7 @@ and instruction_desc = | Icatch of Cmm.rec_flag * (int * instruction) list * instruction | Iexit of int | Itrywith of instruction * instruction - | Iraise of Cmm.raise_kind + | Iraise of Lambda.raise_kind type spacetime_part_of_shape = | Direct_call_point of { callee : string; } diff --git a/asmcomp/mach.mli b/asmcomp/mach.mli index 6ad4cda47..8429eeedb 100644 --- a/asmcomp/mach.mli +++ b/asmcomp/mach.mli @@ -100,7 +100,7 @@ and instruction_desc = | Icatch of Cmm.rec_flag * (int * instruction) list * instruction | Iexit of int | Itrywith of instruction * instruction - | Iraise of Cmm.raise_kind + | Iraise of Lambda.raise_kind type spacetime_part_of_shape = | Direct_call_point of { callee : string; (* the symbol *) } diff --git a/asmcomp/printcmm.ml b/asmcomp/printcmm.ml index 7be55c2f2..1da5fe2ae 100644 --- a/asmcomp/printcmm.ml +++ b/asmcomp/printcmm.ml @@ -72,10 +72,6 @@ let chunk = function | Double -> "float64" | Double_u -> "float64u" -let raise_kind fmt = function - | Raise_withtrace -> Format.fprintf fmt "raise_withtrace" - | Raise_notrace -> Format.fprintf fmt "raise_notrace" - let phantom_defining_expr ppf defining_expr = match defining_expr with | Cphantom_const_int i -> Targetint.print ppf i @@ -139,7 +135,7 @@ let operation d = function | Cfloatofint -> "floatofint" | Cintoffloat -> "intoffloat" | Ccmpf c -> Printf.sprintf "%sf" (float_comparison c) - | Craise k -> Format.asprintf "%a%s" raise_kind k (Debuginfo.to_string d) + | Craise k -> Lambda.raise_kind k ^ Debuginfo.to_string d | Ccheckbound -> "checkbound" ^ Debuginfo.to_string d let rec expr ppf = function diff --git a/asmcomp/printcmm.mli b/asmcomp/printcmm.mli index 0a631d3de..462239ac8 100644 --- a/asmcomp/printcmm.mli +++ b/asmcomp/printcmm.mli @@ -28,4 +28,3 @@ val expression : formatter -> Cmm.expression -> unit val fundecl : formatter -> Cmm.fundecl -> unit val data : formatter -> Cmm.data_item list -> unit val phrase : formatter -> Cmm.phrase -> unit -val raise_kind: formatter -> Cmm.raise_kind -> unit diff --git a/asmcomp/printlinear.ml b/asmcomp/printlinear.ml index 066193e54..29566a410 100644 --- a/asmcomp/printlinear.ml +++ b/asmcomp/printlinear.ml @@ -68,7 +68,7 @@ let instr ppf i = | Lpoptrap -> fprintf ppf "pop trap" | Lraise k -> - fprintf ppf "%a %a" Printcmm.raise_kind k reg i.arg.(0) + fprintf ppf "%s %a" (Lambda.raise_kind k) reg i.arg.(0) end; if not (Debuginfo.is_none i.dbg) then fprintf ppf " %s" (Debuginfo.to_string i.dbg) diff --git a/asmcomp/printmach.ml b/asmcomp/printmach.ml index 54f4a5364..52d411166 100644 --- a/asmcomp/printmach.ml +++ b/asmcomp/printmach.ml @@ -228,7 +228,7 @@ let rec instr ppf i = fprintf ppf "@[try@,%a@;<0 -2>with@,%a@;<0 -2>endtry@]" instr body instr handler | Iraise k -> - fprintf ppf "%a %a" Printcmm.raise_kind k reg i.arg.(0) + fprintf ppf "%s %a" (Lambda.raise_kind k) reg i.arg.(0) end; if not (Debuginfo.is_none i.dbg) then fprintf ppf "%s" (Debuginfo.to_string i.dbg); diff --git a/asmcomp/selectgen.ml b/asmcomp/selectgen.ml index a5957928e..e6a7d64c9 100644 --- a/asmcomp/selectgen.ml +++ b/asmcomp/selectgen.ml @@ -403,8 +403,9 @@ method mark_instr = function self#mark_c_tailcall (* caml_ml_array_bound_error *) | Iraise raise_kind -> begin match raise_kind with - | Cmm.Raise_notrace -> () - | Cmm.Raise_withtrace -> + | Lambda.Raise_notrace -> () + | Lambda.Raise_regular + | Lambda.Raise_reraise -> (* PR#6239 *) (* caml_stash_backtrace; we #mark_call rather than #mark_c_tailcall to get a good stack backtrace *) diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index 99c80ac9d..8709c713a 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -97,9 +97,9 @@ struct caml_thread_struct { struct caml__roots_block * local_roots; /* Saved value of caml_local_roots */ struct longjmp_buffer * external_raise; /* Saved caml_external_raise */ #endif - int backtrace_pos; /* Saved caml_backtrace_pos */ - backtrace_slot * backtrace_buffer; /* Saved caml_backtrace_buffer */ - value backtrace_last_exn; /* Saved caml_backtrace_last_exn (root) */ + int backtrace_pos; /* Saved Caml_state->backtrace_pos */ + backtrace_slot * backtrace_buffer; /* Saved Caml_state->backtrace_buffer */ + value backtrace_last_exn; /* Saved Caml_state->backtrace_last_exn (root) */ int memprof_suspended; /* Saved caml_memprof_suspended */ }; @@ -195,9 +195,9 @@ static inline void caml_thread_save_runtime_state(void) curr_thread->local_roots = caml_local_roots; curr_thread->external_raise = caml_external_raise; #endif - curr_thread->backtrace_pos = caml_backtrace_pos; - curr_thread->backtrace_buffer = caml_backtrace_buffer; - curr_thread->backtrace_last_exn = caml_backtrace_last_exn; + curr_thread->backtrace_pos = Caml_state->backtrace_pos; + curr_thread->backtrace_buffer = Caml_state->backtrace_buffer; + curr_thread->backtrace_last_exn = Caml_state->backtrace_last_exn; curr_thread->memprof_suspended = caml_memprof_suspended; } @@ -225,9 +225,9 @@ static inline void caml_thread_restore_runtime_state(void) caml_local_roots = curr_thread->local_roots; caml_external_raise = curr_thread->external_raise; #endif - caml_backtrace_pos = curr_thread->backtrace_pos; - caml_backtrace_buffer = curr_thread->backtrace_buffer; - caml_backtrace_last_exn = curr_thread->backtrace_last_exn; + Caml_state->backtrace_pos = curr_thread->backtrace_pos; + Caml_state->backtrace_buffer = curr_thread->backtrace_buffer; + Caml_state->backtrace_last_exn = curr_thread->backtrace_last_exn; caml_memprof_suspended = curr_thread->memprof_suspended; } @@ -702,7 +702,7 @@ CAMLprim value caml_thread_uncaught_exception(value exn) /* ML */ fprintf(stderr, "Thread %d killed on uncaught exception %s\n", Int_val(Ident(curr_thread->descr)), msg); caml_stat_free(msg); - if (caml_backtrace_active) caml_print_exception_backtrace(); + if (Caml_state->backtrace_active) caml_print_exception_backtrace(); fflush(stderr); return Val_unit; } diff --git a/runtime/amd64.S b/runtime/amd64.S index 6f833cc9a..d1e122cae 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -642,7 +642,7 @@ ENDFUNCTION(G(caml_start_program)) FUNCTION(G(caml_raise_exn)) CFI_STARTPROC - TESTL_VAR($1, caml_backtrace_active) + testq $1, Caml_state(backtrace_active) jne LBL(110) movq Caml_state(exn_handler), %rsp popq Caml_state(exn_handler) @@ -675,7 +675,7 @@ ENDFUNCTION(G(caml_raise_exn)) FUNCTION(G(caml_raise_exception)) CFI_STARTPROC movq C_ARG_1, %r14 /* Caml_state */ - TESTL_VAR($1, caml_backtrace_active) + testq $1, Caml_state(backtrace_active) jne LBL(112) movq C_ARG_2, %rax movq Caml_state(exn_handler), %rsp /* Cut stack */ diff --git a/runtime/backtrace.c b/runtime/backtrace.c index e5fd6705a..50a5fd8b4 100644 --- a/runtime/backtrace.c +++ b/runtime/backtrace.c @@ -31,14 +31,9 @@ /* The table of debug information fragments */ struct ext_table caml_debug_info; -CAMLexport int32_t caml_backtrace_active = 0; -CAMLexport int32_t caml_backtrace_pos = 0; -CAMLexport backtrace_slot * caml_backtrace_buffer = NULL; -CAMLexport value caml_backtrace_last_exn = Val_unit; - void caml_init_backtrace(void) { - caml_register_global_root(&caml_backtrace_last_exn); + caml_register_global_root(&Caml_state->backtrace_last_exn); } /* Start or stop the backtrace machinery */ @@ -46,14 +41,14 @@ CAMLprim value caml_record_backtrace(value vflag) { int flag = Int_val(vflag); - if (flag != caml_backtrace_active) { - caml_backtrace_active = flag; - caml_backtrace_pos = 0; - caml_backtrace_last_exn = Val_unit; - /* Note: We do lazy initialization of caml_backtrace_buffer when + if (flag != Caml_state->backtrace_active) { + Caml_state->backtrace_active = flag; + Caml_state->backtrace_pos = 0; + Caml_state->backtrace_last_exn = Val_unit; + /* Note: We do lazy initialization of Caml_state->backtrace_buffer when needed in order to simplify the interface with the thread library (thread creation doesn't need to allocate - caml_backtrace_buffer). So we don't have to allocate it here. + Caml_state->backtrace_buffer). So we don't have to allocate it here. */ } return Val_unit; @@ -62,7 +57,7 @@ CAMLprim value caml_record_backtrace(value vflag) /* Return the status of the backtrace machinery */ CAMLprim value caml_backtrace_status(value vunit) { - return Val_bool(caml_backtrace_active); + return Val_bool(Caml_state->backtrace_active); } /* Print location information -- same behavior as in Printexc @@ -120,8 +115,8 @@ CAMLexport void caml_print_exception_backtrace(void) return; } - for (i = 0; i < caml_backtrace_pos; i++) { - for (dbg = caml_debuginfo_extract(caml_backtrace_buffer[i]); + for (i = 0; i < Caml_state->backtrace_pos; i++) { + for (dbg = caml_debuginfo_extract(Caml_state->backtrace_buffer[i]); dbg != NULL; dbg = caml_debuginfo_next(dbg)) { @@ -142,28 +137,28 @@ CAMLprim value caml_get_exception_raw_backtrace(value unit) if the finalizer raises then catches an exception). We choose to ignore any such finalizer backtraces and return the original one. */ - if (!caml_backtrace_active || - caml_backtrace_buffer == NULL || - caml_backtrace_pos == 0) { + if (!Caml_state->backtrace_active || + Caml_state->backtrace_buffer == NULL || + Caml_state->backtrace_pos == 0) { res = caml_alloc(0, 0); } else { - backtrace_slot saved_caml_backtrace_buffer[BACKTRACE_BUFFER_SIZE]; - int saved_caml_backtrace_pos; + backtrace_slot saved_backtrace_buffer[BACKTRACE_BUFFER_SIZE]; + int saved_backtrace_pos; intnat i; - saved_caml_backtrace_pos = caml_backtrace_pos; + saved_backtrace_pos = Caml_state->backtrace_pos; - if (saved_caml_backtrace_pos > BACKTRACE_BUFFER_SIZE) { - saved_caml_backtrace_pos = BACKTRACE_BUFFER_SIZE; + if (saved_backtrace_pos > BACKTRACE_BUFFER_SIZE) { + saved_backtrace_pos = BACKTRACE_BUFFER_SIZE; } - memcpy(saved_caml_backtrace_buffer, caml_backtrace_buffer, - saved_caml_backtrace_pos * sizeof(backtrace_slot)); + memcpy(saved_backtrace_buffer, Caml_state->backtrace_buffer, + saved_backtrace_pos * sizeof(backtrace_slot)); - res = caml_alloc(saved_caml_backtrace_pos, 0); - for (i = 0; i < saved_caml_backtrace_pos; i++) { - Field(res, i) = Val_backtrace_slot(saved_caml_backtrace_buffer[i]); + res = caml_alloc(saved_backtrace_pos, 0); + for (i = 0; i < saved_backtrace_pos; i++) { + Field(res, i) = Val_backtrace_slot(saved_backtrace_buffer[i]); } } @@ -178,7 +173,7 @@ CAMLprim value caml_restore_raw_backtrace(value exn, value backtrace) intnat i; mlsize_t bt_size; - caml_backtrace_last_exn = exn; + Caml_state->backtrace_last_exn = exn; bt_size = Wosize_val(backtrace); if(bt_size > BACKTRACE_BUFFER_SIZE){ @@ -188,18 +183,18 @@ CAMLprim value caml_restore_raw_backtrace(value exn, value backtrace) /* We don't allocate if the backtrace is empty (no -g or backtrace not activated) */ if(bt_size == 0){ - caml_backtrace_pos = 0; + Caml_state->backtrace_pos = 0; return Val_unit; } /* Allocate if needed and copy the backtrace buffer */ - if (caml_backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1){ + if (Caml_state->backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1){ return Val_unit; } - caml_backtrace_pos = bt_size; - for(i=0; i < caml_backtrace_pos; i++){ - caml_backtrace_buffer[i] = Backtrace_slot_val(Field(backtrace, i)); + Caml_state->backtrace_pos = bt_size; + for(i=0; i < Caml_state->backtrace_pos; i++){ + Caml_state->backtrace_buffer[i] = Backtrace_slot_val(Field(backtrace, i)); } return Val_unit; diff --git a/runtime/backtrace_byt.c b/runtime/backtrace_byt.c index 20917f784..af2132713 100644 --- a/runtime/backtrace_byt.c +++ b/runtime/backtrace_byt.c @@ -223,10 +223,10 @@ CAMLprim value caml_remove_debug_info(code_t start) } int caml_alloc_backtrace_buffer(void){ - CAMLassert(caml_backtrace_pos == 0); - caml_backtrace_buffer = + CAMLassert(Caml_state->backtrace_pos == 0); + Caml_state->backtrace_buffer = caml_stat_alloc_noexc(BACKTRACE_BUFFER_SIZE * sizeof(code_t)); - if (caml_backtrace_buffer == NULL) return -1; + if (Caml_state->backtrace_buffer == NULL) return -1; return 0; } @@ -236,26 +236,26 @@ int caml_alloc_backtrace_buffer(void){ void caml_stash_backtrace(value exn, code_t pc, value * sp, int reraise) { if (pc != NULL) pc = pc - 1; - if (exn != caml_backtrace_last_exn || !reraise) { - caml_backtrace_pos = 0; - caml_backtrace_last_exn = exn; + if (exn != Caml_state->backtrace_last_exn || !reraise) { + Caml_state->backtrace_pos = 0; + Caml_state->backtrace_last_exn = exn; } - if (caml_backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1) + if (Caml_state->backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1) return; - if (caml_backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; + if (Caml_state->backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; /* testing the code region is needed: PR#8026 */ if (find_debug_info(pc) != NULL) - caml_backtrace_buffer[caml_backtrace_pos++] = pc; + Caml_state->backtrace_buffer[Caml_state->backtrace_pos++] = pc; /* Traverse the stack and put all values pointing into bytecode into the backtrace buffer. */ for (/*nothing*/; sp < caml_trapsp; sp++) { code_t p = (code_t) *sp; - if (caml_backtrace_pos >= BACKTRACE_BUFFER_SIZE) break; + if (Caml_state->backtrace_pos >= BACKTRACE_BUFFER_SIZE) break; if (find_debug_info(p) != NULL) - caml_backtrace_buffer[caml_backtrace_pos++] = p; + Caml_state->backtrace_buffer[Caml_state->backtrace_pos++] = p; } } diff --git a/runtime/backtrace_nat.c b/runtime/backtrace_nat.c index ed86b55ab..d94ee43eb 100644 --- a/runtime/backtrace_nat.c +++ b/runtime/backtrace_nat.c @@ -66,10 +66,10 @@ frame_descr * caml_next_frame_descriptor(uintnat * pc, char ** sp) } int caml_alloc_backtrace_buffer(void){ - CAMLassert(caml_backtrace_pos == 0); - caml_backtrace_buffer = + CAMLassert(Caml_state->backtrace_pos == 0); + Caml_state->backtrace_buffer = caml_stat_alloc_noexc(BACKTRACE_BUFFER_SIZE * sizeof(backtrace_slot)); - if (caml_backtrace_buffer == NULL) return -1; + if (Caml_state->backtrace_buffer == NULL) return -1; return 0; } @@ -81,12 +81,12 @@ int caml_alloc_backtrace_buffer(void){ [caml_get_current_callstack] was implemented. */ void caml_stash_backtrace(value exn, uintnat pc, char * sp, char * trapsp) { - if (exn != caml_backtrace_last_exn) { - caml_backtrace_pos = 0; - caml_backtrace_last_exn = exn; + if (exn != Caml_state->backtrace_last_exn) { + Caml_state->backtrace_pos = 0; + Caml_state->backtrace_last_exn = exn; } - if (caml_backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1) + if (Caml_state->backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1) return; /* iterate on each frame */ @@ -94,8 +94,8 @@ void caml_stash_backtrace(value exn, uintnat pc, char * sp, char * trapsp) frame_descr * descr = caml_next_frame_descriptor(&pc, &sp); if (descr == NULL) return; /* store its descriptor in the backtrace buffer */ - if (caml_backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; - caml_backtrace_buffer[caml_backtrace_pos++] = (backtrace_slot) descr; + if (Caml_state->backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; + Caml_state->backtrace_buffer[Caml_state->backtrace_pos++] = (backtrace_slot) descr; /* Stop when we reach the current exception handler */ if (sp > trapsp) return; diff --git a/runtime/caml/backtrace.h b/runtime/caml/backtrace.h index fcc133120..2c1a1bddd 100644 --- a/runtime/caml/backtrace.h +++ b/runtime/caml/backtrace.h @@ -30,63 +30,49 @@ * * Backtrace generation is split in multiple steps. * The lowest-level one, done by [backtrace_byt.c] and - * [backtrace_nat.c] just fills the [caml_backtrace_buffer] + * [backtrace_nat.c] just fills the [Caml_state->backtrace_buffer] * variable each time a frame is unwinded. * At that point, we don't know whether the backtrace will be useful or not so * this code should be as fast as possible. * * If the backtrace happens to be useful, later passes will read - * [caml_backtrace_buffer] and turn it into a [raw_backtrace] and then a + * [Caml_state->backtrace_buffer] and turn it into a [raw_backtrace] and then a * [backtrace]. * This is done in [backtrace.c] and [stdlib/printexc.ml]. * * Content of buffers * ------------------ * - * [caml_backtrace_buffer] (really cheap) + * [Caml_state->backtrace_buffer] (really cheap) * Backend and process image dependent, abstracted by C-type backtrace_slot. * [raw_backtrace] (cheap) * OCaml values of abstract type [Printexc.raw_backtrace_slot], * still backend and process image dependent (unsafe to marshal). * [backtrace] (more expensive) * OCaml values of algebraic data-type [Printexc.backtrace_slot] - */ - -/* Non zero iff backtraces are recorded. - * One should use to change this variable [caml_record_backtrace]. - */ -CAMLextern int caml_backtrace_active; - -/* The [backtrace_slot] type represents values stored in the - * [caml_backtrace_buffer]. In bytecode, it is the same as a - * [code_t], in native code it as a [frame_descr *]. The difference - * doesn't matter for code outside [backtrace_{byt,nat}.c], - * so it is just exposed as a [backtrace_slot]. - */ -typedef void * backtrace_slot; - -/* The [caml_backtrace_buffer] and [caml_backtrace_last_exn] - * variables are valid only if [caml_backtrace_active != 0]. + * + * [Caml_state->backtrace_active] is non zero iff backtraces are recorded. + * This variable must be changed with [caml_record_backtrace]. + * + * The [Caml_state->backtrace_buffer] and [Caml_state->backtrace_last_exn] + * variables are valid only if [Caml_state->backtrace_active != 0]. * * They are part of the state specific to each thread, and threading libraries * are responsible for copying them on context switch. * See [otherlibs/systhreads/st_stubs.c] and [otherlibs/threads/scheduler.c]. - */ - -/* [caml_backtrace_buffer] is filled by runtime when unwinding stack. - * It is an array ranging from [0] to [caml_backtrace_pos - 1]. - * [caml_backtrace_pos] is always zero if [!caml_backtrace_active]. + * + * + * [Caml_state->backtrace_buffer] is filled by runtime when unwinding stack. It + * is an array ranging from [0] to [Caml_state->backtrace_pos - 1]. + * [Caml_state->backtrace_pos] is always zero if + * [!Caml_state->backtrace_active]. * * Its maximum size is determined by [BACKTRACE_BUFFER_SIZE] from * [backtrace_prim.h], but this shouldn't affect users. - */ -CAMLextern backtrace_slot * caml_backtrace_buffer; -CAMLextern int caml_backtrace_pos; - -/* [caml_backtrace_last_exn] stores the last exception value that was raised, - * iff [caml_backtrace_active != 0]. - * It is tested for equality to determine whether a raise is a re-raise of the - * same exception. + * + * [Caml_state->backtrace_last_exn] stores the last exception value that was + * raised, iff [Caml_state->backtrace_active != 0]. It is tested for equality + * to determine whether a raise is a re-raise of the same exception. * * FIXME: this shouldn't matter anymore. Since OCaml 4.02, non-parameterized * exceptions are constant, so physical equality is no longer appropriate. @@ -95,7 +81,6 @@ CAMLextern int caml_backtrace_pos; * interpreter; * - directly resetting [caml_backtrace_pos] to 0 in native runtimes for raise. */ -CAMLextern value caml_backtrace_last_exn; /* [caml_record_backtrace] toggle backtrace recording on and off. * This function can be called at runtime by user-code, or during diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index b441da862..b3dbb658e 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -28,3 +28,9 @@ DOMAIN_STATE(intnat, stat_top_heap_wsz) DOMAIN_STATE(intnat, stat_compactions) DOMAIN_STATE(intnat, stat_heap_chunks) /* See gc_ctrl.c */ + +DOMAIN_STATE(intnat, backtrace_active) +DOMAIN_STATE(intnat, backtrace_pos) +DOMAIN_STATE(backtrace_slot*, backtrace_buffer) +DOMAIN_STATE(value, backtrace_last_exn) +/* backtrace.c */ diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 499441645..6adab1251 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -502,6 +502,14 @@ int caml_find_code_fragment(char *pc, int *index, struct code_fragment **cf); #endif /* CAML_INTERNALS */ +/* The [backtrace_slot] type represents values stored in the + * [caml_backtrace_buffer]. In bytecode, it is the same as a + * [code_t], in native code it as a [frame_descr *]. The difference + * doesn't matter for code outside [backtrace_{byt,nat}.c], + * so it is just exposed as a [backtrace_slot]. + */ +typedef void * backtrace_slot; + #ifdef __cplusplus } #endif diff --git a/runtime/domain.c b/runtime/domain.c index c98819c23..87d387b36 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -52,4 +52,9 @@ void caml_init_domain () Caml_state->stat_top_heap_wsz = 0; Caml_state->stat_compactions = 0; Caml_state->stat_heap_chunks = 0; + + Caml_state->backtrace_active = 0; + Caml_state->backtrace_pos = 0; + Caml_state->backtrace_buffer = NULL; + Caml_state->backtrace_last_exn = Val_unit; } diff --git a/runtime/gc_ctrl.c b/runtime/gc_ctrl.c index a3675b9c1..97fde2554 100644 --- a/runtime/gc_ctrl.c +++ b/runtime/gc_ctrl.c @@ -691,7 +691,7 @@ CAMLprim value caml_runtime_parameters (value unit) ("a=%d,b=%d,H=%"F_Z"u,i=%"F_Z"u,l=%"F_Z"u,o=%"F_Z"u,O=%"F_Z"u,p=%d," "s=%"F_S"u,t=%"F_Z"u,v=%"F_Z"u,w=%d,W=%"F_Z"u", /* a */ (int) caml_allocation_policy, - /* b */ caml_backtrace_active, + /* b */ (int) Caml_state->backtrace_active, /* h */ /* missing */ /* FIXME add when changed to min_heap_size */ /* H */ caml_use_huge_pages, /* i */ caml_major_heap_increment, diff --git a/runtime/interp.c b/runtime/interp.c index 1521b5012..475f40604 100644 --- a/runtime/interp.c +++ b/runtime/interp.c @@ -852,14 +852,14 @@ value caml_interprete(code_t prog, asize_t prog_size) Instruct(RERAISE): if (caml_trapsp >= caml_trap_barrier) caml_debugger(TRAP_BARRIER, Val_unit); - if (caml_backtrace_active) caml_stash_backtrace(accu, pc, sp, 1); + if (Caml_state->backtrace_active) caml_stash_backtrace(accu, pc, sp, 1); goto raise_notrace; Instruct(RAISE): raise_exception: if (caml_trapsp >= caml_trap_barrier) caml_debugger(TRAP_BARRIER, Val_unit); - if (caml_backtrace_active) caml_stash_backtrace(accu, pc, sp, 0); + if (Caml_state->backtrace_active) caml_stash_backtrace(accu, pc, sp, 0); raise_notrace: if ((char *) caml_trapsp >= (char *) caml_stack_high - initial_sp_offset) { diff --git a/runtime/printexc.c b/runtime/printexc.c index 612106186..e18beda30 100644 --- a/runtime/printexc.c +++ b/runtime/printexc.c @@ -118,18 +118,18 @@ static void default_fatal_uncaught_exception(value exn) msg = caml_format_exception(exn); /* Perform "at_exit" processing, ignoring all exceptions that may be triggered by this */ - saved_backtrace_active = caml_backtrace_active; - saved_backtrace_pos = caml_backtrace_pos; - caml_backtrace_active = 0; + saved_backtrace_active = Caml_state->backtrace_active; + saved_backtrace_pos = Caml_state->backtrace_pos; + Caml_state->backtrace_active = 0; at_exit = caml_named_value("Pervasives.do_at_exit"); if (at_exit != NULL) caml_callback_exn(*at_exit, Val_unit); - caml_backtrace_active = saved_backtrace_active; - caml_backtrace_pos = saved_backtrace_pos; + Caml_state->backtrace_active = saved_backtrace_active; + Caml_state->backtrace_pos = saved_backtrace_pos; /* Display the uncaught exception */ fprintf(stderr, "Fatal error: exception %s\n", msg); caml_stat_free(msg); /* Display the backtrace if available */ - if (caml_backtrace_active && !DEBUGGER_IN_USE) + if (Caml_state->backtrace_active && !DEBUGGER_IN_USE) caml_print_exception_backtrace(); } diff --git a/testsuite/tools/lexcmm.mll b/testsuite/tools/lexcmm.mll index 77ea888a0..5cfbe5a53 100644 --- a/testsuite/tools/lexcmm.mll +++ b/testsuite/tools/lexcmm.mll @@ -63,8 +63,9 @@ let keyword_table = "mulh", MULH; "or", OR; "proj", PROJ; - "raise_withtrace", RAISE Cmm.Raise_withtrace; - "raise_notrace", RAISE Cmm.Raise_notrace; + "raise", RAISE Lambda.Raise_regular; + "reraise", RAISE Lambda.Raise_reraise; + "raise_notrace", RAISE Lambda.Raise_notrace; "seq", SEQ; "signed", SIGNED; "skip", SKIP; diff --git a/testsuite/tools/parsecmm.mly b/testsuite/tools/parsecmm.mly index 973d42dbf..bb24f512e 100644 --- a/testsuite/tools/parsecmm.mly +++ b/testsuite/tools/parsecmm.mly @@ -127,7 +127,7 @@ let access_array base numelt size = %token OR %token POINTER %token PROJ -%token RAISE +%token RAISE %token RBRACKET %token RPAREN %token SEQ From 111f6af469f9da2c123a830790a7834728621657 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 7 Jun 2019 16:19:28 +0530 Subject: [PATCH 10/54] Move bytecode global variables to domain state --- otherlibs/systhreads/st_stubs.c | 30 +++++++------- runtime/backtrace_byt.c | 12 +++--- runtime/callback.c | 22 +++++------ runtime/caml/domain_state.tbl | 12 +++++- runtime/caml/fail.h | 2 - runtime/caml/stacks.h | 7 ---- runtime/debugger.c | 28 ++++++------- runtime/domain.c | 9 +++++ runtime/fail_byt.c | 9 ++--- runtime/instrtrace.c | 12 +++--- runtime/interp.c | 70 ++++++++++++++++----------------- runtime/meta.c | 16 +++----- runtime/roots_byt.c | 4 +- runtime/stacks.c | 54 +++++++++++-------------- runtime/startup_byt.c | 15 ++++--- 15 files changed, 148 insertions(+), 154 deletions(-) diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index 8709c713a..353db9526 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -92,10 +92,10 @@ struct caml_thread_struct { value * stack_low; /* The execution stack for this thread */ value * stack_high; value * stack_threshold; - value * sp; /* Saved value of caml_extern_sp for this thread */ - value * trapsp; /* Saved value of caml_trapsp for this thread */ + value * sp; /* Saved value of Caml_state->extern_sp for this thread */ + value * trapsp; /* Saved value of Caml_state->trapsp for this thread */ struct caml__roots_block * local_roots; /* Saved value of caml_local_roots */ - struct longjmp_buffer * external_raise; /* Saved caml_external_raise */ + struct longjmp_buffer * external_raise; /* Saved Caml_state->external_raise */ #endif int backtrace_pos; /* Saved Caml_state->backtrace_pos */ backtrace_slot * backtrace_buffer; /* Saved Caml_state->backtrace_buffer */ @@ -187,13 +187,13 @@ static inline void caml_thread_save_runtime_state(void) = caml_spacetime_finaliser_trie_root; #endif #else - curr_thread->stack_low = caml_stack_low; - curr_thread->stack_high = caml_stack_high; - curr_thread->stack_threshold = caml_stack_threshold; - curr_thread->sp = caml_extern_sp; - curr_thread->trapsp = caml_trapsp; + curr_thread->stack_low = Caml_state->stack_low; + curr_thread->stack_high = Caml_state->stack_high; + curr_thread->stack_threshold = Caml_state->stack_threshold; + curr_thread->sp = Caml_state->extern_sp; + curr_thread->trapsp = Caml_state->trapsp; curr_thread->local_roots = caml_local_roots; - curr_thread->external_raise = caml_external_raise; + curr_thread->external_raise = Caml_state->external_raise; #endif curr_thread->backtrace_pos = Caml_state->backtrace_pos; curr_thread->backtrace_buffer = Caml_state->backtrace_buffer; @@ -217,13 +217,13 @@ static inline void caml_thread_restore_runtime_state(void) = curr_thread->spacetime_finaliser_trie_root; #endif #else - caml_stack_low = curr_thread->stack_low; - caml_stack_high = curr_thread->stack_high; - caml_stack_threshold = curr_thread->stack_threshold; - caml_extern_sp = curr_thread->sp; - caml_trapsp = curr_thread->trapsp; + Caml_state->stack_low = curr_thread->stack_low; + Caml_state->stack_high = curr_thread->stack_high; + Caml_state->stack_threshold = curr_thread->stack_threshold; + Caml_state->extern_sp = curr_thread->sp; + Caml_state->trapsp = curr_thread->trapsp; caml_local_roots = curr_thread->local_roots; - caml_external_raise = curr_thread->external_raise; + Caml_state->external_raise = curr_thread->external_raise; #endif Caml_state->backtrace_pos = curr_thread->backtrace_pos; Caml_state->backtrace_buffer = curr_thread->backtrace_buffer; diff --git a/runtime/backtrace_byt.c b/runtime/backtrace_byt.c index af2132713..d7c25b51c 100644 --- a/runtime/backtrace_byt.c +++ b/runtime/backtrace_byt.c @@ -251,7 +251,7 @@ void caml_stash_backtrace(value exn, code_t pc, value * sp, int reraise) /* Traverse the stack and put all values pointing into bytecode into the backtrace buffer. */ - for (/*nothing*/; sp < caml_trapsp; sp++) { + for (/*nothing*/; sp < Caml_state->trapsp; sp++) { code_t p = (code_t) *sp; if (Caml_state->backtrace_pos >= BACKTRACE_BUFFER_SIZE) break; if (find_debug_info(p) != NULL) @@ -265,7 +265,7 @@ void caml_stash_backtrace(value exn, code_t pc, value * sp, int reraise) code_t caml_next_frame_pointer(value ** sp, value ** trsp) { - while (*sp < caml_stack_high) { + while (*sp < Caml_state->stack_high) { code_t *p = (code_t*) (*sp)++; if(&Trap_pc(*trsp) == p) { *trsp = Trap_link(*trsp); @@ -281,8 +281,8 @@ code_t caml_next_frame_pointer(value ** sp, value ** trsp) intnat caml_current_callstack_size(intnat max_frames) { intnat trace_size; - value * sp = caml_extern_sp; - value * trsp = caml_trapsp; + value * sp = Caml_state->extern_sp; + value * trsp = Caml_state->trapsp; for (trace_size = 0; trace_size < max_frames; trace_size++) { code_t p = caml_next_frame_pointer(&sp, &trsp); @@ -293,8 +293,8 @@ intnat caml_current_callstack_size(intnat max_frames) } void caml_current_callstack_write(value trace) { - value * sp = caml_extern_sp; - value * trsp = caml_trapsp; + value * sp = Caml_state->extern_sp; + value * trsp = Caml_state->trapsp; uintnat trace_pos, trace_size = Wosize_val(trace); for (trace_pos = 0; trace_pos < trace_size; trace_pos++) { diff --git a/runtime/callback.c b/runtime/callback.c index 5d514c9c8..cc9cc6fb1 100644 --- a/runtime/callback.c +++ b/runtime/callback.c @@ -72,22 +72,22 @@ CAMLexport value caml_callbackN_exn(value closure, int narg, value args[]) CAMLassert(narg + 4 <= 256); - caml_extern_sp -= narg + 4; - for (i = 0; i < narg; i++) caml_extern_sp[i] = args[i]; /* arguments */ + Caml_state->extern_sp -= narg + 4; + for (i = 0; i < narg; i++) Caml_state->extern_sp[i] = args[i]; /* arguments */ #ifndef LOCAL_CALLBACK_BYTECODE - caml_extern_sp[narg] = (value) (callback_code + 4); /* return address */ - caml_extern_sp[narg + 1] = Val_unit; /* environment */ - caml_extern_sp[narg + 2] = Val_long(0); /* extra args */ - caml_extern_sp[narg + 3] = closure; + Caml_state->extern_sp[narg] = (value) (callback_code + 4); /* return address */ + Caml_state->extern_sp[narg + 1] = Val_unit; /* environment */ + Caml_state->extern_sp[narg + 2] = Val_long(0); /* extra args */ + Caml_state->extern_sp[narg + 3] = closure; Init_callback(); callback_code[1] = narg + 3; callback_code[3] = narg; res = caml_interprete(callback_code, sizeof(callback_code)); #else /*have LOCAL_CALLBACK_BYTECODE*/ - caml_extern_sp[narg] = (value) (local_callback_code + 4); /* return address */ - caml_extern_sp[narg + 1] = Val_unit; /* environment */ - caml_extern_sp[narg + 2] = Val_long(0); /* extra args */ - caml_extern_sp[narg + 3] = closure; + Caml_state->extern_sp[narg] = (value) (local_callback_code + 4); /* return address */ + Caml_state->extern_sp[narg + 1] = Val_unit; /* environment */ + Caml_state->extern_sp[narg + 2] = Val_long(0); /* extra args */ + Caml_state->extern_sp[narg + 3] = closure; local_callback_code[0] = ACC; local_callback_code[1] = narg + 3; local_callback_code[2] = APPLY; @@ -101,7 +101,7 @@ CAMLexport value caml_callbackN_exn(value closure, int narg, value args[]) res = caml_interprete(local_callback_code, sizeof(local_callback_code)); caml_release_bytecode(local_callback_code, sizeof(local_callback_code)); #endif /*LOCAL_CALLBACK_BYTECODE*/ - if (Is_exception_result(res)) caml_extern_sp += narg + 4; /* PR#3419 */ + if (Is_exception_result(res)) Caml_state->extern_sp += narg + 4; /* PR#3419 */ return res; } diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index b3dbb658e..1f34ff06e 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -18,6 +18,16 @@ DOMAIN_STATE(double, extra_heap_resources_minor) DOMAIN_STATE(struct caml_minor_tables*, minor_tables) /* See minor_gc.c */ +DOMAIN_STATE(value*, stack_low) +DOMAIN_STATE(value*, stack_high) +DOMAIN_STATE(value*, stack_threshold) +DOMAIN_STATE(value*, extern_sp) +DOMAIN_STATE(value*, trapsp) +DOMAIN_STATE(value*, trap_barrier) +DOMAIN_STATE(struct longjmp_buffer*, external_raise) +DOMAIN_STATE(value, exn_bucket) +/* See interp.c */ + DOMAIN_STATE(double, stat_minor_words) DOMAIN_STATE(double, stat_promoted_words) DOMAIN_STATE(double, stat_major_words) @@ -33,4 +43,4 @@ DOMAIN_STATE(intnat, backtrace_active) DOMAIN_STATE(intnat, backtrace_pos) DOMAIN_STATE(backtrace_slot*, backtrace_buffer) DOMAIN_STATE(value, backtrace_last_exn) -/* backtrace.c */ +/* See backtrace.c */ diff --git a/runtime/caml/fail.h b/runtime/caml/fail.h index 54907e425..8744463eb 100644 --- a/runtime/caml/fail.h +++ b/runtime/caml/fail.h @@ -59,8 +59,6 @@ struct longjmp_buffer { #define siglongjmp(buf,val) longjmp(buf,val) #endif -CAMLextern struct longjmp_buffer * caml_external_raise; -extern value caml_exn_bucket; int caml_is_special_exception(value exn); #endif /* CAML_INTERNALS */ diff --git a/runtime/caml/stacks.h b/runtime/caml/stacks.h index 18ec0ac30..f3a055658 100644 --- a/runtime/caml/stacks.h +++ b/runtime/caml/stacks.h @@ -24,13 +24,6 @@ #include "mlvalues.h" #include "memory.h" -CAMLextern value * caml_stack_low; -CAMLextern value * caml_stack_high; -CAMLextern value * caml_stack_threshold; -CAMLextern value * caml_extern_sp; -CAMLextern value * caml_trapsp; -CAMLextern value * caml_trap_barrier; - #define Trap_pc(tp) (((code_t *)(tp))[0]) #define Trap_link(tp) (((value **)(tp))[1]) diff --git a/runtime/debugger.c b/runtime/debugger.c index 2aec4ab09..96cf8db5c 100644 --- a/runtime/debugger.c +++ b/runtime/debugger.c @@ -238,7 +238,7 @@ void caml_debugger_init(void) } open_connection(); caml_debugger_in_use = 1; - caml_trap_barrier = caml_stack_high; + Caml_state->trap_barrier = Caml_state->stack_high; } static value getval(struct channel *chan) @@ -259,15 +259,15 @@ static void safe_output_value(struct channel *chan, value val) struct longjmp_buffer raise_buf, * saved_external_raise; /* Catch exceptions raised by [caml_output_val] */ - saved_external_raise = caml_external_raise; + saved_external_raise = Caml_state->external_raise; if (sigsetjmp(raise_buf.buf, 0) == 0) { - caml_external_raise = &raise_buf; + Caml_state->external_raise = &raise_buf; caml_output_val(chan, val, marshal_flags); } else { /* Send wrong magic number, will cause [caml_input_value] to fail */ caml_really_putblock(chan, "\000\000\000\000", 4); } - caml_external_raise = saved_external_raise; + Caml_state->external_raise = saved_external_raise; } struct breakpoint { @@ -381,7 +381,7 @@ void caml_debugger(enum event_kind event, value param) if (dbg_socket == -1) return; /* Not connected to a debugger. */ /* Reset current frame */ - frame = caml_extern_sp + 1; + frame = Caml_state->extern_sp + 1; /* Report the event to the debugger */ switch(event) { @@ -423,7 +423,7 @@ void caml_debugger(enum event_kind event, value param) } caml_putword(dbg_out, caml_event_count); if (event == EVENT_COUNT || event == BREAKPOINT) { - caml_putword(dbg_out, caml_stack_high - frame); + caml_putword(dbg_out, Caml_state->stack_high - frame); found = caml_find_code_fragment((char*) Pc(frame), &frag, &cf); CAMLassert(found); caml_putword(dbg_out, frag); @@ -484,11 +484,11 @@ void caml_debugger(enum event_kind event, value param) #endif break; case REQ_INITIAL_FRAME: - frame = caml_extern_sp + 1; + frame = Caml_state->extern_sp + 1; /* Fall through */ case REQ_GET_FRAME: - caml_putword(dbg_out, caml_stack_high - frame); - if (frame < caml_stack_high && + caml_putword(dbg_out, Caml_state->stack_high - frame); + if (frame < Caml_state->stack_high && caml_find_code_fragment((char*) Pc(frame), &frag, &cf)) { caml_putword(dbg_out, frag); caml_putword(dbg_out, (char*) Pc(frame) - cf->code_start); @@ -500,17 +500,17 @@ void caml_debugger(enum event_kind event, value param) break; case REQ_SET_FRAME: i = caml_getword(dbg_in); - frame = caml_stack_high - i; + frame = Caml_state->stack_high - i; break; case REQ_UP_FRAME: i = caml_getword(dbg_in); newframe = frame + Extra_args(frame) + i + 3; - if (newframe >= caml_stack_high || + if (newframe >= Caml_state->stack_high || !caml_find_code_fragment((char*) Pc(newframe), &frag, &cf)) { caml_putword(dbg_out, -1); } else { frame = newframe; - caml_putword(dbg_out, caml_stack_high - frame); + caml_putword(dbg_out, Caml_state->stack_high - frame); caml_putword(dbg_out, frag); caml_putword(dbg_out, (char*) Pc(frame) - cf->code_start); } @@ -518,7 +518,7 @@ void caml_debugger(enum event_kind event, value param) break; case REQ_SET_TRAP_BARRIER: i = caml_getword(dbg_in); - caml_trap_barrier = caml_stack_high - i; + Caml_state->trap_barrier = Caml_state->stack_high - i; break; case REQ_GET_LOCAL: i = caml_getword(dbg_in); @@ -536,7 +536,7 @@ void caml_debugger(enum event_kind event, value param) caml_flush(dbg_out); break; case REQ_GET_ACCU: - putval(dbg_out, *caml_extern_sp); + putval(dbg_out, *Caml_state->extern_sp); caml_flush(dbg_out); break; case REQ_GET_HEADER: diff --git a/runtime/domain.c b/runtime/domain.c index 87d387b36..a144b6968 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -43,6 +43,15 @@ void caml_init_domain () Caml_state->extra_heap_resources_minor = 0; Caml_state->minor_tables = caml_alloc_minor_tables(); + Caml_state->stack_low = NULL; + Caml_state->stack_high = NULL; + Caml_state->stack_threshold = NULL; + Caml_state->extern_sp = NULL; + Caml_state->trapsp = NULL; + Caml_state->trap_barrier = NULL; + Caml_state->external_raise = NULL; + Caml_state->exn_bucket = Val_unit; + Caml_state->stat_minor_words = 0.0; Caml_state->stat_promoted_words = 0.0; Caml_state->stat_major_words = 0.0; diff --git a/runtime/fail_byt.c b/runtime/fail_byt.c index 9c8d6a45f..27ad42f62 100644 --- a/runtime/fail_byt.c +++ b/runtime/fail_byt.c @@ -30,15 +30,12 @@ #include "caml/signals.h" #include "caml/stacks.h" -CAMLexport struct longjmp_buffer * caml_external_raise = NULL; -value caml_exn_bucket; - CAMLexport void caml_raise(value v) { Unlock_exn(); - caml_exn_bucket = v; - if (caml_external_raise == NULL) caml_fatal_uncaught_exception(v); - siglongjmp(caml_external_raise->buf, 1); + Caml_state->exn_bucket = v; + if (Caml_state->external_raise == NULL) caml_fatal_uncaught_exception(v); + siglongjmp(Caml_state->external_raise->buf, 1); } CAMLexport void caml_raise_constant(value tag) diff --git a/runtime/instrtrace.c b/runtime/instrtrace.c index 3aa99448c..e7a411c9d 100644 --- a/runtime/instrtrace.c +++ b/runtime/instrtrace.c @@ -190,9 +190,9 @@ caml_trace_value_file (value v, code_t prog, asize_t proglen, FILE * f) fprintf (f, "=code@%ld", (long) ((code_t) v - prog)); else if (Is_long (v)) fprintf (f, "=long%" ARCH_INTNAT_PRINTF_FORMAT "d", Long_val (v)); - else if ((void*)v >= (void*)caml_stack_low - && (void*)v < (void*)caml_stack_high) - fprintf (f, "=stack_%ld", (long) ((intnat*)caml_stack_high - (intnat*)v)); + else if ((void*)v >= (void*)Caml_state->stack_low + && (void*)v < (void*)Caml_state->stack_high) + fprintf (f, "=stack_%ld", (long) ((intnat*)Caml_state->stack_high - (intnat*)v)); else if (Is_block (v)) { int s = Wosize_val (v); int tg = Tag_val (v); @@ -256,10 +256,10 @@ caml_trace_accu_sp_file (value accu, value * sp, code_t prog, asize_t proglen, fprintf (f, "accu="); caml_trace_value_file (accu, prog, proglen, f); fprintf (f, "\n sp=%#" ARCH_INTNAT_PRINTF_FORMAT "x @%ld:", - (intnat) sp, (long) (caml_stack_high - sp)); - for (p = sp, i = 0; i < 12 + (1 << caml_trace_level) && p < caml_stack_high; + (intnat) sp, (long) (Caml_state->stack_high - sp)); + for (p = sp, i = 0; i < 12 + (1 << caml_trace_level) && p < Caml_state->stack_high; p++, i++) { - fprintf (f, "\n[%ld] ", (long) (caml_stack_high - p)); + fprintf (f, "\n[%ld] ", (long) (Caml_state->stack_high - p)); caml_trace_value_file (*p, prog, proglen, f); }; putc ('\n', f); diff --git a/runtime/interp.c b/runtime/interp.c index 475f40604..126b5d7d3 100644 --- a/runtime/interp.c +++ b/runtime/interp.c @@ -40,10 +40,10 @@ sp the stack pointer (grows downward) accu the accumulator env heap-allocated environment - caml_trapsp pointer to the current trap frame + Caml_state->trapsp pointer to the current trap frame extra_args number of extra arguments provided by the caller -sp is a local copy of the global variable caml_extern_sp. */ +sp is a local copy of the global variable Caml_state->extern_sp. */ /* Instruction decoding */ @@ -70,13 +70,13 @@ sp is a local copy of the global variable caml_extern_sp. */ #undef Alloc_small_origin #define Alloc_small_origin CAML_FROM_CAML #define Setup_for_gc \ - { sp -= 2; sp[0] = accu; sp[1] = env; caml_extern_sp = sp; } + { sp -= 2; sp[0] = accu; sp[1] = env; Caml_state->extern_sp = sp; } #define Restore_after_gc \ { accu = sp[0]; env = sp[1]; sp += 2; } #define Setup_for_c_call \ - { saved_pc = pc; *--sp = env; caml_extern_sp = sp; } + { saved_pc = pc; *--sp = env; Caml_state->extern_sp = sp; } #define Restore_after_c_call \ - { sp = caml_extern_sp; env = *sp++; saved_pc = NULL; } + { sp = Caml_state->extern_sp; env = *sp++; saved_pc = NULL; } /* An event frame must look like accu + a C_CALL frame + a RETURN 1 frame */ #define Setup_for_event \ @@ -87,9 +87,9 @@ sp is a local copy of the global variable caml_extern_sp. */ sp[3] = (value) pc; /* RETURN frame: saved return address */ \ sp[4] = env; /* RETURN frame: saved environment */ \ sp[5] = Val_long(extra_args); /* RETURN frame: saved extra args */ \ - caml_extern_sp = sp; } + Caml_state->extern_sp = sp; } #define Restore_after_event \ - { sp = caml_extern_sp; accu = sp[0]; \ + { sp = Caml_state->extern_sp; accu = sp[0]; \ pc = (code_t) sp[3]; env = sp[4]; extra_args = Long_val(sp[5]); \ sp += 6; } @@ -99,7 +99,7 @@ sp is a local copy of the global variable caml_extern_sp. */ { sp -= 4; \ sp[0] = accu; sp[1] = (value)(pc - 1); \ sp[2] = env; sp[3] = Val_long(extra_args); \ - caml_extern_sp = sp; } + Caml_state->extern_sp = sp; } #define Restore_after_debugger { sp += 4; } #ifdef THREADED_CODE @@ -243,23 +243,23 @@ value caml_interprete(code_t prog, asize_t prog_size) jumptbl_base = Jumptbl_base; #endif initial_local_roots = caml_local_roots; - initial_sp_offset = (char *) caml_stack_high - (char *) caml_extern_sp; - initial_external_raise = caml_external_raise; + initial_sp_offset = (char *) Caml_state->stack_high - (char *) Caml_state->extern_sp; + initial_external_raise = Caml_state->external_raise; caml_callback_depth++; saved_pc = NULL; if (sigsetjmp(raise_buf.buf, 0)) { caml_local_roots = initial_local_roots; - sp = caml_extern_sp; - accu = caml_exn_bucket; + sp = Caml_state->extern_sp; + accu = Caml_state->exn_bucket; pc = saved_pc; saved_pc = NULL; if (pc != NULL) pc += 2; /* +2 adjustment for the sole purpose of backtraces */ goto raise_exception; } - caml_external_raise = &raise_buf; + Caml_state->external_raise = &raise_buf; - sp = caml_extern_sp; + sp = Caml_state->extern_sp; pc = prog; extra_args = 0; env = Atom(0); @@ -269,8 +269,8 @@ value caml_interprete(code_t prog, asize_t prog_size) #ifdef DEBUG next_instr: if (caml_icount-- == 0) caml_stop_here (); - CAMLassert(sp >= caml_stack_low); - CAMLassert(sp <= caml_stack_high); + CAMLassert(sp >= Caml_state->stack_low); + CAMLassert(sp <= Caml_state->stack_high); #endif goto *(void *)(jumptbl_base + *pc++); /* Jump to the first instruction */ #else @@ -288,8 +288,8 @@ value caml_interprete(code_t prog, asize_t prog_size) caml_trace_accu_sp_file(accu,sp,prog,prog_size,stdout); fflush(stdout); }; - CAMLassert(sp >= caml_stack_low); - CAMLassert(sp <= caml_stack_high); + CAMLassert(sp >= Caml_state->stack_low); + CAMLassert(sp <= Caml_state->stack_high); #endif curr_instr = *pc++; @@ -825,10 +825,10 @@ value caml_interprete(code_t prog, asize_t prog_size) Instruct(PUSHTRAP): sp -= 4; Trap_pc(sp) = pc + *pc; - Trap_link(sp) = caml_trapsp; + Trap_link(sp) = Caml_state->trapsp; sp[2] = env; sp[3] = Val_long(extra_args); - caml_trapsp = sp; + Caml_state->trapsp = sp; pc++; Next; @@ -840,38 +840,38 @@ value caml_interprete(code_t prog, asize_t prog_size) pc--; /* restart the POPTRAP after processing the signal */ goto process_signal; } - caml_trapsp = Trap_link(sp); + Caml_state->trapsp = Trap_link(sp); sp += 4; Next; Instruct(RAISE_NOTRACE): - if (caml_trapsp >= caml_trap_barrier) + if (Caml_state->trapsp >= Caml_state->trap_barrier) caml_debugger(TRAP_BARRIER, Val_unit); goto raise_notrace; Instruct(RERAISE): - if (caml_trapsp >= caml_trap_barrier) + if (Caml_state->trapsp >= Caml_state->trap_barrier) caml_debugger(TRAP_BARRIER, Val_unit); if (Caml_state->backtrace_active) caml_stash_backtrace(accu, pc, sp, 1); goto raise_notrace; Instruct(RAISE): raise_exception: - if (caml_trapsp >= caml_trap_barrier) + if (Caml_state->trapsp >= Caml_state->trap_barrier) caml_debugger(TRAP_BARRIER, Val_unit); if (Caml_state->backtrace_active) caml_stash_backtrace(accu, pc, sp, 0); raise_notrace: - if ((char *) caml_trapsp - >= (char *) caml_stack_high - initial_sp_offset) { - caml_external_raise = initial_external_raise; - caml_extern_sp = (value *) ((char *) caml_stack_high + if ((char *) Caml_state->trapsp + >= (char *) Caml_state->stack_high - initial_sp_offset) { + Caml_state->external_raise = initial_external_raise; + Caml_state->extern_sp = (value *) ((char *) Caml_state->stack_high - initial_sp_offset); caml_callback_depth--; return Make_exception_result(accu); } - sp = caml_trapsp; + sp = Caml_state->trapsp; pc = Trap_pc(sp); - caml_trapsp = Trap_link(sp); + Caml_state->trapsp = Trap_link(sp); env = sp[2]; extra_args = Long_val(sp[3]); sp += 4; @@ -880,10 +880,10 @@ value caml_interprete(code_t prog, asize_t prog_size) /* Stack checks */ check_stacks: - if (sp < caml_stack_threshold) { - caml_extern_sp = sp; + if (sp < Caml_state->stack_threshold) { + Caml_state->extern_sp = sp; caml_realloc_stack(Stack_threshold / sizeof(value)); - sp = caml_extern_sp; + sp = Caml_state->extern_sp; } /* Fall through CHECK_SIGNALS */ @@ -1125,8 +1125,8 @@ value caml_interprete(code_t prog, asize_t prog_size) /* Debugging and machine control */ Instruct(STOP): - caml_external_raise = initial_external_raise; - caml_extern_sp = sp; + Caml_state->external_raise = initial_external_raise; + Caml_state->extern_sp = sp; caml_callback_depth--; return accu; diff --git a/runtime/meta.c b/runtime/meta.c index 1bfe06275..acb6baacf 100644 --- a/runtime/meta.c +++ b/runtime/meta.c @@ -191,7 +191,7 @@ CAMLprim value caml_realloc_global(value size) CAMLprim value caml_get_current_environment(value unit) { - return *caml_extern_sp; + return *Caml_state->extern_sp; } CAMLprim value caml_invoke_traced_function(value codeptr, value env, value arg) @@ -222,9 +222,9 @@ CAMLprim value caml_invoke_traced_function(value codeptr, value env, value arg) value * osp, * nsp; int i; - osp = caml_extern_sp; - caml_extern_sp -= 4; - nsp = caml_extern_sp; + osp = Caml_state->extern_sp; + Caml_state->extern_sp -= 4; + nsp = Caml_state->extern_sp; for (i = 0; i < 6; i++) nsp[i] = osp[i]; nsp[6] = codeptr; nsp[7] = env; @@ -273,13 +273,7 @@ value caml_static_release_bytecode(value prog, value len) return Val_unit; /* not reached */ } -value * caml_stack_low; -value * caml_stack_high; -value * caml_stack_threshold; -value * caml_extern_sp; -value * caml_trapsp; -int caml_callback_depth; +int volatile caml_something_to_do; void (* volatile caml_async_action_hook)(void); -struct longjmp_buffer * caml_external_raise; #endif diff --git a/runtime/roots_byt.c b/runtime/roots_byt.c index 6536ceeab..4ba838969 100644 --- a/runtime/roots_byt.c +++ b/runtime/roots_byt.c @@ -42,7 +42,7 @@ void caml_oldify_local_roots (void) intnat i, j; /* The stack */ - for (sp = caml_extern_sp; sp < caml_stack_high; sp++) { + for (sp = Caml_state->extern_sp; sp < Caml_state->stack_high; sp++) { caml_oldify_one (*sp, sp); } /* Local C roots */ /* FIXME do the old-frame trick ? */ @@ -85,7 +85,7 @@ void caml_do_roots (scanning_action f, int do_globals) f(caml_global_data, &caml_global_data); CAML_INSTR_TIME (tmr, "major_roots/global"); /* The stack and the local C roots */ - caml_do_local_roots(f, caml_extern_sp, caml_stack_high, caml_local_roots); + caml_do_local_roots(f, Caml_state->extern_sp, Caml_state->stack_high, caml_local_roots); CAML_INSTR_TIME (tmr, "major_roots/local"); /* Global C roots */ caml_scan_global_roots(f); diff --git a/runtime/stacks.c b/runtime/stacks.c index d6e7f53ce..cb45fbae3 100644 --- a/runtime/stacks.c +++ b/runtime/stacks.c @@ -24,24 +24,18 @@ #include "caml/mlvalues.h" #include "caml/stacks.h" -CAMLexport value * caml_stack_low; -CAMLexport value * caml_stack_high; -CAMLexport value * caml_stack_threshold; -CAMLexport value * caml_extern_sp; -CAMLexport value * caml_trapsp; -CAMLexport value * caml_trap_barrier; value caml_global_data = 0; uintnat caml_max_stack_size; /* also used in gc_ctrl.c */ void caml_init_stack (uintnat initial_max_size) { - caml_stack_low = (value *) caml_stat_alloc(Stack_size); - caml_stack_high = caml_stack_low + Stack_size / sizeof (value); - caml_stack_threshold = caml_stack_low + Stack_threshold / sizeof (value); - caml_extern_sp = caml_stack_high; - caml_trapsp = caml_stack_high; - caml_trap_barrier = caml_stack_high + 1; + Caml_state->stack_low = (value *) caml_stat_alloc(Stack_size); + Caml_state->stack_high = Caml_state->stack_low + Stack_size / sizeof (value); + Caml_state->stack_threshold = Caml_state->stack_low + Stack_threshold / sizeof (value); + Caml_state->extern_sp = Caml_state->stack_high; + Caml_state->trapsp = Caml_state->stack_high; + Caml_state->trap_barrier = Caml_state->stack_high + 1; caml_max_stack_size = initial_max_size; caml_gc_message (0x08, "Initial stack limit: %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", @@ -54,12 +48,12 @@ void caml_realloc_stack(asize_t required_space) value * new_low, * new_high, * new_sp; value * p; - CAMLassert(caml_extern_sp >= caml_stack_low); - size = caml_stack_high - caml_stack_low; + CAMLassert(Caml_state->extern_sp >= Caml_state->stack_low); + size = Caml_state->stack_high - Caml_state->stack_low; do { if (size >= caml_max_stack_size) caml_raise_stack_overflow(); size *= 2; - } while (size < caml_stack_high - caml_extern_sp + required_space); + } while (size < Caml_state->stack_high - Caml_state->extern_sp + required_space); caml_gc_message (0x08, "Growing stack to %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", (uintnat) size * sizeof(value) / 1024); @@ -67,21 +61,21 @@ void caml_realloc_stack(asize_t required_space) new_high = new_low + size; #define shift(ptr) \ - ((char *) new_high - ((char *) caml_stack_high - (char *) (ptr))) + ((char *) new_high - ((char *) Caml_state->stack_high - (char *) (ptr))) - new_sp = (value *) shift(caml_extern_sp); + new_sp = (value *) shift(Caml_state->extern_sp); memmove((char *) new_sp, - (char *) caml_extern_sp, - (caml_stack_high - caml_extern_sp) * sizeof(value)); - caml_stat_free(caml_stack_low); - caml_trapsp = (value *) shift(caml_trapsp); - caml_trap_barrier = (value *) shift(caml_trap_barrier); - for (p = caml_trapsp; p < new_high; p = Trap_link(p)) + (char *) Caml_state->extern_sp, + (Caml_state->stack_high - Caml_state->extern_sp) * sizeof(value)); + caml_stat_free(Caml_state->stack_low); + Caml_state->trapsp = (value *) shift(Caml_state->trapsp); + Caml_state->trap_barrier = (value *) shift(Caml_state->trap_barrier); + for (p = Caml_state->trapsp; p < new_high; p = Trap_link(p)) Trap_link(p) = (value *) shift(Trap_link(p)); - caml_stack_low = new_low; - caml_stack_high = new_high; - caml_stack_threshold = caml_stack_low + Stack_threshold / sizeof (value); - caml_extern_sp = new_sp; + Caml_state->stack_low = new_low; + Caml_state->stack_high = new_high; + Caml_state->stack_threshold = Caml_state->stack_low + Stack_threshold / sizeof (value); + Caml_state->extern_sp = new_sp; #undef shift } @@ -89,13 +83,13 @@ void caml_realloc_stack(asize_t required_space) CAMLprim value caml_ensure_stack_capacity(value required_space) { asize_t req = Long_val(required_space); - if (caml_extern_sp - req < caml_stack_low) caml_realloc_stack(req); + if (Caml_state->extern_sp - req < Caml_state->stack_low) caml_realloc_stack(req); return Val_unit; } void caml_change_max_stack_size (uintnat new_max_size) { - asize_t size = caml_stack_high - caml_extern_sp + asize_t size = Caml_state->stack_high - Caml_state->extern_sp + Stack_threshold / sizeof (value); if (new_max_size < size) new_max_size = size; @@ -112,7 +106,7 @@ CAMLexport uintnat (*caml_stack_usage_hook)(void) = NULL; uintnat caml_stack_usage(void) { uintnat sz; - sz = caml_stack_high - caml_extern_sp; + sz = Caml_state->stack_high - Caml_state->extern_sp; if (caml_stack_usage_hook != NULL) sz += (*caml_stack_usage_hook)(); return sz; diff --git a/runtime/startup_byt.c b/runtime/startup_byt.c index 301bdf50c..9a6ba336d 100644 --- a/runtime/startup_byt.c +++ b/runtime/startup_byt.c @@ -355,7 +355,6 @@ CAMLexport void caml_main(char_os **argv) #endif caml_init_custom_operations(); caml_ext_table_init(&caml_shared_libs_path, 8); - caml_external_raise = NULL; /* Determine position of bytecode file */ pos = 0; @@ -456,13 +455,13 @@ CAMLexport void caml_main(char_os **argv) caml_debugger(PROGRAM_START, Val_unit); res = caml_interprete(caml_start_code, caml_code_size); if (Is_exception_result(res)) { - caml_exn_bucket = Extract_exception(res); + Caml_state->exn_bucket = Extract_exception(res); if (caml_debugger_in_use) { - caml_extern_sp = &caml_exn_bucket; /* The debugger needs the + Caml_state->extern_sp = &Caml_state->exn_bucket; /* The debugger needs the exception value.*/ caml_debugger(UNCAUGHT_EXC, Val_unit); } - caml_fatal_uncaught_exception(caml_exn_bucket); + caml_fatal_uncaught_exception(Caml_state->exn_bucket); } } @@ -503,7 +502,7 @@ CAMLexport value caml_startup_code_exn( } exe_name = caml_executable_name(); if (exe_name == NULL) exe_name = caml_search_exe_in_path(argv[0]); - caml_external_raise = NULL; + Caml_state->external_raise = NULL; /* Initialize the domain */ caml_init_domain(); /* Initialize the abstract machine */ @@ -557,12 +556,12 @@ CAMLexport void caml_startup_code( section_table, section_table_size, pooling, argv); if (Is_exception_result(res)) { - caml_exn_bucket = Extract_exception(res); + Caml_state->exn_bucket = Extract_exception(res); if (caml_debugger_in_use) { - caml_extern_sp = &caml_exn_bucket; /* The debugger needs the + Caml_state->extern_sp = &Caml_state->exn_bucket; /* The debugger needs the exception value.*/ caml_debugger(UNCAUGHT_EXC, Val_unit); } - caml_fatal_uncaught_exception(caml_exn_bucket); + caml_fatal_uncaught_exception(Caml_state->exn_bucket); } } From 3357490de04ed4ee3f7397c110e8dae5b88358c1 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 7 Jun 2019 17:08:45 +0530 Subject: [PATCH 11/54] Move native runtime globals used for roots to domain state --- otherlibs/systhreads/st_stubs.c | 22 +++++++++---------- runtime/amd64.S | 38 ++++++++++++++++----------------- runtime/backtrace_nat.c | 10 ++++----- runtime/caml/domain_state.tbl | 5 +++++ runtime/caml/stack.h | 4 ---- runtime/domain.c | 5 +++++ runtime/roots_nat.c | 16 ++++++-------- runtime/startup_byt.c | 1 - runtime/startup_nat.c | 2 +- 9 files changed, 52 insertions(+), 51 deletions(-) diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index 353db9526..1991b4cde 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -76,9 +76,9 @@ struct caml_thread_struct { struct caml_thread_struct * prev; #ifdef NATIVE_CODE char * top_of_stack; /* Top of stack for this thread (approx.) */ - char * bottom_of_stack; /* Saved value of caml_bottom_of_stack */ - uintnat last_retaddr; /* Saved value of caml_last_return_address */ - value * gc_regs; /* Saved value of caml_gc_regs */ + char * bottom_of_stack; /* Saved value of Caml_state->bottom_of_stack */ + uintnat last_retaddr; /* Saved value of Caml_state->last_return_address */ + value * gc_regs; /* Saved value of Caml_state->gc_regs */ char * exception_pointer; /* Saved value of Caml_state->exn_handler */ struct caml__roots_block * local_roots; /* Saved value of local_roots */ struct longjmp_buffer * exit_buf; /* For thread exit */ @@ -174,10 +174,10 @@ static void caml_thread_scan_roots(scanning_action action) static inline void caml_thread_save_runtime_state(void) { #ifdef NATIVE_CODE - curr_thread->top_of_stack = caml_top_of_stack; - curr_thread->bottom_of_stack = caml_bottom_of_stack; - curr_thread->last_retaddr = caml_last_return_address; - curr_thread->gc_regs = caml_gc_regs; + curr_thread->top_of_stack = Caml_state->top_of_stack; + curr_thread->bottom_of_stack = Caml_state->bottom_of_stack; + curr_thread->last_retaddr = Caml_state->last_return_address; + curr_thread->gc_regs = Caml_state->gc_regs; curr_thread->exception_pointer = Caml_state->exn_handler; curr_thread->local_roots = caml_local_roots; #ifdef WITH_SPACETIME @@ -204,10 +204,10 @@ static inline void caml_thread_save_runtime_state(void) static inline void caml_thread_restore_runtime_state(void) { #ifdef NATIVE_CODE - caml_top_of_stack = curr_thread->top_of_stack; - caml_bottom_of_stack= curr_thread->bottom_of_stack; - caml_last_return_address = curr_thread->last_retaddr; - caml_gc_regs = curr_thread->gc_regs; + Caml_state->top_of_stack = curr_thread->top_of_stack; + Caml_state->bottom_of_stack= curr_thread->bottom_of_stack; + Caml_state->last_return_address = curr_thread->last_retaddr; + Caml_state->gc_regs = curr_thread->gc_regs; Caml_state->exn_handler = curr_thread->exception_pointer; caml_local_roots = curr_thread->local_roots; #ifdef WITH_SPACETIME diff --git a/runtime/amd64.S b/runtime/amd64.S index d1e122cae..d80ea858e 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -166,9 +166,9 @@ #define RECORD_STACK_FRAME(OFFSET) \ pushq %r11 ; CFI_ADJUST(8); \ movq 8+OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_last_return_address) ; \ + movq %rax, Caml_state(last_return_address) ; \ leaq 16+OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_bottom_of_stack) ; \ + movq %rax, Caml_state(bottom_of_stack) ; \ popq %r11; CFI_ADJUST(-8) /* Load address of global [label] in register [dst]. */ @@ -202,9 +202,9 @@ #define RECORD_STACK_FRAME(OFFSET) \ movq OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_last_return_address) ; \ + movq %rax, Caml_state(last_return_address) ; \ leaq 8+OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_bottom_of_stack) + movq %rax, Caml_state(bottom_of_stack) #define LEA_VAR(label,dst) \ leaq G(label)(%rip), dst @@ -338,7 +338,7 @@ LBL(caml_call_gc): subq $(STACK_PROBE_SIZE), %rsp; CFI_ADJUST(STACK_PROBE_SIZE); movq %rax, 0(%rsp) addq $(STACK_PROBE_SIZE), %rsp; CFI_ADJUST(-STACK_PROBE_SIZE); - /* Build array of registers, save it into caml_gc_regs */ + /* Build array of registers, save it into Caml_state->gc_regs */ #ifdef WITH_FRAME_POINTERS ENTER_FUNCTION ; #else @@ -356,7 +356,7 @@ LBL(caml_call_gc): pushq %rdi; CFI_ADJUST (8); pushq %rbx; CFI_ADJUST (8); pushq %rax; CFI_ADJUST (8); - STORE_VAR(%rsp, caml_gc_regs) + movq %rsp, Caml_state(gc_regs) /* Save young_ptr */ movq %r15, Caml_state(young_ptr) #ifdef WITH_SPACETIME @@ -540,11 +540,11 @@ CFI_STARTPROC LBL(caml_c_call): /* Record lowest stack address and return address */ popq %r12; CFI_ADJUST(-8) - STORE_VAR(%r12, caml_last_return_address) - STORE_VAR(%rsp, caml_bottom_of_stack) + movq %r12, Caml_state(last_return_address) + movq %rsp, Caml_state(bottom_of_stack) #ifdef WITH_SPACETIME /* Record the trie node hole pointer that corresponds to - [caml_last_return_address] */ + [Caml_state->last_return_address] */ STORE_VAR(%r13, caml_spacetime_trie_node_ptr) #endif subq $8, %rsp; CFI_ADJUST(8) /* equivalent to pushq %r12 */ @@ -580,9 +580,9 @@ LBL(caml_start_program): #else subq $8, %rsp; CFI_ADJUST (8) /* stack 16-aligned */ #endif - PUSH_VAR(caml_gc_regs) - PUSH_VAR(caml_last_return_address) - PUSH_VAR(caml_bottom_of_stack) + pushq Caml_state(gc_regs) + pushq Caml_state(last_return_address) + pushq Caml_state(bottom_of_stack) #ifdef WITH_SPACETIME /* Save arguments to caml_callback* */ pushq %rax; CFI_ADJUST (8) @@ -618,9 +618,9 @@ LBL(109): /* Update alloc ptr */ movq %r15, Caml_state(young_ptr) /* Pop the callback link, restoring the global variables */ - POP_VAR(caml_bottom_of_stack) - POP_VAR(caml_last_return_address) - POP_VAR(caml_gc_regs) + popq Caml_state(bottom_of_stack) + popq Caml_state(last_return_address) + popq Caml_state(gc_regs) #ifdef WITH_SPACETIME POP_VAR(caml_spacetime_trie_node_ptr) #else @@ -688,10 +688,10 @@ LBL(112): #endif /* Save exception bucket. Caml_state in r14 saved across C calls. */ movq C_ARG_2, %r12 - movq C_ARG_2, C_ARG_1 /* arg 1: exception bucket */ - LOAD_VAR(caml_last_return_address,C_ARG_2) /* arg 2: pc of raise */ - LOAD_VAR(caml_bottom_of_stack,C_ARG_3) /* arg 3: sp of raise */ - movq Caml_state(exn_handler), C_ARG_4 /* arg 4: sp of handler */ + movq C_ARG_2, C_ARG_1 /* arg 1: exception bucket */ + movq Caml_state(last_return_address), C_ARG_2 /* arg 2: pc of raise */ + movq Caml_state(bottom_of_stack), C_ARG_3 /* arg 3: sp of raise */ + movq Caml_state(exn_handler), C_ARG_4 /* arg 4: sp of handler */ #ifndef WITH_FRAME_POINTERS subq $8, %rsp /* PR#5700: maintain stack alignment */ #endif diff --git a/runtime/backtrace_nat.c b/runtime/backtrace_nat.c index d94ee43eb..9c9734045 100644 --- a/runtime/backtrace_nat.c +++ b/runtime/backtrace_nat.c @@ -104,8 +104,8 @@ void caml_stash_backtrace(value exn, uintnat pc, char * sp, char * trapsp) intnat caml_current_callstack_size(intnat max_frames) { intnat trace_size = 0; - uintnat pc = caml_last_return_address; - char * sp = caml_bottom_of_stack; + uintnat pc = Caml_state->last_return_address; + char * sp = Caml_state->bottom_of_stack; while (1) { frame_descr * descr = caml_next_frame_descriptor(&pc, &sp); @@ -113,15 +113,15 @@ intnat caml_current_callstack_size(intnat max_frames) { if (trace_size >= max_frames) break; ++trace_size; - if (sp > caml_top_of_stack) break; + if (sp > Caml_state->top_of_stack) break; } return trace_size; } void caml_current_callstack_write(value trace) { - uintnat pc = caml_last_return_address; - char * sp = caml_bottom_of_stack; + uintnat pc = Caml_state->last_return_address; + char * sp = Caml_state->bottom_of_stack; intnat trace_pos, trace_size = Wosize_val(trace); for (trace_pos = 0; trace_pos < trace_size; trace_pos++) { diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 1f34ff06e..2bbd5993c 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -28,6 +28,11 @@ DOMAIN_STATE(struct longjmp_buffer*, external_raise) DOMAIN_STATE(value, exn_bucket) /* See interp.c */ +DOMAIN_STATE(char*, top_of_stack) +DOMAIN_STATE(char*, bottom_of_stack) +DOMAIN_STATE(uintnat, last_return_address) +DOMAIN_STATE(value*, gc_regs) + DOMAIN_STATE(double, stat_minor_words) DOMAIN_STATE(double, stat_promoted_words) DOMAIN_STATE(double, stat_major_words) diff --git a/runtime/caml/stack.h b/runtime/caml/stack.h index 8b898ea9a..cb8b77922 100644 --- a/runtime/caml/stack.h +++ b/runtime/caml/stack.h @@ -107,10 +107,6 @@ extern uintnat caml_stack_usage (void); extern uintnat (*caml_stack_usage_hook)(void); /* Declaration of variables used in the asm code */ -extern char * caml_top_of_stack; -extern char * caml_bottom_of_stack; -extern uintnat caml_last_return_address; -extern value * caml_gc_regs; extern value * caml_globals[]; extern char caml_globals_map[]; extern intnat caml_globals_inited; diff --git a/runtime/domain.c b/runtime/domain.c index a144b6968..488dee572 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -52,6 +52,11 @@ void caml_init_domain () Caml_state->external_raise = NULL; Caml_state->exn_bucket = Val_unit; + Caml_state->top_of_stack = NULL; + Caml_state->bottom_of_stack = NULL; /* no stack initially */ + Caml_state->last_return_address = 1; /* not in OCaml code initially */ + Caml_state->gc_regs = NULL; + Caml_state->stat_minor_words = 0.0; Caml_state->stat_promoted_words = 0.0; Caml_state->stat_major_words = 0.0; diff --git a/runtime/roots_nat.c b/runtime/roots_nat.c index 38483b412..abd6f1753 100644 --- a/runtime/roots_nat.c +++ b/runtime/roots_nat.c @@ -220,10 +220,6 @@ void caml_unregister_frametable(intnat *table) { /* Communication with [caml_start_program] and [caml_call_gc]. */ -char * caml_top_of_stack; -char * caml_bottom_of_stack = NULL; /* no stack initially */ -uintnat caml_last_return_address = 1; /* not in OCaml code initially */ -value * caml_gc_regs; intnat caml_globals_inited = 0; static intnat caml_globals_scanned = 0; static link * caml_dyn_globals = NULL; @@ -271,9 +267,9 @@ void caml_oldify_local_roots (void) } /* The stack and local roots */ - sp = caml_bottom_of_stack; - retaddr = caml_last_return_address; - regs = caml_gc_regs; + sp = Caml_state->bottom_of_stack; + retaddr = Caml_state->last_return_address; + regs = Caml_state->gc_regs; if (sp != NULL) { while (1) { /* Find the descriptor corresponding to the return address */ @@ -414,8 +410,8 @@ void caml_do_roots (scanning_action f, int do_globals) } CAML_INSTR_TIME (tmr, "major_roots/dynamic_global"); /* The stack and local roots */ - caml_do_local_roots(f, caml_bottom_of_stack, caml_last_return_address, - caml_gc_regs, caml_local_roots); + caml_do_local_roots(f, Caml_state->bottom_of_stack, Caml_state->last_return_address, + Caml_state->gc_regs, caml_local_roots); CAML_INSTR_TIME (tmr, "major_roots/local"); /* Global C roots */ caml_scan_global_roots(f); @@ -499,7 +495,7 @@ uintnat (*caml_stack_usage_hook)(void) = NULL; uintnat caml_stack_usage (void) { uintnat sz; - sz = (value *) caml_top_of_stack - (value *) caml_bottom_of_stack; + sz = (value *) Caml_state->top_of_stack - (value *) Caml_state->bottom_of_stack; if (caml_stack_usage_hook != NULL) sz += (*caml_stack_usage_hook)(); return sz; diff --git a/runtime/startup_byt.c b/runtime/startup_byt.c index 9a6ba336d..fa75d1cbc 100644 --- a/runtime/startup_byt.c +++ b/runtime/startup_byt.c @@ -502,7 +502,6 @@ CAMLexport value caml_startup_code_exn( } exe_name = caml_executable_name(); if (exe_name == NULL) exe_name = caml_search_exe_in_path(argv[0]); - Caml_state->external_raise = NULL; /* Initialize the domain */ caml_init_domain(); /* Initialize the abstract machine */ diff --git a/runtime/startup_nat.c b/runtime/startup_nat.c index 06a6e2654..9a1bd32f9 100644 --- a/runtime/startup_nat.c +++ b/runtime/startup_nat.c @@ -133,9 +133,9 @@ value caml_startup_common(char_os **argv, int pooling) caml_install_invalid_parameter_handler(); #endif caml_init_custom_operations(); - caml_top_of_stack = &tos; /* Initialize the domain */ caml_init_domain(); + Caml_state->top_of_stack = &tos; caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, caml_init_max_percent_free, caml_init_major_window, From cededf23b93e1ac7f2f12eac0c0bc41ceb46773f Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sun, 9 Jun 2019 23:07:42 +0530 Subject: [PATCH 12/54] Move local_roots, compare unorderd and gc request variables to domain state --- otherlibs/systhreads/st_stubs.c | 8 ++-- runtime/bigarray.c | 2 +- runtime/caml/compatibility.h | 5 --- runtime/caml/domain.h | 4 +- runtime/caml/domain_state.tbl | 18 ++++++--- runtime/caml/memory.h | 70 +++++++++++++++++++-------------- runtime/caml/mlvalues.h | 2 + runtime/caml/signals.h | 2 - runtime/compare.c | 13 +++--- runtime/domain.c | 5 +++ runtime/fail_nat.c | 6 +-- runtime/interp.c | 4 +- runtime/minor_gc.c | 14 +++---- runtime/roots_byt.c | 6 +-- runtime/roots_nat.c | 6 +-- runtime/signals.c | 3 -- runtime/signals_nat.c | 2 +- 17 files changed, 88 insertions(+), 82 deletions(-) diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index 1991b4cde..f82851667 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -94,7 +94,7 @@ struct caml_thread_struct { value * stack_threshold; value * sp; /* Saved value of Caml_state->extern_sp for this thread */ value * trapsp; /* Saved value of Caml_state->trapsp for this thread */ - struct caml__roots_block * local_roots; /* Saved value of caml_local_roots */ + struct caml__roots_block * local_roots; /* Saved value of Caml_state->local_roots */ struct longjmp_buffer * external_raise; /* Saved Caml_state->external_raise */ #endif int backtrace_pos; /* Saved Caml_state->backtrace_pos */ @@ -179,7 +179,6 @@ static inline void caml_thread_save_runtime_state(void) curr_thread->last_retaddr = Caml_state->last_return_address; curr_thread->gc_regs = Caml_state->gc_regs; curr_thread->exception_pointer = Caml_state->exn_handler; - curr_thread->local_roots = caml_local_roots; #ifdef WITH_SPACETIME curr_thread->spacetime_trie_node_ptr = caml_spacetime_trie_node_ptr; @@ -192,9 +191,9 @@ static inline void caml_thread_save_runtime_state(void) curr_thread->stack_threshold = Caml_state->stack_threshold; curr_thread->sp = Caml_state->extern_sp; curr_thread->trapsp = Caml_state->trapsp; - curr_thread->local_roots = caml_local_roots; curr_thread->external_raise = Caml_state->external_raise; #endif + curr_thread->local_roots = Caml_state->local_roots; curr_thread->backtrace_pos = Caml_state->backtrace_pos; curr_thread->backtrace_buffer = Caml_state->backtrace_buffer; curr_thread->backtrace_last_exn = Caml_state->backtrace_last_exn; @@ -209,7 +208,6 @@ static inline void caml_thread_restore_runtime_state(void) Caml_state->last_return_address = curr_thread->last_retaddr; Caml_state->gc_regs = curr_thread->gc_regs; Caml_state->exn_handler = curr_thread->exception_pointer; - caml_local_roots = curr_thread->local_roots; #ifdef WITH_SPACETIME caml_spacetime_trie_node_ptr = curr_thread->spacetime_trie_node_ptr; @@ -222,9 +220,9 @@ static inline void caml_thread_restore_runtime_state(void) Caml_state->stack_threshold = curr_thread->stack_threshold; Caml_state->extern_sp = curr_thread->sp; Caml_state->trapsp = curr_thread->trapsp; - caml_local_roots = curr_thread->local_roots; Caml_state->external_raise = curr_thread->external_raise; #endif + Caml_state->local_roots = curr_thread->local_roots; Caml_state->backtrace_pos = curr_thread->backtrace_pos; Caml_state->backtrace_buffer = curr_thread->backtrace_buffer; Caml_state->backtrace_last_exn = curr_thread->backtrace_last_exn; diff --git a/runtime/bigarray.c b/runtime/bigarray.c index 62d3d3dec..607339093 100644 --- a/runtime/bigarray.c +++ b/runtime/bigarray.c @@ -209,7 +209,7 @@ CAMLexport int caml_ba_compare(value v1, value v2) if (e1 < e2) return -1; \ if (e1 > e2) return 1; \ if (e1 != e2) { \ - caml_compare_unordered = 1; \ + Caml_state->compare_unordered = 1; \ if (e1 == e1) return 1; \ if (e2 == e2) return -1; \ } \ diff --git a/runtime/caml/compatibility.h b/runtime/caml/compatibility.h index 841949551..3ea15e256 100644 --- a/runtime/caml/compatibility.h +++ b/runtime/caml/compatibility.h @@ -235,10 +235,6 @@ /* **** meta.c */ /* **** minor_gc.c */ -#define young_start (caml_state->young_start) -#define young_end (Caml_state->young_end) -#define young_ptr (Caml_state->young_ptr) -#define young_limit (Caml_state->young_limit) #define ref_table caml_ref_table #define minor_collection caml_minor_collection #define check_urgent_gc caml_check_urgent_gc @@ -255,7 +251,6 @@ #define format_caml_exception caml_format_exception /*SP*/ /* **** roots.c */ -#define local_roots caml_local_roots #define scan_roots_hook caml_scan_roots_hook #define do_local_roots caml_do_local_roots diff --git a/runtime/caml/domain.h b/runtime/caml/domain.h index 3e843be2f..13af5b82a 100644 --- a/runtime/caml/domain.h +++ b/runtime/caml/domain.h @@ -24,12 +24,12 @@ extern "C" { #include "domain_state.h" -CAMLextern caml_domain_state* Caml_state; - void caml_init_domain(void); #endif /* CAML_INTERNALS */ +CAMLextern caml_domain_state* Caml_state; + #ifdef __cplusplus } #endif diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 2bbd5993c..22a646f71 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -32,6 +32,18 @@ DOMAIN_STATE(char*, top_of_stack) DOMAIN_STATE(char*, bottom_of_stack) DOMAIN_STATE(uintnat, last_return_address) DOMAIN_STATE(value*, gc_regs) +/* See roots_nat.c */ + +DOMAIN_STATE(intnat, backtrace_active) +DOMAIN_STATE(intnat, backtrace_pos) +DOMAIN_STATE(backtrace_slot*, backtrace_buffer) +DOMAIN_STATE(value, backtrace_last_exn) +/* See backtrace.c */ + +DOMAIN_STATE(intnat, compare_unordered) +DOMAIN_STATE(intnat, requested_major_slice) +DOMAIN_STATE(intnat, requested_minor_gc) +DOMAIN_STATE(struct caml__roots_block *, local_roots) DOMAIN_STATE(double, stat_minor_words) DOMAIN_STATE(double, stat_promoted_words) @@ -43,9 +55,3 @@ DOMAIN_STATE(intnat, stat_top_heap_wsz) DOMAIN_STATE(intnat, stat_compactions) DOMAIN_STATE(intnat, stat_heap_chunks) /* See gc_ctrl.c */ - -DOMAIN_STATE(intnat, backtrace_active) -DOMAIN_STATE(intnat, backtrace_pos) -DOMAIN_STATE(backtrace_slot*, backtrace_buffer) -DOMAIN_STATE(value, backtrace_last_exn) -/* See backtrace.c */ diff --git a/runtime/caml/memory.h b/runtime/caml/memory.h index e8cc3fe4e..b98ae2310 100644 --- a/runtime/caml/memory.h +++ b/runtime/caml/memory.h @@ -28,9 +28,9 @@ #include "minor_gc.h" #include "memprof.h" #endif /* CAML_INTERNALS */ -#include "domain.h" #include "misc.h" #include "mlvalues.h" +#include "domain.h" #ifdef __cplusplus extern "C" { @@ -272,8 +272,6 @@ struct caml__roots_block { value *tables [5]; }; -CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ - /* The following macros are used to declare C local variables and function parameters of type [value]. @@ -306,7 +304,7 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ */ #define CAMLparam0() \ - struct caml__roots_block *caml__frame = caml_local_roots + struct caml__roots_block *caml__frame = Caml_state->local_roots #define CAMLparam1(x) \ CAMLparam0 (); \ @@ -356,10 +354,11 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define CAMLxparam1(x) \ struct caml__roots_block caml__roots_##x; \ + caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = caml_local_roots), \ - (caml_local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = domain_state_##x->local_roots), \ + (domain_state_##x->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 1), \ (caml__roots_##x.tables [0] = &x), \ @@ -368,10 +367,11 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define CAMLxparam2(x, y) \ struct caml__roots_block caml__roots_##x; \ + caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = caml_local_roots), \ - (caml_local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = domain_state_##x->local_roots), \ + (domain_state_##x->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 2), \ (caml__roots_##x.tables [0] = &x), \ @@ -381,10 +381,11 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define CAMLxparam3(x, y, z) \ struct caml__roots_block caml__roots_##x; \ + caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = caml_local_roots), \ - (caml_local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = domain_state_##x->local_roots), \ + (domain_state_##x->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 3), \ (caml__roots_##x.tables [0] = &x), \ @@ -395,10 +396,11 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define CAMLxparam4(x, y, z, t) \ struct caml__roots_block caml__roots_##x; \ + caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = caml_local_roots), \ - (caml_local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = domain_state_##x->local_roots), \ + (domain_state_##x->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 4), \ (caml__roots_##x.tables [0] = &x), \ @@ -410,10 +412,11 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define CAMLxparam5(x, y, z, t, u) \ struct caml__roots_block caml__roots_##x; \ + caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = caml_local_roots), \ - (caml_local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = domain_state_##x->local_roots), \ + (domain_state_##x->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 5), \ (caml__roots_##x.tables [0] = &x), \ @@ -426,10 +429,11 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define CAMLxparamN(x, size) \ struct caml__roots_block caml__roots_##x; \ + caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = caml_local_roots), \ - (caml_local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = domain_state_##x->local_roots), \ + (domain_state_##x->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = (size)), \ (caml__roots_##x.ntables = 1), \ (caml__roots_##x.tables[0] = &(x[0])), \ @@ -465,7 +469,7 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ CAMLxparamN (x, (size)) -#define CAMLdrop caml_local_roots = caml__frame +#define CAMLdrop Caml_state->local_roots = caml__frame #define CAMLreturn0 do{ \ CAMLdrop; \ @@ -514,16 +518,18 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define Begin_roots1(r0) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = caml_local_roots; \ - caml_local_roots = &caml__roots_block; \ + caml_domain_state* domain_state = Caml_state; \ + caml__roots_block.next = domain_state->local_roots; \ + domain_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 1; \ caml__roots_block.tables[0] = &(r0); #define Begin_roots2(r0, r1) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = caml_local_roots; \ - caml_local_roots = &caml__roots_block; \ + caml_domain_state* domain_state = Caml_state; \ + caml__roots_block.next = domain_state->local_roots; \ + domain_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 2; \ caml__roots_block.tables[0] = &(r0); \ @@ -531,8 +537,9 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define Begin_roots3(r0, r1, r2) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = caml_local_roots; \ - caml_local_roots = &caml__roots_block; \ + caml_domain_state* domain_state = Caml_state; \ + caml__roots_block.next = domain_state->local_roots; \ + domain_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 3; \ caml__roots_block.tables[0] = &(r0); \ @@ -541,8 +548,9 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define Begin_roots4(r0, r1, r2, r3) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = caml_local_roots; \ - caml_local_roots = &caml__roots_block; \ + caml_domain_state* domain_state = Caml_state; \ + caml__roots_block.next = domain_state->local_roots; \ + domain_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 4; \ caml__roots_block.tables[0] = &(r0); \ @@ -552,8 +560,9 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define Begin_roots5(r0, r1, r2, r3, r4) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = caml_local_roots; \ - caml_local_roots = &caml__roots_block; \ + caml_domain_state* domain_state = Caml_state; \ + caml__roots_block.next = domain_state->local_roots; \ + domain_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 5; \ caml__roots_block.tables[0] = &(r0); \ @@ -564,13 +573,14 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */ #define Begin_roots_block(table, size) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = caml_local_roots; \ - caml_local_roots = &caml__roots_block; \ + caml_domain_state* domain_state = Caml_state; \ + caml__roots_block.next = domain_state->local_roots; \ + domain_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = (size); \ caml__roots_block.ntables = 1; \ caml__roots_block.tables[0] = (table); -#define End_roots() caml_local_roots = caml__roots_block.next; } +#define End_roots() Caml_state->local_roots = caml__roots_block.next; } /* [caml_register_global_root] registers a global C variable as a memory root diff --git a/runtime/caml/mlvalues.h b/runtime/caml/mlvalues.h index ec30b20a1..a20c09a14 100644 --- a/runtime/caml/mlvalues.h +++ b/runtime/caml/mlvalues.h @@ -64,6 +64,8 @@ typedef unsigned int tag_t; /* Actually, an unsigned char */ typedef uintnat color_t; typedef uintnat mark_t; +#include "domain_state.h" + /* Longs vs blocks. */ #define Is_long(x) (((x) & 1) != 0) #define Is_block(x) (((x) & 1) == 0) diff --git a/runtime/caml/signals.h b/runtime/caml/signals.h index 209027ab5..654cd8dd4 100644 --- a/runtime/caml/signals.h +++ b/runtime/caml/signals.h @@ -33,8 +33,6 @@ extern "C" { #ifdef CAML_INTERNALS CAMLextern intnat volatile caml_pending_signals[]; CAMLextern int volatile caml_something_to_do; -extern int volatile caml_requested_major_slice; -extern int volatile caml_requested_minor_gc; void caml_update_young_limit(void); void caml_request_major_slice (void); diff --git a/runtime/compare.c b/runtime/compare.c index fd7ed763d..974e0c01f 100644 --- a/runtime/compare.c +++ b/runtime/compare.c @@ -30,7 +30,6 @@ struct compare_item { value * v1, * v2; mlsize_t count; }; #define COMPARE_STACK_INIT_SIZE 8 #define COMPARE_STACK_MIN_ALLOC_SIZE 32 #define COMPARE_STACK_MAX_SIZE (1024*1024) -CAMLexport int caml_compare_unordered; struct compare_stack { struct compare_item init_stack[COMPARE_STACK_INIT_SIZE]; @@ -140,9 +139,9 @@ static intnat do_compare_val(struct compare_stack* stk, int res; int (*compare)(value v1, value v2) = Custom_ops_val(v2)->compare_ext; if (compare == NULL) break; /* for backward compatibility */ - caml_compare_unordered = 0; + Caml_state->compare_unordered = 0; res = compare(v1, v2); - if (caml_compare_unordered && !total) return UNORDERED; + if (Caml_state->compare_unordered && !total) return UNORDERED; if (res != 0) return res; goto next_item; } @@ -163,9 +162,9 @@ static intnat do_compare_val(struct compare_stack* stk, int res; int (*compare)(value v1, value v2) = Custom_ops_val(v1)->compare_ext; if (compare == NULL) break; /* for backward compatibility */ - caml_compare_unordered = 0; + Caml_state->compare_unordered = 0; res = compare(v1, v2); - if (caml_compare_unordered && !total) return UNORDERED; + if (Caml_state->compare_unordered && !total) return UNORDERED; if (res != 0) return res; goto next_item; } @@ -261,9 +260,9 @@ static intnat do_compare_val(struct compare_stack* stk, compare_free_stack(stk); caml_invalid_argument("compare: abstract value"); } - caml_compare_unordered = 0; + Caml_state->compare_unordered = 0; res = compare(v1, v2); - if (caml_compare_unordered && !total) return UNORDERED; + if (Caml_state->compare_unordered && !total) return UNORDERED; if (res != 0) return res; break; } diff --git a/runtime/domain.c b/runtime/domain.c index 488dee572..a5966eae1 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -71,4 +71,9 @@ void caml_init_domain () Caml_state->backtrace_pos = 0; Caml_state->backtrace_buffer = NULL; Caml_state->backtrace_last_exn = Val_unit; + + Caml_state->compare_unordered = 0; + Caml_state->local_roots = NULL; + Caml_state->requested_major_slice = 0; + Caml_state->requested_minor_gc = 0; } diff --git a/runtime/fail_nat.c b/runtime/fail_nat.c index 19c5f49d5..7da45bc4d 100644 --- a/runtime/fail_nat.c +++ b/runtime/fail_nat.c @@ -61,9 +61,9 @@ void caml_raise(value v) Unlock_exn(); if (Caml_state->exn_handler == NULL) caml_fatal_uncaught_exception(v); - while (caml_local_roots != NULL && - (char *) caml_local_roots < Caml_state->exn_handler) { - caml_local_roots = caml_local_roots->next; + while (Caml_state->local_roots != NULL && + (char *) Caml_state->local_roots < Caml_state->exn_handler) { + Caml_state->local_roots = Caml_state->local_roots->next; } caml_raise_exception(Caml_state, v); diff --git a/runtime/interp.c b/runtime/interp.c index 126b5d7d3..04609762e 100644 --- a/runtime/interp.c +++ b/runtime/interp.c @@ -242,14 +242,14 @@ value caml_interprete(code_t prog, asize_t prog_size) #if defined(THREADED_CODE) && defined(ARCH_SIXTYFOUR) && !defined(ARCH_CODE32) jumptbl_base = Jumptbl_base; #endif - initial_local_roots = caml_local_roots; + initial_local_roots = Caml_state->local_roots; initial_sp_offset = (char *) Caml_state->stack_high - (char *) Caml_state->extern_sp; initial_external_raise = Caml_state->external_raise; caml_callback_depth++; saved_pc = NULL; if (sigsetjmp(raise_buf.buf, 0)) { - caml_local_roots = initial_local_roots; + Caml_state->local_roots = initial_local_roots; sp = Caml_state->extern_sp; accu = Caml_state->exn_bucket; pc = saved_pc; saved_pc = NULL; diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index 0b25cce6f..a05923a5c 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -129,7 +129,7 @@ void caml_set_minor_heap_size (asize_t bsz) CAMLassert (bsz % sizeof (value) == 0); if (Caml_state->young_ptr != Caml_state->young_alloc_end){ CAML_INSTR_INT ("force_minor/set_minor_heap_size@", 1); - caml_requested_minor_gc = 0; + Caml_state->requested_minor_gc = 0; Caml_state->young_trigger = Caml_state->young_alloc_mid; caml_update_young_limit(); caml_empty_minor_heap (); @@ -430,10 +430,10 @@ CAMLexport void caml_gc_dispatch (void) caml_instr_alloc_jump = 0; #endif - if (trigger == Caml_state->young_alloc_start || caml_requested_minor_gc){ + if (trigger == Caml_state->young_alloc_start || Caml_state->requested_minor_gc){ /* The minor heap is full, we must do a minor collection. */ /* reset the pointers first because the end hooks might allocate */ - caml_requested_minor_gc = 0; + Caml_state->requested_minor_gc = 0; Caml_state->young_trigger = Caml_state->young_alloc_mid; caml_update_young_limit(); caml_empty_minor_heap (); @@ -441,9 +441,9 @@ CAMLexport void caml_gc_dispatch (void) if (caml_gc_phase == Phase_idle) caml_major_collection_slice (-1); CAML_INSTR_TIME (tmr, "dispatch/minor"); } - if (trigger != Caml_state->young_alloc_start || caml_requested_major_slice){ + if (trigger != Caml_state->young_alloc_start || Caml_state->requested_major_slice){ /* The minor heap is half-full, do a major GC slice. */ - caml_requested_major_slice = 0; + Caml_state->requested_major_slice = 0; Caml_state->young_trigger = Caml_state->young_alloc_start; caml_update_young_limit(); caml_major_collection_slice (-1); @@ -484,7 +484,7 @@ void caml_alloc_small_dispatch (tag_t tag, intnat wosize, int flags) */ CAMLexport void caml_minor_collection (void) { - caml_requested_minor_gc = 1; + Caml_state->requested_minor_gc = 1; caml_gc_dispatch (); } @@ -507,7 +507,7 @@ static void realloc_generic_table }else{ asize_t sz; asize_t cur_ptr = tbl->ptr - tbl->base; - CAMLassert (caml_requested_minor_gc); + CAMLassert (Caml_state->requested_minor_gc); tbl->size *= 2; sz = (tbl->size + tbl->reserve) * element_size; diff --git a/runtime/roots_byt.c b/runtime/roots_byt.c index 4ba838969..37a1fc27f 100644 --- a/runtime/roots_byt.c +++ b/runtime/roots_byt.c @@ -27,8 +27,6 @@ #include "caml/roots.h" #include "caml/stacks.h" -CAMLexport struct caml__roots_block *caml_local_roots = NULL; - CAMLexport void (*caml_scan_roots_hook) (scanning_action f) = NULL; /* FIXME should rename to [caml_oldify_minor_roots] and synchronise with @@ -46,7 +44,7 @@ void caml_oldify_local_roots (void) caml_oldify_one (*sp, sp); } /* Local C roots */ /* FIXME do the old-frame trick ? */ - for (lr = caml_local_roots; lr != NULL; lr = lr->next) { + for (lr = Caml_state->local_roots; lr != NULL; lr = lr->next) { for (i = 0; i < lr->ntables; i++){ for (j = 0; j < lr->nitems; j++){ sp = &(lr->tables[i][j]); @@ -85,7 +83,7 @@ void caml_do_roots (scanning_action f, int do_globals) f(caml_global_data, &caml_global_data); CAML_INSTR_TIME (tmr, "major_roots/global"); /* The stack and the local C roots */ - caml_do_local_roots(f, Caml_state->extern_sp, Caml_state->stack_high, caml_local_roots); + caml_do_local_roots(f, Caml_state->extern_sp, Caml_state->stack_high, Caml_state->local_roots); CAML_INSTR_TIME (tmr, "major_roots/local"); /* Global C roots */ caml_scan_global_roots(f); diff --git a/runtime/roots_nat.c b/runtime/roots_nat.c index abd6f1753..e2f1106f6 100644 --- a/runtime/roots_nat.c +++ b/runtime/roots_nat.c @@ -31,8 +31,6 @@ /* Roots registered from C functions */ -struct caml__roots_block *caml_local_roots = NULL; - void (*caml_scan_roots_hook) (scanning_action) = NULL; /* The hashtable of frame descriptors */ @@ -312,7 +310,7 @@ void caml_oldify_local_roots (void) } } /* Local C roots */ - for (lr = caml_local_roots; lr != NULL; lr = lr->next) { + for (lr = Caml_state->local_roots; lr != NULL; lr = lr->next) { for (i = 0; i < lr->ntables; i++){ for (j = 0; j < lr->nitems; j++){ root = &(lr->tables[i][j]); @@ -411,7 +409,7 @@ void caml_do_roots (scanning_action f, int do_globals) CAML_INSTR_TIME (tmr, "major_roots/dynamic_global"); /* The stack and local roots */ caml_do_local_roots(f, Caml_state->bottom_of_stack, Caml_state->last_return_address, - Caml_state->gc_regs, caml_local_roots); + Caml_state->gc_regs, Caml_state->local_roots); CAML_INSTR_TIME (tmr, "major_roots/local"); /* Global C roots */ caml_scan_global_roots(f); diff --git a/runtime/signals.c b/runtime/signals.c index b944e5e56..d4ca4e9a1 100644 --- a/runtime/signals.c +++ b/runtime/signals.c @@ -276,9 +276,6 @@ void caml_update_young_limit (void) /* Arrange for a garbage collection to be performed as soon as possible */ -int volatile caml_requested_major_slice = 0; -int volatile caml_requested_minor_gc = 0; - void caml_request_major_slice (void) { caml_requested_major_slice = 1; diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index 6d9495a87..b2cf7d3b7 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -86,7 +86,7 @@ void caml_garbage_collection(void) be correctly implemented. */ caml_memprof_renew_minor_sample(); - if (caml_requested_major_slice || caml_requested_minor_gc || + if (Caml_state->requested_major_slice || Caml_state->requested_minor_gc || Caml_state->young_ptr - Caml_state->young_trigger < Max_young_whsize){ caml_gc_dispatch (); } From de5ef602fd73334d0f91fb333caf0fe0ddb6586f Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 10 Jun 2019 15:54:37 +0530 Subject: [PATCH 13/54] Rename exn_handler to exception_pointer --- asmcomp/amd64/emit.mlp | 10 +++++----- otherlibs/systhreads/st_stubs.c | 6 +++--- runtime/amd64.S | 30 +++++++++++++++--------------- runtime/caml/domain_state.tbl | 4 ++-- runtime/domain.c | 2 +- runtime/fail_nat.c | 4 ++-- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index 47b9676f7..3aa103d3d 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -876,11 +876,11 @@ let emit_instr fallthrough i = cfi_adjust_cfa_offset 8; I.push r11; cfi_adjust_cfa_offset 8; - I.push (domain_field Domainstate.Domain_exn_handler); - I.mov rsp (domain_field Domainstate.Domain_exn_handler); + I.push (domain_field Domainstate.Domain_exception_pointer); + I.mov rsp (domain_field Domainstate.Domain_exception_pointer); stack_offset := !stack_offset + 16; | Lpoptrap -> - I.pop (domain_field Domainstate.Domain_exn_handler); + I.pop (domain_field Domainstate.Domain_exception_pointer); cfi_adjust_cfa_offset (-8); I.add (int 8) rsp; cfi_adjust_cfa_offset (-8); @@ -898,8 +898,8 @@ let emit_instr fallthrough i = emit_call "caml_raise_exn"; record_frame Reg.Set.empty true i.dbg | Lambda.Raise_notrace -> - I.mov (domain_field Domainstate.Domain_exn_handler) rsp; - I.pop (domain_field Domainstate.Domain_exn_handler); + I.mov (domain_field Domainstate.Domain_exception_pointer) rsp; + I.pop (domain_field Domainstate.Domain_exception_pointer); I.pop r11; I.jmp r11 end diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index f82851667..1355fa2d7 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -79,7 +79,7 @@ struct caml_thread_struct { char * bottom_of_stack; /* Saved value of Caml_state->bottom_of_stack */ uintnat last_retaddr; /* Saved value of Caml_state->last_return_address */ value * gc_regs; /* Saved value of Caml_state->gc_regs */ - char * exception_pointer; /* Saved value of Caml_state->exn_handler */ + char * exception_pointer; /* Saved value of Caml_state->exception_pointer */ struct caml__roots_block * local_roots; /* Saved value of local_roots */ struct longjmp_buffer * exit_buf; /* For thread exit */ #if defined(NATIVE_CODE) && defined(WITH_SPACETIME) @@ -178,7 +178,7 @@ static inline void caml_thread_save_runtime_state(void) curr_thread->bottom_of_stack = Caml_state->bottom_of_stack; curr_thread->last_retaddr = Caml_state->last_return_address; curr_thread->gc_regs = Caml_state->gc_regs; - curr_thread->exception_pointer = Caml_state->exn_handler; + curr_thread->exception_pointer = Caml_state->exception_pointer; #ifdef WITH_SPACETIME curr_thread->spacetime_trie_node_ptr = caml_spacetime_trie_node_ptr; @@ -207,7 +207,7 @@ static inline void caml_thread_restore_runtime_state(void) Caml_state->bottom_of_stack= curr_thread->bottom_of_stack; Caml_state->last_return_address = curr_thread->last_retaddr; Caml_state->gc_regs = curr_thread->gc_regs; - Caml_state->exn_handler = curr_thread->exception_pointer; + Caml_state->exception_pointer = curr_thread->exception_pointer; #ifdef WITH_SPACETIME caml_spacetime_trie_node_ptr = curr_thread->spacetime_trie_node_ptr; diff --git a/runtime/amd64.S b/runtime/amd64.S index d80ea858e..456c29838 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -603,8 +603,8 @@ LBL(caml_start_program): /* Build an exception handler */ lea LBL(108)(%rip), %r13 pushq %r13; CFI_ADJUST(8) - pushq Caml_state(exn_handler); CFI_ADJUST(8) - movq %rsp, Caml_state(exn_handler) + pushq Caml_state(exception_pointer); CFI_ADJUST(8) + movq %rsp, Caml_state(exception_pointer) #ifdef WITH_SPACETIME LOAD_VAR(caml_spacetime_trie_node_ptr, %r13) #endif @@ -612,7 +612,7 @@ LBL(caml_start_program): call *%r12 LBL(107): /* Pop the exception handler */ - popq Caml_state(exn_handler); CFI_ADJUST(-8) + popq Caml_state(exception_pointer); CFI_ADJUST(-8) popq %r12; CFI_ADJUST(-8) /* dummy register */ LBL(109): /* Update alloc ptr */ @@ -644,8 +644,8 @@ FUNCTION(G(caml_raise_exn)) CFI_STARTPROC testq $1, Caml_state(backtrace_active) jne LBL(110) - movq Caml_state(exn_handler), %rsp - popq Caml_state(exn_handler) + movq Caml_state(exception_pointer), %rsp + popq Caml_state(exception_pointer) ret LBL(110): movq %rax, %r12 /* Save exception bucket */ @@ -658,14 +658,14 @@ LBL(110): popq C_ARG_2 /* arg 2: pc of raise */ movq %rsp, C_ARG_3 /* arg 3: sp at raise */ #endif - movq Caml_state(exn_handler), C_ARG_4 /* arg 4: sp of handler */ + movq Caml_state(exception_pointer), C_ARG_4 /* arg 4: sp of handler */ /* PR#5700: thanks to popq above, stack is now 16-aligned */ /* Thanks to ENTER_FUNCTION, stack is now 16-aligned */ PREPARE_FOR_C_CALL /* no need to cleanup after */ call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ - movq Caml_state(exn_handler), %rsp - popq Caml_state(exn_handler) + movq Caml_state(exception_pointer), %rsp + popq Caml_state(exception_pointer) ret CFI_ENDPROC ENDFUNCTION(G(caml_raise_exn)) @@ -678,8 +678,8 @@ CFI_STARTPROC testq $1, Caml_state(backtrace_active) jne LBL(112) movq C_ARG_2, %rax - movq Caml_state(exn_handler), %rsp /* Cut stack */ - popq Caml_state(exn_handler) /* Recover previous exception handler */ + movq Caml_state(exception_pointer), %rsp /* Cut stack */ + popq Caml_state(exception_pointer) /* Recover previous exception handler */ movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret LBL(112): @@ -691,15 +691,15 @@ LBL(112): movq C_ARG_2, C_ARG_1 /* arg 1: exception bucket */ movq Caml_state(last_return_address), C_ARG_2 /* arg 2: pc of raise */ movq Caml_state(bottom_of_stack), C_ARG_3 /* arg 3: sp of raise */ - movq Caml_state(exn_handler), C_ARG_4 /* arg 4: sp of handler */ + movq Caml_state(exception_pointer), C_ARG_4 /* arg 4: sp of handler */ #ifndef WITH_FRAME_POINTERS subq $8, %rsp /* PR#5700: maintain stack alignment */ #endif PREPARE_FOR_C_CALL /* no need to cleanup after */ call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ - movq Caml_state(exn_handler), %rsp - popq Caml_state(exn_handler) /* Recover previous exception handler */ + movq Caml_state(exception_pointer), %rsp + popq Caml_state(exception_pointer) /* Recover previous exception handler */ movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret CFI_ENDPROC @@ -714,8 +714,8 @@ ENDFUNCTION(G(caml_raise_exception)) FUNCTION(G(caml_stack_overflow)) movq C_ARG_1, %r14 /* Caml_state */ LEA_VAR(caml_exn_Stack_overflow, %rax) - movq Caml_state(exn_handler), %rsp /* cut the stack */ - popq Caml_state(exn_handler) /* recover previous exn handler */ + movq Caml_state(exception_pointer), %rsp /* cut the stack */ + popq Caml_state(exception_pointer) /* recover previous exn handler */ ret /* jump to handler's code */ ENDFUNCTION(G(caml_stack_overflow)) diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 22a646f71..fad900363 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -1,8 +1,8 @@ DOMAIN_STATE(value*, young_limit) /* Minor heap limit. See minor_gc.c. */ -DOMAIN_STATE(char*, exn_handler) -/* Exception handler pointer that points into the current stack */ +DOMAIN_STATE(char*, exception_pointer) +/* Exception pointer that points into the current stack */ DOMAIN_STATE(value*, young_ptr) DOMAIN_STATE(void*, young_base) diff --git a/runtime/domain.c b/runtime/domain.c index a5966eae1..c344ecc4c 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -28,7 +28,7 @@ void caml_init_domain () caml_fatal_error ("cannot initialize domain state"); Caml_state->young_limit = NULL; - Caml_state->exn_handler = NULL; + Caml_state->exception_pointer = NULL; Caml_state->young_ptr = NULL; Caml_state->young_base = NULL; diff --git a/runtime/fail_nat.c b/runtime/fail_nat.c index 7da45bc4d..b54cb7999 100644 --- a/runtime/fail_nat.c +++ b/runtime/fail_nat.c @@ -59,10 +59,10 @@ CAMLnoreturn_end; void caml_raise(value v) { Unlock_exn(); - if (Caml_state->exn_handler == NULL) caml_fatal_uncaught_exception(v); + if (Caml_state->exception_pointer == NULL) caml_fatal_uncaught_exception(v); while (Caml_state->local_roots != NULL && - (char *) Caml_state->local_roots < Caml_state->exn_handler) { + (char *) Caml_state->local_roots < Caml_state->exception_pointer) { Caml_state->local_roots = Caml_state->local_roots->next; } From 7841b4e30b44b7c8501bf5d8f0decd0ced1dd725 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 12 Jun 2019 00:50:40 +0530 Subject: [PATCH 14/54] Support for domain state on arm64 architecture --- asmcomp/arm64/emit.mlp | 15 +++- asmcomp/arm64/proc.ml | 23 ++--- runtime/arm64.S | 191 +++++++++++++++++++++-------------------- 3 files changed, 119 insertions(+), 110 deletions(-) diff --git a/asmcomp/arm64/emit.mlp b/asmcomp/arm64/emit.mlp index 8f3f6fbf0..4b8e4af51 100644 --- a/asmcomp/arm64/emit.mlp +++ b/asmcomp/arm64/emit.mlp @@ -33,6 +33,7 @@ let fastcode_flag = ref true (* Names for special regs *) +let reg_domain_state_ptr = phys_reg 22 let reg_trap_ptr = phys_reg 23 let reg_alloc_ptr = phys_reg 24 let reg_alloc_limit = phys_reg 25 @@ -500,8 +501,9 @@ module BR = Branch_relaxation.Make (struct | Lpoptrap -> 1 | Lraise k -> begin match k with - | Cmm.Raise_withtrace -> 1 - | Cmm.Raise_notrace -> 4 + | Lambda.Raise_regular -> 2 + | Lambda.Raise_reraise -> 1 + | Lambda.Raise_notrace -> 4 end let relax_allocation ~num_bytes ~label_after_call_gc = @@ -894,10 +896,15 @@ let emit_instr i = stack_offset := !stack_offset - 16 | Lraise k -> begin match k with - | Cmm.Raise_withtrace -> + | Lambda.Raise_regular -> + let offset = Domainstate.(idx_of_field Domain_backtrace_pos) * 8 in + ` str xzr, [{emit_reg reg_domain_state_ptr}, {emit_int offset}]\n`; ` bl {emit_symbol "caml_raise_exn"}\n`; `{record_frame Reg.Set.empty true i.dbg}\n` - | Cmm.Raise_notrace -> + | Lambda.Raise_reraise -> + ` bl {emit_symbol "caml_raise_exn"}\n`; + `{record_frame Reg.Set.empty true i.dbg}\n` + | Lambda.Raise_notrace -> ` mov sp, {emit_reg reg_trap_ptr}\n`; ` ldr {emit_reg reg_tmp1}, [sp, #8]\n`; ` ldr {emit_reg reg_trap_ptr}, [sp], 16\n`; diff --git a/asmcomp/arm64/proc.ml b/asmcomp/arm64/proc.ml index 095f22f26..61c9103f7 100644 --- a/asmcomp/arm64/proc.ml +++ b/asmcomp/arm64/proc.ml @@ -33,7 +33,8 @@ let word_addressed = false x0 - x15 general purpose (caller-save) x16, x17 temporaries (used by call veeners) x18 platform register (reserved) - x19 - x25 general purpose (callee-save) + x19 - x24 general purpose (callee-save) + x25 domain state pointer x26 trap pointer x27 alloc pointer x28 alloc limit @@ -49,8 +50,8 @@ let word_addressed = false let int_reg_name = [| "x0"; "x1"; "x2"; "x3"; "x4"; "x5"; "x6"; "x7"; "x8"; "x9"; "x10"; "x11"; "x12"; "x13"; "x14"; "x15"; - "x19"; "x20"; "x21"; "x22"; "x23"; "x24"; "x25"; - "x26"; "x27"; "x28"; "x16"; "x17" |] + "x19"; "x20"; "x21"; "x22"; "x23"; "x24"; + "x25"; "x26"; "x27"; "x28"; "x16"; "x17" |] let float_reg_name = [| "d0"; "d1"; "d2"; "d3"; "d4"; "d5"; "d6"; "d7"; @@ -66,7 +67,7 @@ let register_class r = | Float -> 1 let num_available_registers = - [| 23; 32 |] (* first 23 int regs allocatable; all float regs allocatable *) + [| 22; 32 |] (* first 23 int regs allocatable; all float regs allocatable *) let first_available_register = [| 0; 100 |] @@ -177,8 +178,8 @@ let loc_exn_bucket = phys_reg 0 let int_dwarf_reg_numbers = [| 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; - 19; 20; 21; 22; 23; 24; 25; - 26; 27; 28; 16; 17; + 19; 20; 21; 22; 23; 24; + 25; 26; 27; 28; 16; 17; |] let float_dwarf_reg_numbers = @@ -229,15 +230,15 @@ let destroyed_at_reloadretaddr = [| |] let safe_register_pressure = function | Iextcall _ -> 8 - | Ialloc _ -> 25 - | _ -> 26 + | Ialloc _ -> 24 + | _ -> 25 let max_register_pressure = function | Iextcall _ -> [| 10; 8 |] - | Ialloc _ -> [| 25; 32 |] + | Ialloc _ -> [| 24; 32 |] | Iintoffloat | Ifloatofint - | Iload(Single, _) | Istore(Single, _, _) -> [| 26; 31 |] - | _ -> [| 26; 32 |] + | Iload(Single, _) | Istore(Single, _, _) -> [| 25; 31 |] + | _ -> [| 25; 32 |] (* Pure operations (without any side effect besides updating their result registers). *) diff --git a/runtime/arm64.S b/runtime/arm64.S index 5b903641c..3cdfecd8d 100644 --- a/runtime/arm64.S +++ b/runtime/arm64.S @@ -20,12 +20,19 @@ /* Special registers */ +#define DOMAIN_STATE_PTR x25 #define TRAP_PTR x26 #define ALLOC_PTR x27 #define ALLOC_LIMIT x28 #define ARG x15 #define TMP x16 #define TMP2 x17 +#define ARG_DOMAIN_STATE_PTR x18 + +#define C_ARG_1 x0 +#define C_ARG_2 x1 +#define C_ARG_3 x2 +#define C_ARG_4 x3 /* Support for CFI directives */ @@ -43,44 +50,29 @@ #define CFI_OFFSET(r,n) #endif -/* Macros to load and store global variables. Destroy TMP2 */ +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "../runtime/caml/config.h" + + .set domain_curr_field, 0 +#define DOMAIN_STATE(c_type, name) \ + .equ domain_field_caml_##name, domain_curr_field ; \ + .set domain_curr_field, domain_curr_field + 1 +#include "../runtime/caml/domain_state.tbl" +#undef DOMAIN_STATE + +#define Caml_state(var) [x25, 8*domain_field_caml_##var] #if defined(__PIC__) #define ADDRGLOBAL(reg,symb) \ adrp TMP2, :got:symb; \ ldr reg, [TMP2, #:got_lo12:symb] - -#define LOADGLOBAL(reg,symb) \ - ADDRGLOBAL(TMP2,symb); \ - ldr reg, [TMP2] - -#define STOREGLOBAL(reg,symb) \ - ADDRGLOBAL(TMP2,symb); \ - str reg, [TMP2] - -#define LOADGLOBAL32(reg,symb) \ - ADDRGLOBAL(TMP2,symb); \ - ldrsw reg, [TMP2] - #else #define ADDRGLOBAL(reg,symb) \ adrp reg, symb; \ add reg, reg, #:lo12:symb -#define LOADGLOBAL(reg,symb) \ - adrp TMP2, symb; \ - ldr reg, [TMP2, #:lo12:symb] - -#define STOREGLOBAL(reg,symb) \ - adrp TMP2, symb; \ - str reg, [TMP2, #:lo12:symb] - -#define LOADGLOBAL32(reg,symb) \ - adrp TMP2, symb; \ - ldrsw reg, [TMP2, #:lo12:symb] - #endif #if defined(FUNCTION_SECTIONS) @@ -113,10 +105,10 @@ caml_system__code_begin: FUNCTION(caml_call_gc) CFI_STARTPROC /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) + str x30, Caml_state(last_return_address) /* Record lowest stack address */ mov TMP, sp - STOREGLOBAL(TMP, caml_bottom_of_stack) + str TMP, Caml_state(bottom_of_stack) .Lcaml_call_gc: /* Set up stack space, saving return address and frame pointer */ /* (2 regs RA/GP, 24 allocatable int regs, 24 caller-save float regs) * 8 */ @@ -155,11 +147,11 @@ FUNCTION(caml_call_gc) stp d30, d31, [sp, 384] /* Store pointer to saved integer registers in caml_gc_regs */ add TMP, sp, #16 - STOREGLOBAL(TMP, caml_gc_regs) + str TMP, Caml_state(gc_regs) /* Save current allocation pointer for debugging purposes */ - STOREGLOBAL(ALLOC_PTR, caml_young_ptr) + str ALLOC_PTR, Caml_state(young_ptr) /* Save trap pointer in case an exception is raised during GC */ - STOREGLOBAL(TRAP_PTR, caml_exception_pointer) + str TRAP_PTR, Caml_state(exception_pointer) /* Call the garbage collector */ bl caml_garbage_collection /* Restore registers */ @@ -188,8 +180,8 @@ FUNCTION(caml_call_gc) ldp d28, d29, [sp, 368] ldp d30, d31, [sp, 384] /* Reload new allocation pointer and allocation limit */ - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) + ldr ALLOC_PTR, Caml_state(young_ptr) + ldr ALLOC_LIMIT, Caml_state(young_limit) /* Free stack space and return to caller */ ldp x29, x30, [sp], 400 ret @@ -212,10 +204,10 @@ FUNCTION(caml_alloc1) frame won't match the frame size contained in the relevant frame descriptor. */ add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) + str x29, Caml_state(bottom_of_stack) add x29, sp, #0 /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) + str x30, Caml_state(last_return_address) /* Call GC */ bl .Lcaml_call_gc /* Restore return address */ @@ -241,10 +233,10 @@ caml_alloc2: /* Record the lowest address of the caller's stack frame. See comment above. */ add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) + str x29, Caml_state(bottom_of_stack) add x29, sp, #0 /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) + str x30, Caml_state(last_return_address) /* Call GC */ bl .Lcaml_call_gc /* Restore return address */ @@ -268,10 +260,10 @@ FUNCTION(caml_alloc3) /* Record the lowest address of the caller's stack frame. See comment above. */ add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) + str x29, Caml_state(bottom_of_stack) add x29, sp, #0 /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) + str x30, Caml_state(last_return_address) /* Call GC */ bl .Lcaml_call_gc /* Restore return address */ @@ -298,10 +290,10 @@ caml_allocN: /* Record the lowest address of the caller's stack frame. See comment above. */ add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) + str x29, Caml_state(bottom_of_stack) add x29, sp, #0 /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) + str x30, Caml_state(last_return_address) /* Call GC. This preserves ARG */ bl .Lcaml_call_gc /* Restore return address */ @@ -321,17 +313,17 @@ FUNCTION(caml_c_call) mov x19, x30 CFI_REGISTER(30, 19) /* Record lowest stack address and return address */ - STOREGLOBAL(x30, caml_last_return_address) + str x30, Caml_state(last_return_address) add TMP, sp, #0 - STOREGLOBAL(TMP, caml_bottom_of_stack) + str TMP, Caml_state(bottom_of_stack) /* Make the exception handler alloc ptr available to the C code */ - STOREGLOBAL(ALLOC_PTR, caml_young_ptr) - STOREGLOBAL(TRAP_PTR, caml_exception_pointer) + str ALLOC_PTR, Caml_state(young_ptr) + str TRAP_PTR, Caml_state(exception_pointer) /* Call the function */ blr ARG /* Reload alloc ptr and alloc limit */ - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) + ldr ALLOC_PTR, Caml_state(young_ptr) + ldr ALLOC_LIMIT, Caml_state(young_limit) /* Return */ ret x19 CFI_ENDPROC @@ -341,6 +333,7 @@ FUNCTION(caml_c_call) FUNCTION(caml_start_program) CFI_STARTPROC + mov ARG_DOMAIN_STATE_PTR, C_ARG_1 ADDRGLOBAL(ARG, caml_program) /* Code shared with caml_callback* */ @@ -363,39 +356,41 @@ FUNCTION(caml_start_program) stp d10, d11, [sp, 112] stp d12, d13, [sp, 128] stp d14, d15, [sp, 144] + /* Load domain state pointer from argument */ + mov DOMAIN_STATE_PTR, ARG_DOMAIN_STATE_PTR /* Setup a callback link on the stack */ - LOADGLOBAL(x8, caml_bottom_of_stack) - LOADGLOBAL(x9, caml_last_return_address) - LOADGLOBAL(x10, caml_gc_regs) + ldr x8, Caml_state(bottom_of_stack) + ldr x9, Caml_state(last_return_address) + ldr x10, Caml_state(gc_regs) stp x8, x9, [sp, -32]! /* 16-byte alignment */ CFI_ADJUST(32) str x10, [sp, 16] /* Setup a trap frame to catch exceptions escaping the OCaml code */ - LOADGLOBAL(x8, caml_exception_pointer) + ldr x8, Caml_state(exception_pointer) adr x9, .Ltrap_handler stp x8, x9, [sp, -16]! CFI_ADJUST(16) add TRAP_PTR, sp, #0 /* Reload allocation pointers */ - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) + ldr ALLOC_PTR, Caml_state(young_ptr) + ldr ALLOC_LIMIT, Caml_state(young_limit) /* Call the OCaml code */ blr ARG .Lcaml_retaddr: /* Pop the trap frame, restoring caml_exception_pointer */ ldr x8, [sp], 16 CFI_ADJUST(-16) - STOREGLOBAL(x8, caml_exception_pointer) + str x8, Caml_state(exception_pointer) /* Pop the callback link, restoring the global variables */ .Lreturn_result: ldr x10, [sp, 16] ldp x8, x9, [sp], 32 CFI_ADJUST(-32) - STOREGLOBAL(x8, caml_bottom_of_stack) - STOREGLOBAL(x9, caml_last_return_address) - STOREGLOBAL(x10, caml_gc_regs) + str x8, Caml_state(bottom_of_stack) + str x9, Caml_state(last_return_address) + str x10, Caml_state(gc_regs) /* Update allocation pointer */ - STOREGLOBAL(ALLOC_PTR, caml_young_ptr) + str ALLOC_PTR, Caml_state(young_ptr) /* Reload callee-save registers and return address */ ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -421,7 +416,7 @@ FUNCTION(caml_start_program) .Ltrap_handler: CFI_STARTPROC /* Save exception pointer */ - STOREGLOBAL(TRAP_PTR, caml_exception_pointer) + str TRAP_PTR, Caml_state(exception_pointer) /* Encode exception bucket as an exception result */ orr x0, x0, #2 /* Return it */ @@ -435,8 +430,8 @@ FUNCTION(caml_start_program) FUNCTION(caml_raise_exn) CFI_STARTPROC /* Test if backtrace is active */ - LOADGLOBAL32(TMP, caml_backtrace_active) - cbnz TMP, 2f + ldr TMP, Caml_state(backtrace_active) + cbnz TMP, 2f 1: /* Cut stack at current trap handler */ mov sp, TRAP_PTR /* Pop previous handler and jump to it */ @@ -461,12 +456,16 @@ FUNCTION(caml_raise_exn) FUNCTION(caml_raise_exception) CFI_STARTPROC + /* Load the domain state ptr */ + mov DOMAIN_STATE_PTR, C_ARG_1 + /* Load the exception bucket */ + mov x0, C_ARG_2 /* Reload trap ptr, alloc ptr and alloc limit */ - LOADGLOBAL(TRAP_PTR, caml_exception_pointer) - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) + ldr TRAP_PTR, Caml_state(exception_pointer) + ldr ALLOC_PTR, Caml_state(young_ptr) + ldr ALLOC_LIMIT, Caml_state(young_limit) /* Test if backtrace is active */ - LOADGLOBAL32(TMP, caml_backtrace_active) + ldr TMP, Caml_state(backtrace_active) cbnz TMP, 2f 1: /* Cut stack at current trap handler */ mov sp, TRAP_PTR @@ -477,9 +476,9 @@ FUNCTION(caml_raise_exception) 2: /* Preserve exception bucket in callee-save register x19 */ mov x19, x0 /* Stash the backtrace */ - /* arg1: exn bucket, already in x0 */ - LOADGLOBAL(x1, caml_last_return_address) /* arg2: pc of raise */ - LOADGLOBAL(x2, caml_bottom_of_stack) /* arg3: sp of raise */ + /* arg1: exn bucket */ + ldr x1, Caml_state(last_return_address) /* arg2: pc of raise */ + ldr x2, Caml_state(bottom_of_stack) /* arg3: sp of raise */ mov x3, TRAP_PTR /* arg4: sp of handler */ bl caml_stash_backtrace /* Restore exception bucket and raise */ @@ -490,50 +489,52 @@ FUNCTION(caml_raise_exception) /* Callback from C to OCaml */ -FUNCTION(caml_callback_exn) +FUNCTION(caml_callback_asm) CFI_STARTPROC - /* Initial shuffling of arguments (x0 = closure, x1 = first arg) */ - mov TMP, x0 - mov x0, x1 /* x0 = first arg */ - mov x1, TMP /* x1 = closure environment */ - ldr ARG, [TMP] /* code pointer */ + /* Initial shuffling of arguments */ + /* (x0 = Caml_state, x1 = closure, x2 = first arg) */ + mov ARG_DOMAIN_STATE_PTR, x0 + ldr x0, [x2] /* x0 = first arg */ + /* x1 = closure environment */ + ldr ARG, [x1] /* code pointer */ b .Ljump_to_caml CFI_ENDPROC - .type caml_callback_exn, %function - .size caml_callback_exn, .-caml_callback_exn + .type caml_callback_asm, %function + .size caml_callback_asm, .-caml_callback_asm - TEXT_SECTION(caml_callback2_exn) + TEXT_SECTION(caml_callback2_asm) .align 2 - .globl caml_callback2_exn -caml_callback2_exn: + .globl caml_callback2_asm +caml_callback2_asm: CFI_STARTPROC - /* Initial shuffling of arguments (x0 = closure, x1 = arg1, x2 = arg2) */ - mov TMP, x0 - mov x0, x1 /* x0 = first arg */ - mov x1, x2 /* x1 = second arg */ + /* Initial shuffling of arguments */ + /* (x0 = Caml_state, x1 = closure, [x2] = arg1, [x2,8] = arg2) */ + mov ARG_DOMAIN_STATE_PTR, x0 + mov TMP, x1 + ldp x0, x1, [x2, 0] /* x0 = first arg, x1 = second arg */ mov x2, TMP /* x2 = closure environment */ ADDRGLOBAL(ARG, caml_apply2) b .Ljump_to_caml CFI_ENDPROC - .type caml_callback2_exn, %function - .size caml_callback2_exn, .-caml_callback2_exn + .type caml_callback2_asm, %function + .size caml_callback2_asm, .-caml_callback2_asm - TEXT_SECTION(caml_callback3_exn) + TEXT_SECTION(caml_callback3_asm) .align 2 - .globl caml_callback3_exn -caml_callback3_exn: + .globl caml_callback3_asm +caml_callback3_asm: CFI_STARTPROC /* Initial shuffling of arguments */ - /* (x0 = closure, x1 = arg1, x2 = arg2, x3 = arg3) */ - mov TMP, x0 - mov x0, x1 /* x0 = first arg */ - mov x1, x2 /* x1 = second arg */ - mov x2, x3 /* x2 = third arg */ - mov x3, TMP /* x3 = closure environment */ + /* (x0 = Caml_state, x1 = closure, [x2] = arg1, [x2,8] = arg2, + [x2,16] = arg3) */ + mov ARG_DOMAIN_STATE_PTR, x0 + mov x3, x1 /* x3 = closure environment */ + ldp x0, x1, [x2, 0] /* x0 = first arg, x1 = second arg */ + ldr x2, [x2, 16] /* x2 = third arg */ ADDRGLOBAL(ARG, caml_apply3) b .Ljump_to_caml CFI_ENDPROC - .size caml_callback3_exn, .-caml_callback3_exn + .size caml_callback3_asm, .-caml_callback3_asm FUNCTION(caml_ml_array_bound_error) CFI_STARTPROC From 0d90d474ca6cdc81b3e62c3e090ad493566daf99 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 12 Jun 2019 10:41:42 +0530 Subject: [PATCH 15/54] Restore exception pointer macros in signals_osdeps.h --- runtime/signals_osdep.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/runtime/signals_osdep.h b/runtime/signals_osdep.h index 9c350cffd..b556272db 100644 --- a/runtime/signals_osdep.h +++ b/runtime/signals_osdep.h @@ -79,6 +79,7 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->uc_mcontext.arm_pc) + #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.arm_fp) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.arm_r8) #define CONTEXT_FAULTING_ADDRESS ((char *) context->uc_mcontext.fault_address) @@ -97,6 +98,7 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->uc_mcontext.pc) + #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.regs[26]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.regs[27]) #define CONTEXT_FAULTING_ADDRESS ((char *) context->uc_mcontext.fault_address) @@ -115,6 +117,7 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->uc_mcontext.mc_gpregs.gp_elr) + #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.mc_gpregs.gp_x[26]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.mc_gpregs.gp_x[27]) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -134,6 +137,7 @@ typedef greg_t context_reg; #define CONTEXT_PC (context->uc_mcontext.gregs[REG_RIP]) + #define CONTEXT_C_ARG_1 (context->uc_mcontext.gregs[REG_RDI]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -149,6 +153,7 @@ sigact.sa_flags = SA_SIGINFO #define CONTEXT_PC (context->sc_rip) + #define CONTEXT_C_ARG_1 (context->sc_rdi) #define CONTEXT_YOUNG_PTR (context->sc_r15) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -165,6 +170,7 @@ sigact.sa_flags = SA_SIGINFO #define CONTEXT_PC (_UC_MACHINE_PC(context)) + #define CONTEXT_C_ARG_1 (context->uc_mcontext.gregs[REG_RDI]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) @@ -293,6 +299,7 @@ #define CONTEXT_STATE (CONTEXT_MCONTEXT->CONTEXT_REG(ss)) #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(srr0)) + #define CONTEXT_EXCEPTION_POINTER (CONTEXT_STATE.CONTEXT_REG(r29)) #define CONTEXT_YOUNG_LIMIT (CONTEXT_STATE.CONTEXT_REG(r30)) #define CONTEXT_YOUNG_PTR (CONTEXT_STATE.CONTEXT_REG(r31)) #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(r1)) @@ -311,6 +318,7 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->regs->nip) + #define CONTEXT_EXCEPTION_POINTER (context->regs->gpr[29]) #define CONTEXT_YOUNG_LIMIT (context->regs->gpr[30]) #define CONTEXT_YOUNG_PTR (context->regs->gpr[31]) #define CONTEXT_SP (context->regs->gpr[1]) @@ -329,6 +337,7 @@ typedef long context_reg; #define CONTEXT_PC (_UC_MACHINE_PC(context)) + #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.__gregs[_REG_R29]) #define CONTEXT_YOUNG_LIMIT (context->uc_mcontext.__gregs[_REG_R30]) #define CONTEXT_YOUNG_PTR (context->uc_mcontext.__gregs[_REG_R31]) #define CONTEXT_SP (_UC_MACHINE_SP(context)) @@ -349,6 +358,7 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->sc_frame.srr0) + #define CONTEXT_EXCEPTION_POINTER (context->sc_frame.fixreg[29]) #define CONTEXT_YOUNG_LIMIT (context->sc_frame.fixreg[30]) #define CONTEXT_YOUNG_PTR (context->sc_frame.fixreg[31]) #define CONTEXT_SP (context->sc_frame.fixreg[1]) @@ -365,6 +375,7 @@ typedef unsigned long context_reg; #define CONTEXT_PC (context->sregs->regs.psw.addr) + #define CONTEXT_EXCEPTION_POINTER (context->sregs->regs.gprs[13]) #define CONTEXT_YOUNG_LIMIT (context->sregs->regs.gprs[10]) #define CONTEXT_YOUNG_PTR (context->sregs->regs.gprs[11]) #define CONTEXT_SP (context->sregs->regs.gprs[15]) From f7920a127f44a850c3cafdf2cde150964bedb561 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 12 Jun 2019 10:36:03 +0000 Subject: [PATCH 16/54] Domain state works on Power64 --- Makefile | 4 + asmcomp/power/emit.mlp | 22 +++- asmcomp/power/proc.ml | 21 ++-- runtime/arm64.S | 2 +- runtime/power.S | 228 ++++++++++++++++++++--------------------- runtime/signals_nat.c | 6 +- 6 files changed, 151 insertions(+), 132 deletions(-) diff --git a/Makefile b/Makefile index 45490789b..241948d19 100644 --- a/Makefile +++ b/Makefile @@ -903,6 +903,10 @@ ocamlopt.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ $(OPTSTART:.cmo=.cmx) $(CAMLOPT_CMD) $(LINKFLAGS) -o $@ $^ +ocamlopt.d.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ + $(OPTSTART:.cmo=.cmx) + $(CAMLOPT_CMD) -runtime-variant d -I runtime $(LINKFLAGS) -o $@ $^ + partialclean:: rm -f ocamlopt.opt diff --git a/asmcomp/power/emit.mlp b/asmcomp/power/emit.mlp index 03ba33283..ece0dce45 100644 --- a/asmcomp/power/emit.mlp +++ b/asmcomp/power/emit.mlp @@ -742,12 +742,12 @@ let emit_instr i = end else begin match abi with | ELF32 -> - ` addis 28, 0, {emit_upper emit_symbol func}\n`; - ` addi 28, 28, {emit_lower emit_symbol func}\n`; + ` addis 25, 0, {emit_upper emit_symbol func}\n`; + ` addi 25, 25, {emit_lower emit_symbol func}\n`; emit_call "caml_c_call"; record_frame i.live false i.dbg | ELF64v1 | ELF64v2 -> - emit_tocload emit_gpr 28 (TocSym func); + emit_tocload emit_gpr 25 (TocSym func); emit_call "caml_c_call"; record_frame i.live false i.dbg; ` nop\n` @@ -1007,11 +1007,23 @@ let emit_instr i = adjust_stack_offset (-trap_size) | Lraise k -> begin match k with - | Cmm.Raise_withtrace -> + | Lambda.Raise_regular -> + ` li 0, 0\n`; + let backtrace_pos = + Domainstate.(idx_of_field Domain_backtrace_pos) + in + begin match abi with + | ELF32 -> ` stw 0, {emit_int (backtrace_pos * 4)}(28)\n` + | _ -> ` std 0, {emit_int (backtrace_pos * 8)}(28)\n` + end; emit_call "caml_raise_exn"; record_frame Reg.Set.empty true i.dbg; emit_call_nop() - | Cmm.Raise_notrace -> + | Lambda.Raise_reraise -> + emit_call "caml_raise_exn"; + record_frame Reg.Set.empty true i.dbg; + emit_call_nop() + | Lambda.Raise_notrace -> ` {emit_string lg} 0, {emit_int trap_handler_offset}(29)\n`; ` mr 1, 29\n`; ` mtctr 0\n`; diff --git a/asmcomp/power/proc.ml b/asmcomp/power/proc.ml index 86b4476c1..8a585e5a8 100644 --- a/asmcomp/power/proc.ml +++ b/asmcomp/power/proc.ml @@ -34,7 +34,8 @@ let word_addressed = false 3 - 10 function arguments and results 11 - 12 temporaries 13 pointer to small data area - 14 - 28 general purpose, preserved by C + 14 - 27 general purpose, preserved by C + 28 domain state pointer 29 trap pointer 30 allocation limit 31 allocation pointer @@ -47,7 +48,7 @@ let word_addressed = false let int_reg_name = [| "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; - "22"; "23"; "24"; "25"; "26"; "27"; "28" |] + "22"; "23"; "24"; "25"; "26"; "27" |] let float_reg_name = [| "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; @@ -62,7 +63,7 @@ let register_class r = | Val | Int | Addr -> 0 | Float -> 1 -let num_available_registers = [| 23; 31 |] +let num_available_registers = [| 22; 31 |] let first_available_register = [| 0; 100 |] @@ -74,8 +75,8 @@ let rotate_registers = true (* Representation of hard registers by pseudo-registers *) let hard_int_reg = - let v = Array.make 23 Reg.dummy in - for i = 0 to 22 do v.(i) <- Reg.at_location Int (Reg i) done; v + let v = Array.make 22 Reg.dummy in + for i = 0 to 21 do v.(i) <- Reg.at_location Int (Reg i) done; v let hard_float_reg = let v = Array.make 31 Reg.dummy in @@ -276,7 +277,7 @@ let loc_exn_bucket = phys_reg 0 let int_dwarf_reg_numbers = [| 3; 4; 5; 6; 7; 8; 9; 10; 14; 15; 16; 17; 18; 19; 20; 21; - 22; 23; 24; 25; 26; 27; 28; + 22; 23; 24; 25; 26; 27; |] let float_dwarf_reg_numbers = @@ -318,12 +319,12 @@ let destroyed_at_reloadretaddr = [| phys_reg 11 |] (* Maximal register pressure *) let safe_register_pressure = function - Iextcall _ -> 15 - | _ -> 23 + Iextcall _ -> 14 + | _ -> 22 let max_register_pressure = function - Iextcall _ -> [| 15; 18 |] - | _ -> [| 23; 30 |] + Iextcall _ -> [| 14; 18 |] + | _ -> [| 22; 30 |] (* Pure operations (without any side effect besides updating their result registers). *) diff --git a/runtime/arm64.S b/runtime/arm64.S index 3cdfecd8d..3218fb500 100644 --- a/runtime/arm64.S +++ b/runtime/arm64.S @@ -492,7 +492,7 @@ FUNCTION(caml_raise_exception) FUNCTION(caml_callback_asm) CFI_STARTPROC /* Initial shuffling of arguments */ - /* (x0 = Caml_state, x1 = closure, x2 = first arg) */ + /* (x0 = Caml_state, x1 = closure, [x2] = first arg) */ mov ARG_DOMAIN_STATE_PTR, x0 ldr x0, [x2] /* x0 = first arg */ /* x1 = closure environment */ diff --git a/runtime/power.S b/runtime/power.S index b58391edf..c7fc3b91e 100644 --- a/runtime/power.S +++ b/runtime/power.S @@ -17,6 +17,17 @@ .abiversion 2 #endif +/* Special registers */ +#define START_PRG_ARG 12 +#define START_PRG_DOMAIN_STATE_PTR 7 +#define C_CALL_FUN 25 +#define C_CALL_TOC 26 +#define C_CALL_RET_ADDR 27 +#define DOMAIN_STATE_PTR 28 +#define TRAP_PTR 29 +#define ALLOC_LIMIT 30 +#define ALLOC_PTR 31 + #if defined(MODEL_ppc64) || defined(MODEL_ppc64le) #define EITHER(a,b) b #else @@ -121,19 +132,6 @@ #define Addrglobal(reg,glob) \ addis reg, 0, glob@ha; \ addi reg, reg, glob@l -#define Loadglobal(reg,glob,tmp) \ - addis tmp, 0, glob@ha; \ - lg reg, glob@l(tmp) -#define Storeglobal(reg,glob,tmp) \ - addis tmp, 0, glob@ha; \ - stg reg, glob@l(tmp) -#define Loadglobal32(reg,glob,tmp) \ - addis tmp, 0, glob@ha; \ - lwz reg, glob@l(tmp) -#define Storeglobal32(reg,glob,tmp) \ - addis tmp, 0, glob@ha; \ - stw reg, glob@l(tmp) - #endif #if defined(MODEL_ppc64) || defined(MODEL_ppc64le) @@ -142,21 +140,20 @@ #define Addrglobal(reg,glob) \ ld reg, LSYMB(glob)@toc(2) -#define Loadglobal(reg,glob,tmp) \ - Addrglobal(tmp,glob); \ - lg reg, 0(tmp) -#define Storeglobal(reg,glob,tmp) \ - Addrglobal(tmp,glob); \ - stg reg, 0(tmp) -#define Loadglobal32(reg,glob,tmp) \ - Addrglobal(tmp,glob); \ - lwz reg, 0(tmp) -#define Storeglobal32(reg,glob,tmp) \ - Addrglobal(tmp,glob); \ - stw reg, 0(tmp) - #endif +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "../runtime/caml/config.h" + + .set domain_curr_field, 0 +#define DOMAIN_STATE(c_type, name) \ + .equ domain_field_caml_##name, domain_curr_field ; \ + .set domain_curr_field, domain_curr_field + 1 +#include "../runtime/caml/domain_state.tbl" +#undef DOMAIN_STATE + +#define Caml_state(var) WORD*domain_field_caml_##var(28) + #if defined(MODEL_ppc64) .section ".opd","aw" #else @@ -174,17 +171,17 @@ FUNCTION(caml_call_gc) stwu 1, -STACKSIZE(1) /* Record return address into OCaml code */ mflr 0 - Storeglobal(0, caml_last_return_address, 11) + stg 0, Caml_state(last_return_address) /* Record lowest stack address */ addi 0, 1, STACKSIZE - Storeglobal(0, caml_bottom_of_stack, 11) + stg 0, Caml_state(bottom_of_stack) /* Record pointer to register array */ addi 0, 1, 8*32 + PARAM_SAVE_AREA + RESERVED_STACK - Storeglobal(0, caml_gc_regs, 11) + stg 0, Caml_state(gc_regs) /* Save current allocation pointer for debugging purposes */ - Storeglobal(31, caml_young_ptr, 11) + stg ALLOC_PTR, Caml_state(young_ptr) /* Save exception pointer (if e.g. a sighandler raises) */ - Storeglobal(29, caml_exception_pointer, 11) + stg TRAP_PTR, Caml_state(exception_pointer) /* Save all registers used by the code generator */ addi 11, 1, 8*32 + PARAM_SAVE_AREA + RESERVED_STACK - WORD stgu 3, WORD(11) @@ -248,8 +245,8 @@ FUNCTION(caml_call_gc) nop #endif /* Reload new allocation pointer and allocation limit */ - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) + lg ALLOC_PTR, Caml_state(young_ptr) + lg ALLOC_LIMIT, Caml_state(young_limit) /* Restore all regs used by the code generator */ addi 11, 1, 8*32 + PARAM_SAVE_AREA + RESERVED_STACK - WORD lgu 3, WORD(11) @@ -308,7 +305,7 @@ FUNCTION(caml_call_gc) lfdu 30, 8(11) lfdu 31, 8(11) /* Return to caller, restarting the allocation */ - Loadglobal(11, caml_last_return_address, 11) + lg 11, Caml_state(last_return_address) addi 11, 11, -16 /* Restart the allocation (4 instructions) */ mtlr 11 /* For PPC64: restore the TOC that the caller saved at the usual place */ @@ -326,39 +323,39 @@ ENDFUNCTION(caml_call_gc) FUNCTION(caml_c_call) .cfi_startproc /* Save return address in a callee-save register */ - mflr 27 - .cfi_register 65, 27 + mflr C_CALL_RET_ADDR + .cfi_register 65, C_CALL_RET_ADDR /* Record lowest stack address and return address */ - Storeglobal(1, caml_bottom_of_stack, 11) - Storeglobal(27, caml_last_return_address, 11) + stg 1, Caml_state(bottom_of_stack) + stg C_CALL_RET_ADDR, Caml_state(last_return_address) /* Make the exception handler and alloc ptr available to the C code */ - Storeglobal(31, caml_young_ptr, 11) - Storeglobal(29, caml_exception_pointer, 11) - /* Call C function (address in r28) */ + stg ALLOC_PTR, Caml_state(young_ptr) + stg TRAP_PTR, Caml_state(exception_pointer) + /* Call C function (address in C_CALL_FUN) */ #if defined(MODEL_ppc) - mtctr 28 + mtctr C_CALL_FUN bctrl #elif defined(MODEL_ppc64) - ld 0, 0(28) - mr 26, 2 /* save current TOC in a callee-save register */ + ld 0, 0(C_CALL_FUN) + mr C_CALL_TOC, 2 /* save current TOC in a callee-save register */ mtctr 0 - ld 2, 8(28) + ld 2, 8(C_CALL_FUN) bctrl - mr 2, 26 /* restore current TOC */ + mr 2, C_CALL_TOC /* restore current TOC */ #elif defined(MODEL_ppc64le) - mtctr 28 - mr 12, 28 - mr 26, 2 /* save current TOC in a callee-save register */ + mtctr C_CALL_FUN + mr 12, C_CALL_FUN + mr C_CALL_TOC, 2 /* save current TOC in a callee-save register */ bctrl - mr 2, 26 /* restore current TOC */ + mr 2, C_CALL_TOC /* restore current TOC */ #else #error "wrong MODEL" #endif /* Restore return address (in 27, preserved by the C function) */ - mtlr 27 + mtlr C_CALL_RET_ADDR /* Reload allocation pointer and allocation limit*/ - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) + lg ALLOC_PTR, Caml_state(young_ptr) + lg ALLOC_LIMIT, Caml_state(young_limit) /* Return to caller */ blr .cfi_endproc @@ -367,67 +364,70 @@ ENDFUNCTION(caml_c_call) /* Raise an exception from OCaml */ FUNCTION(caml_raise_exn) - Loadglobal32(0, caml_backtrace_active, 11) + lg 0, Caml_state(backtrace_active) cmpwi 0, 0 bne .L111 .L110: /* Pop trap frame */ - lg 0, TRAP_HANDLER_OFFSET(29) - mr 1, 29 + lg 0, TRAP_HANDLER_OFFSET(TRAP_PTR) + mr 1, TRAP_PTR mtctr 0 - lg 29, TRAP_PREVIOUS_OFFSET(1) + lg TRAP_PTR, TRAP_PREVIOUS_OFFSET(1) addi 1, 1, TRAP_SIZE /* Branch to handler */ bctr .L111: - mr 28, 3 /* preserve exn bucket in callee-save reg */ + mr 27, 3 /* preserve exn bucket in callee-save reg */ /* arg1: exception bucket, already in r3 */ mflr 4 /* arg2: PC of raise */ mr 5, 1 /* arg3: SP of raise */ - mr 6, 29 /* arg4: SP of handler */ + mr 6, TRAP_PTR /* arg4: SP of handler */ addi 1, 1, -(PARAM_SAVE_AREA + RESERVED_STACK) /* reserve stack space for C call */ bl caml_stash_backtrace #if defined(MODEL_ppc64) || defined(MODEL_ppc64le) nop #endif - mr 3, 28 /* restore exn bucket */ + mr 3, 27 /* restore exn bucket */ b .L110 /* raise the exn */ ENDFUNCTION(caml_raise_exn) /* Raise an exception from C */ FUNCTION(caml_raise_exception) - Loadglobal32(0, caml_backtrace_active, 11) + /* Load domain state pointer */ + mr DOMAIN_STATE_PTR, 3 + mr 3, 4 + lg 0, Caml_state(backtrace_active) cmpwi 0, 0 bne .L121 .L120: /* Reload OCaml global registers */ - Loadglobal(1, caml_exception_pointer, 11) - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) + lg 1, Caml_state(exception_pointer) + lg ALLOC_PTR, Caml_state(young_ptr) + lg ALLOC_LIMIT, Caml_state(young_limit) /* Pop trap frame */ lg 0, TRAP_HANDLER_OFFSET(1) mtctr 0 - lg 29, TRAP_PREVIOUS_OFFSET(1) + lg TRAP_PTR, TRAP_PREVIOUS_OFFSET(1) addi 1, 1, TRAP_SIZE /* Branch to handler */ bctr .L121: li 0, 0 - Storeglobal32(0, caml_backtrace_pos, 11) - mr 28, 3 /* preserve exn bucket in callee-save reg */ + stg 0, Caml_state(backtrace_pos) + mr 27, 3 /* preserve exn bucket in callee-save reg */ /* arg1: exception bucket, already in r3 */ - Loadglobal(4, caml_last_return_address, 11) /* arg2: PC of raise */ - Loadglobal(5, caml_bottom_of_stack, 11) /* arg3: SP of raise */ - Loadglobal(6, caml_exception_pointer, 11) /* arg4: SP of handler */ + lg 4, Caml_state(last_return_address) /* arg2: PC of raise */ + lg 5, Caml_state(bottom_of_stack) /* arg3: SP of raise */ + lg 6, Caml_state(exception_pointer) /* arg4: SP of handler */ addi 1, 1, -(PARAM_SAVE_AREA + RESERVED_STACK) /* reserve stack space for C call */ bl caml_stash_backtrace #if defined(MODEL_ppc64) || defined(MODEL_ppc64le) nop #endif - mr 3, 28 /* restore exn bucket */ + mr 3, 27 /* restore exn bucket */ b .L120 /* raise the exn */ ENDFUNCTION(caml_raise_exception) @@ -437,7 +437,9 @@ FUNCTION(caml_start_program) .cfi_startproc #define STACKSIZE (WORD*18 + 8*18 + CALLBACK_LINK_SIZE + RESERVED_STACK) /* 18 callee-save GPR14...GPR31 + 18 callee-save FPR14...FPR31 */ - Addrglobal(12, caml_program) + /* Domain state pointer is the first arg to caml_start_program. Move it */ + mr START_PRG_DOMAIN_STATE_PTR, 3 + Addrglobal(START_PRG_ARG, caml_program) /* Code shared between caml_start_program and caml_callback */ .L102: /* Allocate and link stack frame */ @@ -489,12 +491,14 @@ FUNCTION(caml_start_program) stfdu 29, 8(11) stfdu 30, 8(11) stfdu 31, 8(11) + /* Load domain state pointer from argument */ + mr DOMAIN_STATE_PTR, START_PRG_DOMAIN_STATE_PTR /* Set up a callback link */ - Loadglobal(11, caml_bottom_of_stack, 11) + lg 11, Caml_state(bottom_of_stack) stg 11, CALLBACK_LINK_OFFSET(1) - Loadglobal(11, caml_last_return_address, 11) + lg 11, Caml_state(last_return_address) stg 11, (CALLBACK_LINK_OFFSET + WORD)(1) - Loadglobal(11, caml_gc_regs, 11) + lg 11, Caml_state(gc_regs) stg 11, (CALLBACK_LINK_OFFSET + 2 * WORD)(1) /* Build an exception handler to catch exceptions escaping out of OCaml */ bl .L103 @@ -504,12 +508,12 @@ FUNCTION(caml_start_program) .cfi_adjust_cfa_offset TRAP_SIZE mflr 0 stg 0, TRAP_HANDLER_OFFSET(1) - Loadglobal(11, caml_exception_pointer, 11) + lg 11, Caml_state(exception_pointer) stg 11, TRAP_PREVIOUS_OFFSET(1) - mr 29, 1 + mr TRAP_PTR, 1 /* Reload allocation pointers */ - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) + lg ALLOC_PTR, Caml_state(young_ptr) + lg ALLOC_LIMIT, Caml_state(young_limit) /* Call the OCaml code (address in r12) */ #if defined(MODEL_ppc) mtctr 12 @@ -531,19 +535,19 @@ FUNCTION(caml_start_program) #endif /* Pop the trap frame, restoring caml_exception_pointer */ lg 0, TRAP_PREVIOUS_OFFSET(1) - Storeglobal(0, caml_exception_pointer, 11) + stg 0, Caml_state(exception_pointer) addi 1, 1, TRAP_SIZE .cfi_adjust_cfa_offset -TRAP_SIZE /* Pop the callback link, restoring the global variables */ .L106: lg 0, CALLBACK_LINK_OFFSET(1) - Storeglobal(0, caml_bottom_of_stack, 11) + stg 0, Caml_state(bottom_of_stack) lg 0, (CALLBACK_LINK_OFFSET + WORD)(1) - Storeglobal(0, caml_last_return_address, 11) + stg 0, Caml_state(last_return_address) lg 0, (CALLBACK_LINK_OFFSET + 2 * WORD)(1) - Storeglobal(0, caml_gc_regs, 11) + stg 0, Caml_state(gc_regs) /* Update allocation pointer */ - Storeglobal(31, caml_young_ptr, 11) + stg ALLOC_PTR, Caml_state(young_ptr) /* Restore callee-save registers */ addi 11, 1, CALLBACK_LINK_SIZE + RESERVED_STACK - WORD lgu 14, WORD(11) @@ -596,7 +600,7 @@ FUNCTION(caml_start_program) ld 2, (STACKSIZE + TOC_SAVE_PARENT)(1) #endif /* Update caml_exception_pointer */ - Storeglobal(29, caml_exception_pointer, 11) + stg TRAP_PTR, Caml_state(exception_pointer) /* Encode exception bucket as an exception result and return it */ ori 3, 3, 2 b .L106 @@ -606,33 +610,37 @@ ENDFUNCTION(caml_start_program) /* Callback from C to OCaml */ -FUNCTION(caml_callback_exn) +FUNCTION(caml_callback_asm) /* Initial shuffling of arguments */ - mr 0, 3 /* Closure */ - mr 3, 4 /* Argument */ - mr 4, 0 - lg 12, 0(4) /* Code pointer */ + /* r3 = Caml_state, r4 = closure, 0(r5) = first arg */ + mr START_PRG_DOMAIN_STATE_PTR, 3 + lg 3, 0(5) /* r3 = Argument */ + /* r4 = Closure */ + lg START_PRG_ARG, 0(4) /* Code pointer */ b .L102 -ENDFUNCTION(caml_callback_exn) +ENDFUNCTION(caml_callback_asm) -FUNCTION(caml_callback2_exn) - mr 0, 3 /* Closure */ - mr 3, 4 /* First argument */ - mr 4, 5 /* Second argument */ - mr 5, 0 - Addrglobal(12, caml_apply2) +FUNCTION(caml_callback2_asm) + /* r3 = Caml_state, r4 = closure, 0(r5) = first arg, WORD(r5) = second arg */ + mr START_PRG_DOMAIN_STATE_PTR, 3 + mr 0, 4 + lg 3, 0(5) /* r3 = First argument */ + lg 4, WORD(5) /* r4 = Second argument */ + mr 5, 0 /* r5 = Closure */ + Addrglobal(START_PRG_ARG, caml_apply2) b .L102 -ENDFUNCTION(caml_callback2_exn) +ENDFUNCTION(caml_callback2_asm) -FUNCTION(caml_callback3_exn) - mr 0, 3 /* Closure */ - mr 3, 4 /* First argument */ - mr 4, 5 /* Second argument */ - mr 5, 6 /* Third argument */ - mr 6, 0 - Addrglobal(12, caml_apply3) +FUNCTION(caml_callback3_asm) + /* r3 = Caml_state, r4 = closure, 0(r5) = first arg, WORD(r5) = second arg, 2*WORD(r5) = third arg */ + mr START_PRG_DOMAIN_STATE_PTR, 3 + mr 6, 4 /* r6 = Closure */ + lg 3, 0(5) /* r3 = First argument */ + lg 4, WORD(5) /* r4 = Second argument */ + lg 5, 2*WORD(5) /* r5 = Third argument */ + Addrglobal(START_PRG_ARG, caml_apply3) b .L102 -ENDFUNCTION(caml_callback3_exn) +ENDFUNCTION(caml_callback3_asm) #if defined(MODEL_ppc64) .section ".opd","aw" @@ -664,15 +672,7 @@ caml_system__frametable: TOCENTRY(caml_apply2) TOCENTRY(caml_apply3) -TOCENTRY(caml_backtrace_active) -TOCENTRY(caml_backtrace_pos) -TOCENTRY(caml_bottom_of_stack) -TOCENTRY(caml_exception_pointer) -TOCENTRY(caml_gc_regs) -TOCENTRY(caml_last_return_address) TOCENTRY(caml_program) -TOCENTRY(caml_young_limit) -TOCENTRY(caml_young_ptr) #endif diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index b2cf7d3b7..7e7e0530d 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -182,9 +182,10 @@ DECLARE_SIGNAL_HANDLER(trap_handler) caml_sigmask_hook(SIG_UNBLOCK, &mask, NULL); } #endif + Caml_state->exception_pointer = (char *) CONTEXT_EXCEPTION_POINTER; Caml_state->young_ptr = (value *) CONTEXT_YOUNG_PTR; - caml_bottom_of_stack = (char *) CONTEXT_SP; - caml_last_return_address = (uintnat) CONTEXT_PC; + Caml_state->bottom_of_stack = (char *) CONTEXT_SP; + Caml_state->last_return_address = (uintnat) CONTEXT_PC; caml_array_bound_error(); } #endif @@ -241,6 +242,7 @@ DECLARE_SIGNAL_HANDLER(segv_handler) #else /* Raise a Stack_overflow exception straight from this signal handler */ #if defined(CONTEXT_YOUNG_PTR) && defined(CONTEXT_EXCEPTION_POINTER) + Caml_state->exception_pointer == (char *) CONTEXT_EXCEPTION_POINTER; Caml_state->young_ptr = (value *) CONTEXT_YOUNG_PTR; #endif caml_raise_stack_overflow(); From d6c350a1c9708daab8337988d0f498c84062b556 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 14 Jun 2019 06:29:29 +0530 Subject: [PATCH 17/54] Add domain_state.tbl to install targets --- runtime/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/Makefile b/runtime/Makefile index d85df3c9b..78bac2e65 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -190,7 +190,7 @@ ifneq "$(BYTECODE_SHARED_LIBRARIES)" "" $(INSTALL_PROG) $(BYTECODE_SHARED_LIBRARIES) "$(INSTALL_LIBDIR)" endif mkdir -p "$(INSTALL_INCDIR)" - $(INSTALL_DATA) caml/*.h "$(INSTALL_INCDIR)" + $(INSTALL_DATA) caml/domain_state.tbl caml/*.h "$(INSTALL_INCDIR)" .PHONY: installopt installopt: From 4dab86ad54074134f69df294fd3817532373557e Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 14 Jun 2019 09:54:39 +0530 Subject: [PATCH 18/54] Fix domain state field offset for power (32-bit) The domain state fields are always aligned at 8 byte offset. This is to ensure that even on a 32-bit where pointers are 32-bits and doubles are 64-bits, the offset calculation remains the same as 64-bit architectures. --- asmcomp/power/emit.mlp | 2 +- runtime/power.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asmcomp/power/emit.mlp b/asmcomp/power/emit.mlp index ece0dce45..e66789356 100644 --- a/asmcomp/power/emit.mlp +++ b/asmcomp/power/emit.mlp @@ -1013,7 +1013,7 @@ let emit_instr i = Domainstate.(idx_of_field Domain_backtrace_pos) in begin match abi with - | ELF32 -> ` stw 0, {emit_int (backtrace_pos * 4)}(28)\n` + | ELF32 -> ` stw 0, {emit_int (backtrace_pos * 8)}(28)\n` | _ -> ` std 0, {emit_int (backtrace_pos * 8)}(28)\n` end; emit_call "caml_raise_exn"; diff --git a/runtime/power.S b/runtime/power.S index c7fc3b91e..70c09c394 100644 --- a/runtime/power.S +++ b/runtime/power.S @@ -152,7 +152,7 @@ #include "../runtime/caml/domain_state.tbl" #undef DOMAIN_STATE -#define Caml_state(var) WORD*domain_field_caml_##var(28) +#define Caml_state(var) 8*domain_field_caml_##var(28) #if defined(MODEL_ppc64) .section ".opd","aw" From fdd4d73b438f3d6af456bb778b5da99a92635b55 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sat, 15 Jun 2019 09:11:51 +0530 Subject: [PATCH 19/54] Domain state support for i386 --- asmcomp/i386/emit.mlp | 47 ++++++--- asmcomp/i386/proc.ml | 5 +- runtime/caml/domain_state.h | 2 + runtime/i386.S | 193 +++++++++++++++++++++------------- testsuite/tools/asmgen_i386.S | 4 +- 5 files changed, 158 insertions(+), 93 deletions(-) diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp index e0704940a..fa70a7a9b 100644 --- a/asmcomp/i386/emit.mlp +++ b/asmcomp/i386/emit.mlp @@ -137,6 +137,12 @@ let register_name r = let sym32 ?ofs s = mem_sym ?ofs DWORD (emit_symbol s) +let domain_field f r = + mem32 DWORD (Domainstate.idx_of_field f * 8) r + +let load_domain_state r = + I.mov (sym32 "Caml_state") r + let reg = function | { loc = Reg r } -> register_name r | { loc = Stack(Incoming n | Outgoing n) } when n < 0 -> @@ -609,13 +615,14 @@ let emit_instr fallthrough i = if !fastcode_flag then begin let lbl_redo = new_label() in def_label lbl_redo; - I.mov (sym32 "caml_young_ptr") eax; + load_domain_state ebx; + I.mov (domain_field Domain_young_ptr RBX) eax; I.sub (int n) eax; - I.cmp (sym32 "caml_young_limit") eax; + I.cmp (domain_field Domain_young_limit RBX) eax; let lbl_call_gc = new_label() in let lbl_frame = record_frame_label i.live false Debuginfo.none in I.jb (label lbl_call_gc); - I.mov eax (sym32 "caml_young_ptr"); + I.mov eax (domain_field Domain_young_ptr RBX); I.lea (mem32 NONE 4 RAX) (reg i.res.(0)); call_gc_sites := { gc_lbl = lbl_call_gc; @@ -865,23 +872,39 @@ let emit_instr fallthrough i = I.push (label lbl_handler); if trap_frame_size > 8 then I.sub (int (trap_frame_size - 8)) esp; - I.push (sym32 "caml_exception_pointer"); + load_domain_state edx; + I.push (domain_field Domain_exception_pointer RDX); cfi_adjust_cfa_offset trap_frame_size; - I.mov esp (sym32 "caml_exception_pointer"); + I.mov esp (domain_field Domain_exception_pointer RDX); + I.mov (int 23) edx; stack_offset := !stack_offset + trap_frame_size | Lpoptrap -> - I.pop (sym32 "caml_exception_pointer"); - I.add (int (trap_frame_size - 4)) esp; + I.push ecx; + I.push edx; + I.mov (mem32 DWORD 8 RSP) ecx; + load_domain_state edx; + I.mov ecx (domain_field Domain_exception_pointer RDX); + I.pop edx; + I.pop ecx; + I.add (int trap_frame_size) esp; cfi_adjust_cfa_offset (-trap_frame_size); stack_offset := !stack_offset - trap_frame_size | Lraise k -> begin match k with - | Cmm.Raise_withtrace -> + | Lambda.Raise_regular -> + load_domain_state ebx; + I.mov (int 0) (domain_field Domain_backtrace_pos RBX); + I.mov (int 43) ebx; emit_call "caml_raise_exn"; record_frame Reg.Set.empty true i.dbg - | Cmm.Raise_notrace -> - I.mov (sym32 "caml_exception_pointer") esp; - I.pop (sym32 "caml_exception_pointer"); + | Lambda.Raise_reraise -> + emit_call "caml_raise_exn"; + record_frame Reg.Set.empty true i.dbg + | Lambda.Raise_notrace -> + load_domain_state ebx; + I.mov (domain_field Domain_exception_pointer RBX) esp; + I.pop (domain_field Domain_exception_pointer RBX); + I.mov (int 59) ebx; if trap_frame_size > 8 then I.add (int (trap_frame_size - 8)) esp; I.pop ebx; @@ -958,8 +981,6 @@ let begin_assembly() = if system = S_win32 then begin D.mode386 (); D.model "FLAT"; - D.extrn "_caml_young_ptr" DWORD; - D.extrn "_caml_young_limit" DWORD; D.extrn "_caml_exception_pointer" DWORD; D.extrn "_caml_extra_params" DWORD; D.extrn "_caml_call_gc" PROC; diff --git a/asmcomp/i386/proc.ml b/asmcomp/i386/proc.ml index 0b333af49..ee7e63498 100644 --- a/asmcomp/i386/proc.ml +++ b/asmcomp/i386/proc.ml @@ -88,6 +88,7 @@ let phys_reg n = if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) let eax = phys_reg 0 +let ebx = phys_reg 1 let ecx = phys_reg 2 let edx = phys_reg 3 @@ -204,10 +205,12 @@ let destroyed_at_oper = function all_phys_regs | Iop(Iextcall { alloc = false; }) -> destroyed_at_c_call | Iop(Iintop(Idiv | Imod)) -> [| eax; edx |] - | Iop(Ialloc _ | Iintop Imulh) -> [| eax |] + | Iop(Ialloc _) -> [| eax; ebx |] + | Iop(Iintop Imulh) -> [| eax |] | Iop(Iintop(Icomp _) | Iintop_imm(Icomp _, _)) -> [| eax |] | Iop(Iintoffloat) -> [| eax |] | Iifthenelse(Ifloattest _, _, _) -> [| eax |] + | Itrywith _ -> [| edx |] | _ -> [||] let destroyed_at_raise = all_phys_regs diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 0a91aac98..05f74e512 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -42,4 +42,6 @@ CAML_STATIC_ASSERT( (Domain_state_num_fields ) * 8); +CAMLextern caml_domain_state* Caml_state; + #endif /* CAML_STATE_H */ diff --git a/runtime/i386.S b/runtime/i386.S index aa0cadd8e..82b8c335a 100644 --- a/runtime/i386.S +++ b/runtime/i386.S @@ -82,6 +82,18 @@ #define STACK_PROBE_SIZE 16384 #endif +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "../runtime/caml/config.h" + + .set domain_curr_field, 0 +#define DOMAIN_STATE(c_type, name) \ + .equ domain_field_caml_##name, domain_curr_field ; \ + .set domain_curr_field, domain_curr_field + 1 +#include "../runtime/caml/domain_state.tbl" +#undef DOMAIN_STATE + +#define CAML_STATE(var,reg) 8*domain_field_caml_##var(reg) + /* PR#6038: GCC and Clang seem to require 16-byte alignment nowadays, even if only MacOS X's ABI formally requires it. */ #define ALIGN_STACK(amount) subl $ amount, %esp ; CFI_ADJUST(amount) @@ -105,10 +117,13 @@ G(caml_system__code_begin): FUNCTION(caml_call_gc) CFI_STARTPROC /* Record lowest stack address and return address */ - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) + pushl %ebx; CFI_ADJUST(4) + movl G(Caml_state), %ebx + movl 4(%esp), %eax + movl %eax, CAML_STATE(last_return_address, %ebx) + leal 8(%esp), %eax + movl %eax, CAML_STATE(bottom_of_stack, %ebx) + popl %ebx; CFI_ADJUST(-4) LBL(105): #if !defined(SYS_mingw) && !defined(SYS_cygwin) /* Touch the stack to trigger a recoverable segfault @@ -125,7 +140,8 @@ LBL(105): pushl %ecx; CFI_ADJUST(4) pushl %ebx; CFI_ADJUST(4) pushl %eax; CFI_ADJUST(4) - movl %esp, G(caml_gc_regs) + movl G(Caml_state), %ebx + movl %esp, CAML_STATE(gc_regs, %ebx) /* MacOSX note: 16-alignment of stack preserved at this point */ /* Call the garbage collector */ call G(caml_garbage_collection) @@ -144,17 +160,21 @@ LBL(105): FUNCTION(caml_alloc1) CFI_STARTPROC - movl G(caml_young_ptr), %eax + pushl %ebx; CFI_ADJUST(4) + movl G(Caml_state), %ebx + movl CAML_STATE(young_ptr, %ebx), %eax subl $8, %eax - cmpl G(caml_young_limit), %eax + cmpl CAML_STATE(young_limit, %ebx), %eax jb LBL(100) - movl %eax, G(caml_young_ptr) + movl %eax, CAML_STATE(young_ptr, %ebx) + popl %ebx; CFI_ADJUST(-4) ret LBL(100): - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) + movl 4(%esp), %eax + movl %eax, CAML_STATE(last_return_address, %ebx) + leal 8(%esp), %eax + movl %eax, CAML_STATE(bottom_of_stack, %ebx) + popl %ebx; CFI_ADJUST(-4) ALIGN_STACK(12) call LBL(105) UNDO_ALIGN_STACK(12) @@ -164,17 +184,21 @@ LBL(100): FUNCTION(caml_alloc2) CFI_STARTPROC - movl G(caml_young_ptr), %eax + pushl %ebx; CFI_ADJUST(4) + movl G(Caml_state), %ebx + movl CAML_STATE(young_ptr, %ebx), %eax subl $12, %eax - cmpl G(caml_young_limit), %eax + cmpl CAML_STATE(young_limit, %ebx), %eax jb LBL(101) - movl %eax, G(caml_young_ptr) + movl %eax, CAML_STATE(young_ptr, %ebx) + popl %ebx; CFI_ADJUST(-4) ret LBL(101): - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) + movl 4(%esp), %eax + movl %eax, CAML_STATE(last_return_address, %ebx) + leal 8(%esp), %eax + movl %eax, CAML_STATE(bottom_of_stack, %ebx) + popl %ebx; CFI_ADJUST(-4) ALIGN_STACK(12) call LBL(105) UNDO_ALIGN_STACK(12) @@ -184,17 +208,21 @@ LBL(101): FUNCTION(caml_alloc3) CFI_STARTPROC - movl G(caml_young_ptr), %eax + pushl %ebx; CFI_ADJUST(4) + movl G(Caml_state), %ebx + movl CAML_STATE(young_ptr, %ebx), %eax subl $16, %eax - cmpl G(caml_young_limit), %eax + cmpl CAML_STATE(young_limit, %ebx), %eax jb LBL(102) - movl %eax, G(caml_young_ptr) + movl %eax, CAML_STATE(young_ptr, %ebx) + popl %ebx; CFI_ADJUST(-4) ret LBL(102): - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) + movl 4(%esp), %eax + movl %eax, CAML_STATE(last_return_address, %ebx) + leal 8(%esp), %eax + movl %eax, CAML_STATE(bottom_of_stack, %ebx) + popl %ebx; CFI_ADJUST(-4) ALIGN_STACK(12) call LBL(105) UNDO_ALIGN_STACK(12) @@ -204,20 +232,23 @@ LBL(102): FUNCTION(caml_allocN) CFI_STARTPROC - subl G(caml_young_ptr), %eax /* eax = size - caml_young_ptr */ + pushl %eax; CFI_ADJUST(4) /* saved desired size */ + pushl %ebx; CFI_ADJUST(4) + movl G(Caml_state), %ebx + subl CAML_STATE(young_ptr, %ebx), %eax /* eax = size - caml_young_ptr */ negl %eax /* eax = caml_young_ptr - size */ - cmpl G(caml_young_limit), %eax + cmpl CAML_STATE(young_limit, %ebx), %eax jb LBL(103) - movl %eax, G(caml_young_ptr) + movl %eax, CAML_STATE(young_ptr, %ebx) + popl %ebx; CFI_ADJUST(-4) + addl $4, %esp; CFI_ADJUST(-4) /* drop desired size */ ret LBL(103): - subl G(caml_young_ptr), %eax /* eax = - size */ - negl %eax /* eax = size */ - pushl %eax; CFI_ADJUST(4) /* save desired size */ - movl 4(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 8(%esp), %eax - movl %eax, G(caml_bottom_of_stack) + movl 8(%esp), %eax + movl %eax, CAML_STATE(last_return_address, %ebx) + leal 12(%esp), %eax + movl %eax, CAML_STATE(bottom_of_stack, %ebx) + popl %ebx; CFI_ADJUST(-4) ALIGN_STACK(8) call LBL(105) UNDO_ALIGN_STACK(8) @@ -231,10 +262,11 @@ LBL(103): FUNCTION(caml_c_call) CFI_STARTPROC /* Record lowest stack address and return address */ + movl G(Caml_state), %ecx movl (%esp), %edx - movl %edx, G(caml_last_return_address) + movl %edx, CAML_STATE(last_return_address, %ecx) leal 4(%esp), %edx - movl %edx, G(caml_bottom_of_stack) + movl %edx, CAML_STATE(bottom_of_stack, %ecx) #if !defined(SYS_mingw) && !defined(SYS_cygwin) /* Touch the stack to trigger a recoverable segfault if insufficient space remains */ @@ -260,27 +292,30 @@ FUNCTION(caml_start_program) movl $ G(caml_program), %esi /* Common code for caml_start_program and caml_callback* */ LBL(106): + movl G(Caml_state), %edi /* Build a callback link */ - pushl G(caml_gc_regs); CFI_ADJUST(4) - pushl G(caml_last_return_address); CFI_ADJUST(4) - pushl G(caml_bottom_of_stack); CFI_ADJUST(4) + pushl CAML_STATE(gc_regs, %edi); CFI_ADJUST(4) + pushl CAML_STATE(last_return_address, %edi); CFI_ADJUST(4) + pushl CAML_STATE(bottom_of_stack, %edi); CFI_ADJUST(4) /* Note: 16-alignment preserved on MacOSX at this point */ /* Build an exception handler */ pushl $ LBL(108); CFI_ADJUST(4) ALIGN_STACK(8) - pushl G(caml_exception_pointer); CFI_ADJUST(4) - movl %esp, G(caml_exception_pointer) + pushl CAML_STATE(exception_pointer, %edi); CFI_ADJUST(4) + movl %esp, CAML_STATE(exception_pointer, %edi) /* Call the OCaml code */ call *%esi LBL(107): + movl G(Caml_state), %edi /* Pop the exception handler */ - popl G(caml_exception_pointer); CFI_ADJUST(-4) + popl CAML_STATE(exception_pointer, %edi); CFI_ADJUST(-4) addl $12, %esp ; CFI_ADJUST(-12) LBL(109): + movl G(Caml_state), %edi /* Reload for LBL(109) entry */ /* Pop the callback link, restoring the global variables */ - popl G(caml_bottom_of_stack); CFI_ADJUST(-4) - popl G(caml_last_return_address); CFI_ADJUST(-4) - popl G(caml_gc_regs); CFI_ADJUST(-4) + popl CAML_STATE(bottom_of_stack, %edi); CFI_ADJUST(-4) + popl CAML_STATE(last_return_address, %edi); CFI_ADJUST(-4) + popl CAML_STATE(gc_regs, %edi); CFI_ADJUST(-4) /* Restore callee-save registers. */ popl %ebp; CFI_ADJUST(-4) popl %edi; CFI_ADJUST(-4) @@ -300,15 +335,16 @@ LBL(108): FUNCTION(caml_raise_exn) CFI_STARTPROC - testl $1, G(caml_backtrace_active) + movl G(Caml_state), %ebx + testl $1, CAML_STATE(backtrace_active, %ebx) jne LBL(110) - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) + movl CAML_STATE(exception_pointer, %ebx), %esp + popl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(-4) UNDO_ALIGN_STACK(8) ret LBL(110): movl %eax, %esi /* Save exception bucket in esi */ - movl G(caml_exception_pointer), %edi /* SP of handler */ + movl CAML_STATE(exception_pointer, %ebx), %edi /* SP of handler */ movl 0(%esp), %eax /* PC of raise */ leal 4(%esp), %edx /* SP of raise */ ALIGN_STACK(12) @@ -319,7 +355,7 @@ LBL(110): call G(caml_stash_backtrace) movl %esi, %eax /* Recover exception bucket */ movl %edi, %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) + popl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(-4) UNDO_ALIGN_STACK(8) ret CFI_ENDPROC @@ -329,24 +365,25 @@ LBL(110): FUNCTION(caml_raise_exception) CFI_STARTPROC - testl $1, G(caml_backtrace_active) + movl G(Caml_state), %ebx + testl $1, CAML_STATE(backtrace_active, %ebx) jne LBL(112) - movl 4(%esp), %eax - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) + movl 8(%esp), %eax + movl CAML_STATE(exception_pointer, %ebx), %esp + popl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(-4) UNDO_ALIGN_STACK(8) ret LBL(112): - movl 4(%esp), %esi /* Save exception bucket in esi */ + movl 8(%esp), %esi /* Save exception bucket in esi */ ALIGN_STACK(12) - pushl G(caml_exception_pointer); CFI_ADJUST(4) /* 4: sp of handler */ - pushl G(caml_bottom_of_stack); CFI_ADJUST(4) /* 3: sp of raise */ - pushl G(caml_last_return_address); CFI_ADJUST(4)/* 2: pc of raise */ + pushl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(4) /* 4: sp of handler */ + pushl CAML_STATE(bottom_of_stack, %ebx); CFI_ADJUST(4) /* 3: sp of raise */ + pushl CAML_STATE(last_return_address, %ebx); CFI_ADJUST(4)/* 2: pc of raise */ pushl %esi; CFI_ADJUST(4) /* 1: exception bucket */ call G(caml_stash_backtrace) movl %esi, %eax /* Recover exception bucket */ - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) + movl CAML_STATE(exception_pointer, %ebx), %esp + popl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(-4) UNDO_ALIGN_STACK(8) ret CFI_ENDPROC @@ -354,7 +391,7 @@ LBL(112): /* Callback from C to OCaml */ -FUNCTION(caml_callback_exn) +FUNCTION(caml_callback_asm) CFI_STARTPROC /* Save callee-save registers */ pushl %ebx; CFI_ADJUST(4) @@ -362,14 +399,15 @@ FUNCTION(caml_callback_exn) pushl %edi; CFI_ADJUST(4) pushl %ebp; CFI_ADJUST(4) /* Initial loading of arguments */ - movl 20(%esp), %ebx /* closure */ - movl 24(%esp), %eax /* argument */ + movl 24(%esp), %ebx /* arg2: closure */ + movl 28(%esp), %edi /* arguments array */ + movl 0(%edi), %eax /* arg1: argument */ movl 0(%ebx), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC ENDFUNCTION(caml_callback_exn) -FUNCTION(caml_callback2_exn) +FUNCTION(caml_callback2_asm) CFI_STARTPROC /* Save callee-save registers */ pushl %ebx; CFI_ADJUST(4) @@ -377,15 +415,16 @@ FUNCTION(caml_callback2_exn) pushl %edi; CFI_ADJUST(4) pushl %ebp; CFI_ADJUST(4) /* Initial loading of arguments */ - movl 20(%esp), %ecx /* closure */ - movl 24(%esp), %eax /* first argument */ - movl 28(%esp), %ebx /* second argument */ + movl 24(%esp), %ecx /* arg3: closure */ + movl 28(%esp), %edi /* arguments array */ + movl 0(%edi), %eax /* arg1: first argument */ + movl 4(%edi), %ebx /* arg2: second argument */ movl $ G(caml_apply2), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC ENDFUNCTION(caml_callback2_exn) -FUNCTION(caml_callback3_exn) +FUNCTION(caml_callback3_asm) CFI_STARTPROC /* Save callee-save registers */ pushl %ebx; CFI_ADJUST(4) @@ -393,10 +432,11 @@ FUNCTION(caml_callback3_exn) pushl %edi; CFI_ADJUST(4) pushl %ebp; CFI_ADJUST(4) /* Initial loading of arguments */ - movl 20(%esp), %edx /* closure */ - movl 24(%esp), %eax /* first argument */ - movl 28(%esp), %ebx /* second argument */ - movl 32(%esp), %ecx /* third argument */ + movl 24(%esp), %edx /* closure */ + movl 28(%esp), %edi /* arguments array */ + movl 0(%edi), %eax /* arg1: first argument */ + movl 4(%edi), %ebx /* arg2: second argument */ + movl 8(%edi), %ecx /* third argument */ movl $ G(caml_apply3), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC @@ -414,10 +454,11 @@ FUNCTION(caml_ml_array_bound_error) ffree %st(6) ffree %st(7) /* Record lowest stack address and return address */ + movl G(Caml_state), %ebx movl (%esp), %edx - movl %edx, G(caml_last_return_address) + movl %edx, CAML_STATE(last_return_address, %ebx) leal 4(%esp), %edx - movl %edx, G(caml_bottom_of_stack) + movl %edx, CAML_STATE(bottom_of_stack, %ebx) /* Re-align the stack */ andl $-16, %esp /* Branch to [caml_array_bound_error] (never returns) */ diff --git a/testsuite/tools/asmgen_i386.S b/testsuite/tools/asmgen_i386.S index 5878395a4..1d16b72d4 100644 --- a/testsuite/tools/asmgen_i386.S +++ b/testsuite/tools/asmgen_i386.S @@ -49,9 +49,7 @@ G(call_gen_code): G(caml_c_call): jmp *%eax - .comm G(caml_exception_pointer), 4 - .comm G(young_ptr), 4 - .comm G(young_start), 4 + .comm G(Caml_state), 4 /* Some tests are designed to cause registers to spill; on * x86 we require the caml_extra_params symbol from the RTS. */ From ee2bcfe1ad40c64d0449a452703a9528f0447e67 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sat, 15 Jun 2019 23:24:39 +0530 Subject: [PATCH 20/54] Optimising poptrap in i386 --- asmcomp/amd64/proc.ml | 2 +- asmcomp/i386/emit.mlp | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/asmcomp/amd64/proc.ml b/asmcomp/amd64/proc.ml index 869bbf2e2..cc47a5afd 100644 --- a/asmcomp/amd64/proc.ml +++ b/asmcomp/amd64/proc.ml @@ -44,7 +44,7 @@ let win64 = Arch.win64 r10 10 r11 11 rbp 12 - r14 trap pointer + r14 domain state pointer r15 allocation pointer xmm0 - xmm15 100 - 115 *) diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp index fa70a7a9b..eef066824 100644 --- a/asmcomp/i386/emit.mlp +++ b/asmcomp/i386/emit.mlp @@ -876,17 +876,14 @@ let emit_instr fallthrough i = I.push (domain_field Domain_exception_pointer RDX); cfi_adjust_cfa_offset trap_frame_size; I.mov esp (domain_field Domain_exception_pointer RDX); - I.mov (int 23) edx; stack_offset := !stack_offset + trap_frame_size | Lpoptrap -> - I.push ecx; - I.push edx; - I.mov (mem32 DWORD 8 RSP) ecx; + I.mov edx (mem32 DWORD 4 RSP); load_domain_state edx; - I.mov ecx (domain_field Domain_exception_pointer RDX); + I.pop (domain_field Domain_exception_pointer RDX); I.pop edx; - I.pop ecx; - I.add (int trap_frame_size) esp; + if trap_frame_size > 8 then + I.add (int (trap_frame_size - 8)) esp; cfi_adjust_cfa_offset (-trap_frame_size); stack_offset := !stack_offset - trap_frame_size | Lraise k -> @@ -894,7 +891,6 @@ let emit_instr fallthrough i = | Lambda.Raise_regular -> load_domain_state ebx; I.mov (int 0) (domain_field Domain_backtrace_pos RBX); - I.mov (int 43) ebx; emit_call "caml_raise_exn"; record_frame Reg.Set.empty true i.dbg | Lambda.Raise_reraise -> @@ -904,7 +900,6 @@ let emit_instr fallthrough i = load_domain_state ebx; I.mov (domain_field Domain_exception_pointer RBX) esp; I.pop (domain_field Domain_exception_pointer RBX); - I.mov (int 59) ebx; if trap_frame_size > 8 then I.add (int (trap_frame_size - 8)) esp; I.pop ebx; From 750fd7a795454af6e34d06b68959bb5a93978d19 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 17 Jun 2019 08:00:15 +0000 Subject: [PATCH 21/54] Support for domain state on arm --- asmcomp/arm/emit.mlp | 19 +++- asmcomp/arm/proc.ml | 2 +- runtime/arm.S | 206 ++++++++++++++++++++----------------------- 3 files changed, 110 insertions(+), 117 deletions(-) diff --git a/asmcomp/arm/emit.mlp b/asmcomp/arm/emit.mlp index 5a328efe8..236ea0c22 100644 --- a/asmcomp/arm/emit.mlp +++ b/asmcomp/arm/emit.mlp @@ -650,7 +650,12 @@ let emit_instr i = then ` sub {emit_reg i.res.(0)}, alloc_ptr, #{emit_int32 a}\n` else ` sub {emit_reg i.res.(0)}, {emit_reg i.res.(0)}, #{emit_int32 a}\n`; first := false) in - ` cmp {emit_reg i.res.(0)}, alloc_limit\n`; + let offset = Domainstate.(idx_of_field Domain_young_limit) * 8 in + let tmp = if i.res.(0).loc = Reg 8 (* r12 *) then phys_reg 7 (* r7 *) + else phys_reg 8 (* r12 *) + in + ` ldr {emit_reg tmp}, [domain_state_ptr, {emit_int offset}]\n`; + ` cmp {emit_reg i.res.(0)}, {emit_reg tmp}\n`; let lbl_call_gc = new_label() in ` bls {emit_label lbl_call_gc}\n`; ` sub alloc_ptr, {emit_reg i.res.(0)}, #4\n`; @@ -896,10 +901,16 @@ let emit_instr i = stack_offset := !stack_offset - 8; 1 | Lraise k -> begin match k with - | Cmm.Raise_withtrace -> + | Lambda.Raise_regular -> + let offset = Domainstate.(idx_of_field Domain_backtrace_pos) * 8 in + ` mov r12, #0\n`; + ` str r12, [domain_state_ptr, {emit_int offset}]\n`; + ` {emit_call "caml_raise_exn"}\n`; + `{record_frame Reg.Set.empty true i.dbg}\n`; 3 + | Lambda.Raise_reraise -> ` {emit_call "caml_raise_exn"}\n`; `{record_frame Reg.Set.empty true i.dbg}\n`; 1 - | Cmm.Raise_notrace -> + | Lambda.Raise_notrace -> ` mov sp, trap_ptr\n`; ` pop \{trap_ptr, pc}\n`; 2 end @@ -1019,7 +1030,7 @@ let begin_assembly() = end; `trap_ptr .req r8\n`; `alloc_ptr .req r10\n`; - `alloc_limit .req r11\n`; + `domain_state_ptr .req r11\n`; let lbl_begin = Compilenv.make_symbol (Some "data_begin") in ` .data\n`; ` .globl {emit_symbol lbl_begin}\n`; diff --git a/asmcomp/arm/proc.ml b/asmcomp/arm/proc.ml index 8ad7bebcc..1e16621be 100644 --- a/asmcomp/arm/proc.ml +++ b/asmcomp/arm/proc.ml @@ -34,7 +34,7 @@ let word_addressed = false r8 trap pointer (preserved) r9 platform register, usually reserved r10 allocation pointer (preserved) - r11 allocation limit (preserved) + r11 domain state pointer (preserved) r12 intra-procedural scratch register (not preserved) r13 stack pointer r14 return address diff --git a/runtime/arm.S b/runtime/arm.S index 1d76ff19c..bae83b3c0 100644 --- a/runtime/arm.S +++ b/runtime/arm.S @@ -79,9 +79,9 @@ .endm #endif -trap_ptr .req r8 -alloc_ptr .req r10 -alloc_limit .req r11 +trap_ptr .req r8 +alloc_ptr .req r10 +domain_state_ptr .req r11 /* Support for CFI directives */ @@ -122,6 +122,18 @@ caml_hot__code_begin: caml_hot__code_end: #endif +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "../runtime/caml/config.h" + + .set domain_curr_field, 0 +#define DOMAIN_STATE(c_type, name) \ + .equ domain_field_caml_##name, domain_curr_field ; \ + .set domain_curr_field, domain_curr_field + 1 +#include "../runtime/caml/domain_state.tbl" +#undef DOMAIN_STATE + +#define Caml_state(var) [domain_state_ptr, 8*domain_field_caml_##var] + /* Allocation functions and GC interface */ .globl caml_system__code_begin caml_system__code_begin: @@ -129,12 +141,10 @@ caml_system__code_begin: FUNCTION(caml_call_gc) CFI_STARTPROC /* Record return address */ - ldr r12, =caml_last_return_address - str lr, [r12] + str lr, Caml_state(last_return_address) .Lcaml_call_gc: /* Record lowest stack address */ - ldr r12, =caml_bottom_of_stack - str sp, [r12] + str sp, Caml_state(bottom_of_stack) #if defined(SYS_linux_eabihf) || defined(SYS_netbsd) /* Save caller floating-point registers on the stack */ vpush {d0-d7}; CFI_ADJUST(64) @@ -147,14 +157,11 @@ FUNCTION(caml_call_gc) CFI_OFFSET(lr, -4) #endif /* Store pointer to saved integer registers in caml_gc_regs */ - ldr r12, =caml_gc_regs - str sp, [r12] + str sp, Caml_state(gc_regs) /* Save current allocation pointer for debugging purposes */ - ldr alloc_limit, =caml_young_ptr - str alloc_ptr, [alloc_limit] + str alloc_ptr, Caml_state(young_ptr) /* Save trap pointer in case an exception is raised during GC */ - ldr r12, =caml_exception_pointer - str trap_ptr, [r12] + str trap_ptr, Caml_state(exception_pointer) /* Call the garbage collector */ bl caml_garbage_collection /* Restore integer registers and return address from the stack */ @@ -163,11 +170,8 @@ FUNCTION(caml_call_gc) /* Restore floating-point registers from the stack */ vpop {d0-d7}; CFI_ADJUST(-64) #endif - /* Reload new allocation pointer and limit */ - /* alloc_limit still points to caml_young_ptr */ - ldr r12, =caml_young_limit - ldr alloc_ptr, [alloc_limit] - ldr alloc_limit, [r12] + /* Reload new allocation pointer */ + ldr alloc_ptr, Caml_state(young_ptr) /* Return to caller */ bx lr CFI_ENDPROC @@ -177,17 +181,17 @@ FUNCTION(caml_alloc1) CFI_STARTPROC .Lcaml_alloc1: sub alloc_ptr, alloc_ptr, 8 - cmp alloc_ptr, alloc_limit + ldr r7, Caml_state(young_limit) + cmp alloc_ptr, r7 bcc 1f bx lr 1: add alloc_ptr, alloc_ptr, 8 /* Record return address */ - ldr r7, =caml_last_return_address - str lr, [r7] - /* Call GC (preserves r7) */ + str lr, Caml_state(last_return_address) + /* Call GC */ bl .Lcaml_call_gc /* Restore return address */ - ldr lr, [r7] + ldr lr, Caml_state(last_return_address) /* Try again */ b .Lcaml_alloc1 CFI_ENDPROC @@ -197,17 +201,17 @@ FUNCTION(caml_alloc2) CFI_STARTPROC .Lcaml_alloc2: sub alloc_ptr, alloc_ptr, 12 - cmp alloc_ptr, alloc_limit + ldr r7, Caml_state(young_limit) + cmp alloc_ptr, r7 bcc 1f bx lr 1: add alloc_ptr, alloc_ptr, 12 /* Record return address */ - ldr r7, =caml_last_return_address - str lr, [r7] - /* Call GC (preserves r7) */ + str lr, Caml_state(last_return_address) + /* Call GC */ bl .Lcaml_call_gc /* Restore return address */ - ldr lr, [r7] + ldr lr, Caml_state(last_return_address) /* Try again */ b .Lcaml_alloc2 CFI_ENDPROC @@ -217,17 +221,17 @@ FUNCTION(caml_alloc3) CFI_STARTPROC .Lcaml_alloc3: sub alloc_ptr, alloc_ptr, 16 - cmp alloc_ptr, alloc_limit + ldr r7, Caml_state(young_limit) + cmp alloc_ptr, r7 bcc 1f bx lr 1: add alloc_ptr, alloc_ptr, 16 /* Record return address */ - ldr r7, =caml_last_return_address - str lr, [r7] - /* Call GC (preserves r7) */ + str lr, Caml_state(last_return_address) + /* Call GC */ bl .Lcaml_call_gc /* Restore return address */ - ldr lr, [r7] + ldr lr, Caml_state(last_return_address) /* Try again */ b .Lcaml_alloc3 CFI_ENDPROC @@ -237,18 +241,17 @@ FUNCTION(caml_allocN) CFI_STARTPROC .Lcaml_allocN: sub alloc_ptr, alloc_ptr, r7 - cmp alloc_ptr, alloc_limit + ldr r12, Caml_state(young_limit) + cmp alloc_ptr, r12 bcc 1f bx lr 1: add alloc_ptr, alloc_ptr, r7 /* Record return address */ - ldr r12, =caml_last_return_address - str lr, [r12] + str lr, Caml_state(last_return_address) /* Call GC (preserves r7) */ bl .Lcaml_call_gc /* Restore return address */ - ldr r12, =caml_last_return_address - ldr lr, [r12] + ldr lr, Caml_state(last_return_address) /* Try again */ b .Lcaml_allocN CFI_ENDPROC @@ -260,24 +263,18 @@ FUNCTION(caml_allocN) FUNCTION(caml_c_call) CFI_STARTPROC /* Record lowest stack address and return address */ - ldr r5, =caml_last_return_address - ldr r6, =caml_bottom_of_stack - str lr, [r5] - str sp, [r6] + str lr, Caml_state(last_return_address) + str sp, Caml_state(bottom_of_stack) /* Preserve return address in callee-save register r4 */ mov r4, lr CFI_REGISTER(lr, r4) /* Make the exception handler alloc ptr available to the C code */ - ldr r5, =caml_young_ptr - ldr r6, =caml_exception_pointer - str alloc_ptr, [r5] - str trap_ptr, [r6] + str alloc_ptr, Caml_state(young_ptr) + str trap_ptr, Caml_state(exception_pointer) /* Call the function */ blx r7 - /* Reload alloc ptr and alloc limit */ - ldr r6, =caml_young_limit - ldr alloc_ptr, [r5] /* r5 still points to caml_young_ptr */ - ldr alloc_limit, [r6] + /* Reload alloc ptr */ + ldr alloc_ptr, Caml_state(young_ptr) /* Return */ bx r4 CFI_ENDPROC @@ -305,53 +302,43 @@ FUNCTION(caml_start_program) #else CFI_OFFSET(lr, -4) #endif + ldr domain_state_ptr, =Caml_state + ldr domain_state_ptr, [domain_state_ptr] /* Setup a callback link on the stack */ sub sp, sp, 16; CFI_ADJUST(16) /* 8-byte alignment */ - ldr r4, =caml_bottom_of_stack - ldr r5, =caml_last_return_address - ldr r6, =caml_gc_regs - ldr r4, [r4] - ldr r5, [r5] - ldr r6, [r6] + ldr r4, Caml_state(bottom_of_stack) + ldr r5, Caml_state(last_return_address) + ldr r6, Caml_state(gc_regs) str r4, [sp, 0] str r5, [sp, 4] str r6, [sp, 8] /* Setup a trap frame to catch exceptions escaping the OCaml code */ sub sp, sp, 8; CFI_ADJUST(8) - ldr r6, =caml_exception_pointer ldr r5, =.Ltrap_handler - ldr r4, [r6] + ldr r4, Caml_state(exception_pointer) str r4, [sp, 0] str r5, [sp, 4] mov trap_ptr, sp - /* Reload allocation pointers */ - ldr r4, =caml_young_ptr - ldr alloc_ptr, [r4] - ldr r4, =caml_young_limit - ldr alloc_limit, [r4] + /* Reload allocation pointer */ + ldr alloc_ptr, Caml_state(young_ptr) /* Call the OCaml code */ blx r12 .Lcaml_retaddr: /* Pop the trap frame, restoring caml_exception_pointer */ - ldr r4, =caml_exception_pointer ldr r5, [sp, 0] - str r5, [r4] + str r5, Caml_state(exception_pointer) add sp, sp, 8; CFI_ADJUST(-8) /* Pop the callback link, restoring the global variables */ .Lreturn_result: - ldr r4, =caml_bottom_of_stack ldr r5, [sp, 0] - str r5, [r4] - ldr r4, =caml_last_return_address + str r5, Caml_state(bottom_of_stack) ldr r5, [sp, 4] - str r5, [r4] - ldr r4, =caml_gc_regs + str r5, Caml_state(last_return_address) ldr r5, [sp, 8] - str r5, [r4] + str r5, Caml_state(gc_regs) add sp, sp, 16; CFI_ADJUST(-16) /* Update allocation pointer */ - ldr r4, =caml_young_ptr - str alloc_ptr, [r4] + str alloc_ptr, Caml_state(young_ptr) /* Reload callee-save registers and return address */ pop {r4-r8,r10,r11,lr}; CFI_ADJUST(-32) #if defined(SYS_linux_eabihf) || defined(SYS_netbsd) @@ -370,8 +357,7 @@ FUNCTION(caml_start_program) .Ltrap_handler: CFI_STARTPROC /* Save exception pointer */ - ldr r12, =caml_exception_pointer - str trap_ptr, [r12] + str trap_ptr, Caml_state(exception_pointer) /* Encode exception bucket as an exception result */ orr r0, r0, 2 /* Return it */ @@ -385,8 +371,7 @@ FUNCTION(caml_start_program) FUNCTION(caml_raise_exn) CFI_STARTPROC /* Test if backtrace is active */ - ldr r1, =caml_backtrace_active - ldr r1, [r1] + ldr r1, Caml_state(backtrace_active) cbz r1, 1f /* Preserve exception bucket in callee-save register r4 */ mov r4, r0 @@ -408,24 +393,21 @@ FUNCTION(caml_raise_exn) FUNCTION(caml_raise_exception) CFI_STARTPROC + /* Load the domain state ptr */ + mov domain_state_ptr, r0 + /* Load exception bucket */ + mov r0, r1 /* Reload trap ptr, alloc ptr and alloc limit */ - ldr trap_ptr, =caml_exception_pointer - ldr alloc_ptr, =caml_young_ptr - ldr alloc_limit, =caml_young_limit - ldr trap_ptr, [trap_ptr] - ldr alloc_ptr, [alloc_ptr] - ldr alloc_limit, [alloc_limit] + ldr trap_ptr, Caml_state(exception_pointer) + ldr alloc_ptr, Caml_state(young_ptr) /* Test if backtrace is active */ - ldr r1, =caml_backtrace_active - ldr r1, [r1] + ldr r1, Caml_state(backtrace_active) cbz r1, 1f /* Preserve exception bucket in callee-save register r4 */ mov r4, r0 - ldr r1, =caml_last_return_address /* arg2: pc of raise */ - ldr r1, [r1] - ldr r2, =caml_bottom_of_stack /* arg3: sp of raise */ - ldr r2, [r2] - mov r3, trap_ptr /* arg4: sp of handler */ + ldr r1, Caml_state(last_return_address) /* arg2: pc of raise */ + ldr r2, Caml_state(bottom_of_stack) /* arg3: sp of raise */ + mov r3, trap_ptr /* arg4: sp of handler */ bl caml_stash_backtrace /* Restore exception bucket */ mov r0, r4 @@ -438,42 +420,42 @@ FUNCTION(caml_raise_exception) /* Callback from C to OCaml */ -FUNCTION(caml_callback_exn) +FUNCTION(caml_callback_asm) CFI_STARTPROC - /* Initial shuffling of arguments (r0 = closure, r1 = first arg) */ - mov r12, r0 - mov r0, r1 /* r0 = first arg */ - mov r1, r12 /* r1 = closure environment */ - ldr r12, [r12] /* code pointer */ + /* Initial shuffling of arguments */ + /* (r0 = Caml_state, r1 = closure, [r2] = first arg) */ + ldr r0, [r2] /* r0 = first arg */ + /* r1 = closure environment */ + ldr r12, [r1] /* code pointer */ b .Ljump_to_caml CFI_ENDPROC - .size caml_callback_exn, .-caml_callback_exn + .size caml_callback_asm, .-caml_callback_asm -FUNCTION(caml_callback2_exn) +FUNCTION(caml_callback2_asm) CFI_STARTPROC - /* Initial shuffling of arguments (r0 = closure, r1 = arg1, r2 = arg2) */ - mov r12, r0 - mov r0, r1 /* r0 = first arg */ - mov r1, r2 /* r1 = second arg */ - mov r2, r12 /* r2 = closure environment */ + /* Initial shuffling of arguments */ + /* (r0 = Caml_state, r1 = closure, [r2] = arg1, [r2,4] = arg2) */ + mov r12, r1 + ldr r0, [r2] /* r0 = first arg */ + ldr r1, [r2,4] /* r1 = second arg */ + mov r2, r12 /* r2 = closure environment */ ldr r12, =caml_apply2 b .Ljump_to_caml CFI_ENDPROC - .size caml_callback2_exn, .-caml_callback2_exn + .size caml_callback2_asm, .-caml_callback2_asm -FUNCTION(caml_callback3_exn) +FUNCTION(caml_callback3_asm) CFI_STARTPROC /* Initial shuffling of arguments */ - /* (r0 = closure, r1 = arg1, r2 = arg2, r3 = arg3) */ - mov r12, r0 - mov r0, r1 /* r0 = first arg */ - mov r1, r2 /* r1 = second arg */ - mov r2, r3 /* r2 = third arg */ - mov r3, r12 /* r3 = closure environment */ + /* (r0 = Caml_state, r1 = closure, [r2] = arg1, [r2,4] = arg2, [r2,8] = arg3) */ + mov r3, r1 /* r3 = closure environment */ + ldr r0, [r2] /* r0 = first arg */ + ldr r1, [r2,4] /* r1 = second arg */ + ldr r2, [r2,8] /* r2 = third arg */ ldr r12, =caml_apply3 b .Ljump_to_caml CFI_ENDPROC - .size caml_callback3_exn, .-caml_callback3_exn + .size caml_callback3_asm, .-caml_callback3_asm FUNCTION(caml_ml_array_bound_error) CFI_STARTPROC From 8d49d487675aa5154f0380625e7b858f67abaab0 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 17 Jun 2019 12:00:24 +0000 Subject: [PATCH 22/54] Domain state support for s390x --- asmcomp/s390x/emit.mlp | 13 ++- asmcomp/s390x/proc.ml | 2 +- runtime/s390x.S | 220 +++++++++++++++++++++-------------------- 3 files changed, 122 insertions(+), 113 deletions(-) diff --git a/asmcomp/s390x/emit.mlp b/asmcomp/s390x/emit.mlp index e47a9e0f8..897f405e8 100644 --- a/asmcomp/s390x/emit.mlp +++ b/asmcomp/s390x/emit.mlp @@ -430,7 +430,8 @@ let emit_instr i = gc_frame_lbl = lbl_frame } :: !call_gc_sites; `{emit_label lbl_redo}:`; ` lay {emit_reg i.res.(0)}, {emit_int(-n+8)}(%r11)\n`; - ` clgr {emit_reg i.res.(0)}, %r10\n`; + let offset = Domainstate.(idx_of_field Domain_young_limit) * 8 in + ` clg {emit_reg i.res.(0)}, {emit_int offset}(%r10)\n`; ` brcl 12, {emit_label lbl_call_gc}\n`; (* less than or equal *) ` lay %r11, -8({emit_reg i.res.(0)})\n` @@ -629,10 +630,16 @@ let emit_instr i = stack_offset := !stack_offset - 16 | Lraise k -> begin match k with - | Cmm.Raise_withtrace -> + | Lambda.Raise_regular-> + let offset = Domainstate.(idx_of_field Domain_backtrace_pos) * 8 in + ` lghi %r1, 0\n`; + ` stg %r1, {emit_int offset}(%r10)\n`; emit_call "caml_raise_exn"; `{record_frame Reg.Set.empty true i.dbg}\n` - | Cmm.Raise_notrace -> + | Lambda.Raise_reraise -> + emit_call "caml_raise_exn"; + `{record_frame Reg.Set.empty true i.dbg}\n` + | Lambda.Raise_notrace -> ` lg %r1, 0(%r13)\n`; ` lgr %r15, %r13\n`; ` lg %r13, {emit_int size_addr}(%r15)\n`; diff --git a/asmcomp/s390x/proc.ml b/asmcomp/s390x/proc.ml index db2b0c044..73c141653 100644 --- a/asmcomp/s390x/proc.ml +++ b/asmcomp/s390x/proc.ml @@ -35,7 +35,7 @@ let word_addressed = false 2 - 5 function arguments and results (volatile) 6 function arguments and results (preserved by C) 7 - 9 general purpose, preserved by C - 10 allocation limit (preserved by C) + 10 domain state pointer (preserved by C) 11 allocation pointer (preserved by C) 12 general purpose (preserved by C) 13 trap pointer (preserved by C) diff --git a/runtime/s390x.S b/runtime/s390x.S index 65923be0b..14d496293 100644 --- a/runtime/s390x.S +++ b/runtime/s390x.S @@ -19,30 +19,24 @@ #define Addrglobal(reg,glob) \ lgrl reg, glob@GOTENT -#define Loadglobal(reg,glob) \ - lgrl %r1, glob@GOTENT; lg reg, 0(%r1) -#define Storeglobal(reg,glob) \ - lgrl %r1, glob@GOTENT; stg reg, 0(%r1) -#define Loadglobal32(reg,glob) \ - lgrl %r1, glob@GOTENT; lgf reg, 0(%r1) -#define Storeglobal32(reg,glob) \ - lgrl %r1, glob@GOTENT; sty reg, 0(%r1) - #else #define Addrglobal(reg,glob) \ larl reg, glob -#define Loadglobal(reg,glob) \ - lgrl reg, glob -#define Storeglobal(reg,glob) \ - stgrl reg, glob -#define Loadglobal32(reg,glob) \ - lgfrl reg, glob -#define Storeglobal32(reg,glob) \ - strl reg, glob - #endif +#define CAML_CONFIG_H_NO_TYPEDEFS +#include "../runtime/caml/config.h" + + .set domain_curr_field, 0 +#define DOMAIN_STATE(c_type, name) \ + .equ domain_field_caml_##name, domain_curr_field ; \ + .set domain_curr_field, domain_curr_field + 1 +#include "../runtime/caml/domain_state.tbl" +#undef DOMAIN_STATE + +#define Caml_state(var) 8*domain_field_caml_##var(%r10) + .section ".text" /* Invoke the garbage collector. */ @@ -57,17 +51,17 @@ caml_call_gc: #define FRAMESIZE (16*8 + 16*8) lay %r15, -FRAMESIZE(%r15) /* Record return address into OCaml code */ - Storeglobal(%r14, caml_last_return_address) + stg %r14, Caml_state(last_return_address) /* Record lowest stack address */ lay %r0, FRAMESIZE(%r15) - Storeglobal(%r0, caml_bottom_of_stack) + stg %r0, Caml_state(bottom_of_stack) /* Record pointer to register array */ lay %r0, (8*16)(%r15) - Storeglobal(%r0, caml_gc_regs) + stg %r0, Caml_state(gc_regs) /* Save current allocation pointer for debugging purposes */ - Storeglobal(%r11, caml_young_ptr) + stg %r11, Caml_state(young_ptr) /* Save exception pointer (if e.g. a sighandler raises) */ - Storeglobal(%r13, caml_exception_pointer) + stg %r13, Caml_state(exception_pointer) /* Save all registers used by the code generator */ stmg %r2,%r9, (8*16)(%r15) stg %r12, (8*16 + 8*8)(%r15) @@ -88,13 +82,12 @@ caml_call_gc: std %f14, 112(%r15) std %f15, 120(%r15) /* Call the GC */ - lay %r15, -160(%r15) + lay %r15, -160(%r15) stg %r15, 0(%r15) brasl %r14, caml_garbage_collection@PLT - lay %r15, 160(%r15) - /* Reload new allocation pointer and allocation limit */ - Loadglobal(%r11, caml_young_ptr) - Loadglobal(%r10, caml_young_limit) + lay %r15, 160(%r15) + /* Reload new allocation pointer */ + lg %r11, Caml_state(young_ptr) /* Restore all regs used by the code generator */ lmg %r2,%r9, (8*16)(%r15) lg %r12, (8*16 + 8*8)(%r15) @@ -115,34 +108,33 @@ caml_call_gc: ld %f14, 112(%r15) ld %f15, 120(%r15) /* Return to caller */ - Loadglobal(%r1, caml_last_return_address) + lg %r1, Caml_state(last_return_address) /* Deallocate stack frame */ lay %r15, FRAMESIZE(%r15) /* Return */ - br %r1 + br %r1 /* Call a C function from OCaml */ .globl caml_c_call .type caml_c_call, @function caml_c_call: - Storeglobal(%r15, caml_bottom_of_stack) + stg %r15, Caml_state(bottom_of_stack) .L101: /* Save return address */ ldgr %f15, %r14 /* Get ready to call C function (address in r7) */ /* Record lowest stack address and return address */ - Storeglobal(%r14, caml_last_return_address) + stg %r14, Caml_state(last_return_address) /* Make the exception handler and alloc ptr available to the C code */ - Storeglobal(%r11, caml_young_ptr) - Storeglobal(%r13, caml_exception_pointer) + stg %r11, Caml_state(young_ptr) + stg %r13, Caml_state(exception_pointer) /* Call the function */ basr %r14, %r7 /* restore return address */ lgdr %r14,%f15 - /* Reload allocation pointer and allocation limit*/ - Loadglobal(%r11, caml_young_ptr) - Loadglobal(%r10, caml_young_limit) + /* Reload allocation pointer */ + lg %r11, Caml_state(young_ptr) /* Return to caller */ br %r14 @@ -150,24 +142,24 @@ caml_c_call: .globl caml_raise_exn .type caml_raise_exn, @function caml_raise_exn: - Loadglobal32(%r0, caml_backtrace_active) + lg %r0, Caml_state(backtrace_active) cgfi %r0, 0 jne .L110 .L111: /* Pop trap frame */ lg %r1, 0(%r13) lgr %r15, %r13 - lg %r13, 8(13) - agfi %r15, 16 + lg %r13, 8(13) + agfi %r15, 16 /* Branch to handler */ br %r1 .L110: ldgr %f15, %r2 /* preserve exn bucket in callee-save reg */ - /* arg1: exception bucket, already in r3 */ - lgr %r3,%r14 /* arg2: PC of raise */ + /* arg1: exception bucket, already in r2 */ + lgr %r3, %r14 /* arg2: PC of raise */ lgr %r4, %r15 /* arg3: SP of raise */ - lgr %r5, %r13 /* arg4: SP of handler */ - agfi %r15, -160 /* reserve stack space for C call */ + lgr %r5, %r13 /* arg4: SP of handler */ + agfi %r15, -160 /* reserve stack space for C call */ brasl %r14, caml_stash_backtrace@PLT agfi %r15, 160 lgdr %r2,%f15 /* restore exn bucket */ @@ -178,14 +170,15 @@ caml_raise_exn: .globl caml_raise_exception .type caml_raise_exception, @function caml_raise_exception: - Loadglobal32(%r0, caml_backtrace_active) + lgr %r10, %r2 /* Load domain state pointer */ + lgr %r2, %r3 /* Move exception bucket to arg1 register */ + lg %r0, Caml_state(backtrace_active) cgfi %r0, 0 jne .L112 .L113: /* Reload OCaml global registers */ - Loadglobal(%r15, caml_exception_pointer) - Loadglobal(%r11, caml_young_ptr) - Loadglobal(%r10, caml_young_limit) + lg %r15, Caml_state(exception_pointer) + lg %r11, Caml_state(young_ptr) /* Pop trap frame */ lg %r1, 0(%r15) lg %r13, 8(%r15) @@ -193,17 +186,17 @@ caml_raise_exception: /* Branch to handler */ br %r1; .L112: - lgfi %r0, 0 - Storeglobal32(%r0, caml_backtrace_pos) + lgfi %r0, 0 + stg %r0, Caml_state(backtrace_pos) ldgr %f15,%r2 /* preserve exn bucket in callee-save reg */ /* arg1: exception bucket, already in r2 */ - Loadglobal(%r3, caml_last_return_address) /* arg2: PC of raise */ - Loadglobal(%r4, caml_bottom_of_stack) /* arg3: SP of raise */ - Loadglobal(%r5, caml_exception_pointer) /* arg4: SP of handler */ - /* reserve stack space for C call */ - lay %r15, -160(%r15) + lg %r3, Caml_state(last_return_address) /* arg2: PC of raise */ + lg %r4, Caml_state(bottom_of_stack) /* arg3: SP of raise */ + lg %r5, Caml_state(exception_pointer) /* arg4: SP of handler */ + /* reserve stack space for C call */ + lay %r15, -160(%r15) brasl %r14, caml_stash_backtrace@PLT - lay %r15, 160(%r15) + lay %r15, 160(%r15) lgdr %r2,%f15 /* restore exn bucket */ j .L113 /* raise the exn */ @@ -212,6 +205,8 @@ caml_raise_exception: .globl caml_start_program .type caml_start_program, @function caml_start_program: + /* Move Caml_state passed as first argument to r1 */ + lgr %r1, %r2 Addrglobal(%r0, caml_program) /* Code shared between caml_start_program and caml_callback */ @@ -230,14 +225,16 @@ caml_start_program: std %f13, 112(%r15) std %f14, 120(%r15) std %f15, 128(%r15) - + + /* Load Caml_state to r10 register */ + lgr %r10, %r1 /* Set up a callback link */ lay %r15, -32(%r15) - Loadglobal(%r1, caml_bottom_of_stack) + lg %r1, Caml_state(bottom_of_stack) stg %r1, 0(%r15) - Loadglobal(%r1, caml_last_return_address) + lg %r1, Caml_state(last_return_address) stg %r1, 8(%r15) - Loadglobal(%r1, caml_gc_regs) + lg %r1, Caml_state(gc_regs) stg %r1, 16(%r15) /* Build an exception handler to catch exceptions escaping out of OCaml */ brasl %r14, .L103 @@ -245,44 +242,43 @@ caml_start_program: .L103: lay %r15, -16(%r15) stg %r14, 0(%r15) - Loadglobal(%r1, caml_exception_pointer) + lg %r1, Caml_state(exception_pointer) stg %r1, 8(%r15) lgr %r13, %r15 - /* Reload allocation pointers */ - Loadglobal(%r11, caml_young_ptr) - Loadglobal(%r10, caml_young_limit) + /* Reload allocation pointer */ + lg %r11, Caml_state(young_ptr) /* Call the OCaml code */ - lgr %r1,%r0 - basr %r14, %r1 + lgr %r1,%r0 + basr %r14, %r1 .L105: /* Pop the trap frame, restoring caml_exception_pointer */ - lg %r0, 8(%r15) - Storeglobal(%r0, caml_exception_pointer) + lg %r0, 8(%r15) + stg %r0, Caml_state(exception_pointer) la %r15, 16(%r15) /* Pop the callback link, restoring the global variables */ .L106: lg %r5, 0(%r15) lg %r6, 8(%r15) lg %r0, 16(%r15) - Storeglobal(%r5, caml_bottom_of_stack) - Storeglobal(%r6, caml_last_return_address) - Storeglobal(%r0, caml_gc_regs) + stg %r5, Caml_state(bottom_of_stack) + stg %r6, Caml_state(last_return_address) + stg %r0, Caml_state(gc_regs) la %r15, 32(%r15) /* Update allocation pointer */ - Storeglobal(%r11, caml_young_ptr) - - /* Restore registers */ - lmg %r6,%r14, 0(%r15) - ld %f8, 72(%r15) - ld %f9, 80(%r15) - ld %f10, 88(%r15) - ld %f11, 96(%r15) - ld %f12, 104(%r15) - ld %f13, 112(%r15) - ld %f14, 120(%r15) - ld %f15, 128(%r15) + stg %r11, Caml_state(young_ptr) + /* Restore registers */ + lmg %r6,%r14, 0(%r15) + ld %f8, 72(%r15) + ld %f9, 80(%r15) + ld %f10, 88(%r15) + ld %f11, 96(%r15) + ld %f12, 104(%r15) + ld %f13, 112(%r15) + ld %f14, 120(%r15) + ld %f15, 128(%r15) + /* Return */ lay %r15, 144(%r15) br %r14 @@ -290,42 +286,48 @@ caml_start_program: /* The trap handler: */ .L104: /* Update caml_exception_pointer */ - Storeglobal(%r13, caml_exception_pointer) + stg %r13, Caml_state(exception_pointer) /* Encode exception bucket as an exception result and return it */ oill %r2, 2 j .L106 /* Callback from C to OCaml */ - .globl caml_callback_exn - .type caml_callback_exn, @function -caml_callback_exn: + .globl caml_callback_asm + .type caml_callback_asm, @function +caml_callback_asm: /* Initial shuffling of arguments */ - lgr %r0, %r2 /* Closure */ - lgr %r2, %r3 /* Argument */ - lgr %r3, %r0 - lg %r0, 0(%r3) /* Code pointer */ + /* (r2 = Caml_state, r3 = closure, 0(r4) = arg1) */ + lgr %r1, %r2 /* r1 = Caml_state */ + lg %r2, 0(%r4) /* r2 = Argument */ + /* r3 = Closure */ + lg %r0, 0(%r3) /* r0 = Code pointer */ j .L102 - .globl caml_callback2_exn - .type caml_callback2_exn, @function -caml_callback2_exn: - lgr %r0, %r2 /* Closure */ - lgr %r2, %r3 /* First argument */ - lgr %r3, %r4 /* Second argument */ - lgr %r4, %r0 - Addrglobal(%r0, caml_apply2) + .globl caml_callback2_asm + .type caml_callback2_asm, @function +caml_callback2_asm: + /* Initial shuffling of arguments */ + /* (r2 = Caml_state, r3 = closure, 0(r4) = arg1, 8(r4) = arg2) */ + lgr %r1, %r2 /* r1 = Caml_state */ + lgr %r0, %r3 + lg %r2, 0(%r4) /* r2 = First argument */ + lg %r3, 8(%r4) /* r3 = Second argument */ + lgr %r4, %r0 /* r4 = Closure */ + Addrglobal(%r0, caml_apply2) /* r0 = Code pointer */ j .L102 - .globl caml_callback3_exn - .type caml_callback3_exn, @function -caml_callback3_exn: - lgr %r0, %r2 /* Closure */ - lgr %r2, %r3 /* First argument */ - lgr %r3, %r4 /* Second argument */ - lgr %r4, %r5 /* Third argument */ - lgr %r5, %r0 - Addrglobal(%r0, caml_apply3) + .globl caml_callback3_asm + .type caml_callback3_asm, @function +caml_callback3_asm: + /* Initial shuffling of arguments */ + /* (r2 = Caml_state, r3 = closure, 0(r4) = arg1, 8(r4) = arg2, 16(r4) = arg3) */ + lgr %r1, %r2 /* r1 = Caml_state */ + lgr %r5, %r3 /* r5 = Closure */ + lg %r2, 0(%r4) /* r2 = First argument */ + lg %r3, 8(%r4) /* r3 = Second argument */ + lg %r4, 16(%r4) /* r4 = Third argument */ + Addrglobal(%r0, caml_apply3) /* r0 = Code pointer */ j .L102 .globl caml_ml_array_bound_error @@ -333,7 +335,7 @@ caml_callback3_exn: caml_ml_array_bound_error: /* Save return address before decrementing SP, otherwise the frame descriptor for the call site is not correct */ - Storeglobal(%r15, caml_bottom_of_stack) + stg %r15, Caml_state(bottom_of_stack) lay %r15, -160(%r15) /* Reserve stack space for C call */ Addrglobal(%r7, caml_array_bound_error) j .L101 From 126383b2b2099a2a5f275f753d128764a4158851 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 17 Jun 2019 23:37:49 +0530 Subject: [PATCH 23/54] Fix long lines --- otherlibs/systhreads/st_stubs.c | 23 ++++++++++---------- runtime/amd64.S | 23 +++++++++++++------- runtime/arm.S | 3 ++- runtime/backtrace.c | 3 ++- runtime/backtrace_byt.c | 3 ++- runtime/backtrace_nat.c | 6 ++++-- runtime/callback.c | 5 +++-- runtime/caml/address_class.h | 3 ++- runtime/caml/domain_state.tbl | 15 +++++++++++++ runtime/gc_ctrl.c | 26 ++++++++++++++--------- runtime/i386.S | 15 ++++++++----- runtime/instrtrace.c | 6 ++++-- runtime/interp.c | 3 ++- runtime/major_gc.c | 14 +++++++------ runtime/memory.c | 2 +- runtime/minor_gc.c | 37 ++++++++++++++++++++------------- runtime/power.S | 6 ++++-- runtime/roots_byt.c | 3 ++- runtime/roots_nat.c | 8 ++++--- runtime/s390x.S | 11 +++++----- runtime/signals.c | 3 ++- runtime/stacks.c | 12 +++++++---- runtime/sys.c | 3 ++- 23 files changed, 150 insertions(+), 83 deletions(-) diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index 1355fa2d7..45681c32d 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -71,15 +71,15 @@ struct caml_thread_descr { /* The infos on threads (allocated via caml_stat_alloc()) */ struct caml_thread_struct { - value descr; /* The heap-allocated descriptor (root) */ + value descr; /* The heap-allocated descriptor (root) */ struct caml_thread_struct * next; /* Double linking of running threads */ struct caml_thread_struct * prev; #ifdef NATIVE_CODE - char * top_of_stack; /* Top of stack for this thread (approx.) */ - char * bottom_of_stack; /* Saved value of Caml_state->bottom_of_stack */ - uintnat last_retaddr; /* Saved value of Caml_state->last_return_address */ - value * gc_regs; /* Saved value of Caml_state->gc_regs */ - char * exception_pointer; /* Saved value of Caml_state->exception_pointer */ + char * top_of_stack; /* Top of stack for this thread (approx.) */ + char * bottom_of_stack; /* Saved value of Caml_state->bottom_of_stack */ + uintnat last_retaddr; /* Saved value of Caml_state->last_return_address */ + value * gc_regs; /* Saved value of Caml_state->gc_regs */ + char * exception_pointer; /* Saved value of Caml_state->exception_pointer */ struct caml__roots_block * local_roots; /* Saved value of local_roots */ struct longjmp_buffer * exit_buf; /* For thread exit */ #if defined(NATIVE_CODE) && defined(WITH_SPACETIME) @@ -89,15 +89,16 @@ struct caml_thread_struct { value* spacetime_finaliser_trie_root; #endif #else - value * stack_low; /* The execution stack for this thread */ + value * stack_low; /* The execution stack for this thread */ value * stack_high; value * stack_threshold; - value * sp; /* Saved value of Caml_state->extern_sp for this thread */ - value * trapsp; /* Saved value of Caml_state->trapsp for this thread */ - struct caml__roots_block * local_roots; /* Saved value of Caml_state->local_roots */ + value * sp; /* Saved value of Caml_state->extern_sp for this thread */ + value * trapsp; /* Saved value of Caml_state->trapsp for this thread */ + /* Saved value of Caml_state->local_roots */ + struct caml__roots_block * local_roots; struct longjmp_buffer * external_raise; /* Saved Caml_state->external_raise */ #endif - int backtrace_pos; /* Saved Caml_state->backtrace_pos */ + int backtrace_pos; /* Saved Caml_state->backtrace_pos */ backtrace_slot * backtrace_buffer; /* Saved Caml_state->backtrace_buffer */ value backtrace_last_exn; /* Saved Caml_state->backtrace_last_exn (root) */ int memprof_suspended; /* Saved caml_memprof_suspended */ diff --git a/runtime/amd64.S b/runtime/amd64.S index 456c29838..7ab438918 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -658,7 +658,8 @@ LBL(110): popq C_ARG_2 /* arg 2: pc of raise */ movq %rsp, C_ARG_3 /* arg 3: sp at raise */ #endif - movq Caml_state(exception_pointer), C_ARG_4 /* arg 4: sp of handler */ + /* arg 4: sp of handler */ + movq Caml_state(exception_pointer), C_ARG_4 /* PR#5700: thanks to popq above, stack is now 16-aligned */ /* Thanks to ENTER_FUNCTION, stack is now 16-aligned */ PREPARE_FOR_C_CALL /* no need to cleanup after */ @@ -679,7 +680,8 @@ CFI_STARTPROC jne LBL(112) movq C_ARG_2, %rax movq Caml_state(exception_pointer), %rsp /* Cut stack */ - popq Caml_state(exception_pointer) /* Recover previous exception handler */ + /* Recover previous exception handler */ + popq Caml_state(exception_pointer) movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret LBL(112): @@ -688,10 +690,14 @@ LBL(112): #endif /* Save exception bucket. Caml_state in r14 saved across C calls. */ movq C_ARG_2, %r12 - movq C_ARG_2, C_ARG_1 /* arg 1: exception bucket */ - movq Caml_state(last_return_address), C_ARG_2 /* arg 2: pc of raise */ - movq Caml_state(bottom_of_stack), C_ARG_3 /* arg 3: sp of raise */ - movq Caml_state(exception_pointer), C_ARG_4 /* arg 4: sp of handler */ + /* arg 1: exception bucket */ + movq C_ARG_2, C_ARG_1 + /* arg 2: pc of raise */ + movq Caml_state(last_return_address), C_ARG_2 + /* arg 3: sp of raise */ + movq Caml_state(bottom_of_stack), C_ARG_3 + /* arg 4: sp of handler */ + movq Caml_state(exception_pointer), C_ARG_4 #ifndef WITH_FRAME_POINTERS subq $8, %rsp /* PR#5700: maintain stack alignment */ #endif @@ -699,7 +705,8 @@ LBL(112): call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ movq Caml_state(exception_pointer), %rsp - popq Caml_state(exception_pointer) /* Recover previous exception handler */ + /* Recover previous exception handler */ + popq Caml_state(exception_pointer) movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret CFI_ENDPROC @@ -715,7 +722,7 @@ FUNCTION(G(caml_stack_overflow)) movq C_ARG_1, %r14 /* Caml_state */ LEA_VAR(caml_exn_Stack_overflow, %rax) movq Caml_state(exception_pointer), %rsp /* cut the stack */ - popq Caml_state(exception_pointer) /* recover previous exn handler */ + popq Caml_state(exception_pointer) /* recover previous exn handler */ ret /* jump to handler's code */ ENDFUNCTION(G(caml_stack_overflow)) diff --git a/runtime/arm.S b/runtime/arm.S index bae83b3c0..f2007e0de 100644 --- a/runtime/arm.S +++ b/runtime/arm.S @@ -447,7 +447,8 @@ FUNCTION(caml_callback2_asm) FUNCTION(caml_callback3_asm) CFI_STARTPROC /* Initial shuffling of arguments */ - /* (r0 = Caml_state, r1 = closure, [r2] = arg1, [r2,4] = arg2, [r2,8] = arg3) */ + /* (r0 = Caml_state, r1 = closure, [r2] = arg1, [r2,4] = arg2, + [r2,8] = arg3) */ mov r3, r1 /* r3 = closure environment */ ldr r0, [r2] /* r0 = first arg */ ldr r1, [r2,4] /* r1 = second arg */ diff --git a/runtime/backtrace.c b/runtime/backtrace.c index 50a5fd8b4..3111adea8 100644 --- a/runtime/backtrace.c +++ b/runtime/backtrace.c @@ -188,7 +188,8 @@ CAMLprim value caml_restore_raw_backtrace(value exn, value backtrace) } /* Allocate if needed and copy the backtrace buffer */ - if (Caml_state->backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1){ + if (Caml_state->backtrace_buffer == NULL && + caml_alloc_backtrace_buffer() == -1) { return Val_unit; } diff --git a/runtime/backtrace_byt.c b/runtime/backtrace_byt.c index d7c25b51c..d9c9320a2 100644 --- a/runtime/backtrace_byt.c +++ b/runtime/backtrace_byt.c @@ -241,7 +241,8 @@ void caml_stash_backtrace(value exn, code_t pc, value * sp, int reraise) Caml_state->backtrace_last_exn = exn; } - if (Caml_state->backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1) + if (Caml_state->backtrace_buffer == NULL && + caml_alloc_backtrace_buffer() == -1) return; if (Caml_state->backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; diff --git a/runtime/backtrace_nat.c b/runtime/backtrace_nat.c index 9c9734045..81cb6d8e1 100644 --- a/runtime/backtrace_nat.c +++ b/runtime/backtrace_nat.c @@ -86,7 +86,8 @@ void caml_stash_backtrace(value exn, uintnat pc, char * sp, char * trapsp) Caml_state->backtrace_last_exn = exn; } - if (Caml_state->backtrace_buffer == NULL && caml_alloc_backtrace_buffer() == -1) + if (Caml_state->backtrace_buffer == NULL && + caml_alloc_backtrace_buffer() == -1) return; /* iterate on each frame */ @@ -95,7 +96,8 @@ void caml_stash_backtrace(value exn, uintnat pc, char * sp, char * trapsp) if (descr == NULL) return; /* store its descriptor in the backtrace buffer */ if (Caml_state->backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; - Caml_state->backtrace_buffer[Caml_state->backtrace_pos++] = (backtrace_slot) descr; + Caml_state->backtrace_buffer[Caml_state->backtrace_pos++] = + (backtrace_slot) descr; /* Stop when we reach the current exception handler */ if (sp > trapsp) return; diff --git a/runtime/callback.c b/runtime/callback.c index cc9cc6fb1..49a5fba6e 100644 --- a/runtime/callback.c +++ b/runtime/callback.c @@ -75,7 +75,7 @@ CAMLexport value caml_callbackN_exn(value closure, int narg, value args[]) Caml_state->extern_sp -= narg + 4; for (i = 0; i < narg; i++) Caml_state->extern_sp[i] = args[i]; /* arguments */ #ifndef LOCAL_CALLBACK_BYTECODE - Caml_state->extern_sp[narg] = (value) (callback_code + 4); /* return address */ + Caml_state->extern_sp[narg] = (value)(callback_code + 4); /* return address */ Caml_state->extern_sp[narg + 1] = Val_unit; /* environment */ Caml_state->extern_sp[narg + 2] = Val_long(0); /* extra args */ Caml_state->extern_sp[narg + 3] = closure; @@ -84,7 +84,8 @@ CAMLexport value caml_callbackN_exn(value closure, int narg, value args[]) callback_code[3] = narg; res = caml_interprete(callback_code, sizeof(callback_code)); #else /*have LOCAL_CALLBACK_BYTECODE*/ - Caml_state->extern_sp[narg] = (value) (local_callback_code + 4); /* return address */ + /* return address */ + Caml_state->extern_sp[narg] = (value) (local_callback_code + 4); Caml_state->extern_sp[narg + 1] = Val_unit; /* environment */ Caml_state->extern_sp[narg + 2] = Val_long(0); /* extra args */ Caml_state->extern_sp[narg + 3] = closure; diff --git a/runtime/caml/address_class.h b/runtime/caml/address_class.h index ee47a9272..d0d5f4949 100644 --- a/runtime/caml/address_class.h +++ b/runtime/caml/address_class.h @@ -27,7 +27,8 @@ #define Is_young(val) \ (CAMLassert (Is_block (val)), \ - (addr)(val) < (addr)Caml_state->young_end && (addr)(val) > (addr)Caml_state->young_start) + (addr)(val) < (addr)Caml_state->young_end && \ + (addr)(val) > (addr)Caml_state->young_start) #define Is_in_heap(a) (Classify_addr(a) & In_heap) diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index fad900363..28993169e 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -1,3 +1,18 @@ +/**************************************************************************/ +/* */ +/* OCaml */ +/* */ +/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. */ +/* */ +/* All rights reserved. This file is distributed under the terms of */ +/* the GNU Lesser General Public License version 2.1, with the */ +/* special exception on linking described in the file LICENSE. */ +/* */ +/**************************************************************************/ + DOMAIN_STATE(value*, young_limit) /* Minor heap limit. See minor_gc.c. */ diff --git a/runtime/gc_ctrl.c b/runtime/gc_ctrl.c index 97fde2554..3470ee80d 100644 --- a/runtime/gc_ctrl.c +++ b/runtime/gc_ctrl.c @@ -221,10 +221,12 @@ static value heap_stats (int returnstats) CAMLlocal1 (res); /* get a copy of these before allocating anything... */ - double minwords = Caml_state->stat_minor_words - + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); + double minwords = + Caml_state->stat_minor_words + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); double prowords = Caml_state->stat_promoted_words; - double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; + double majwords = + Caml_state->stat_major_words + (double) caml_allocated_words; intnat mincoll = Caml_state->stat_minor_collections; intnat majcoll = Caml_state->stat_major_collections; intnat heap_words = Caml_state->stat_heap_wsz; @@ -277,10 +279,12 @@ CAMLprim value caml_gc_quick_stat(value v) CAMLlocal1 (res); /* get a copy of these before allocating anything... */ - double minwords = Caml_state->stat_minor_words - + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); + double minwords = + Caml_state->stat_minor_words + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); double prowords = Caml_state->stat_promoted_words; - double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; + double majwords = + Caml_state->stat_major_words + (double) caml_allocated_words; intnat mincoll = Caml_state->stat_minor_collections; intnat majcoll = Caml_state->stat_major_collections; intnat heap_words = Caml_state->stat_heap_wsz; @@ -326,10 +330,12 @@ CAMLprim value caml_gc_counters(value v) CAMLlocal1 (res); /* get a copy of these before allocating anything... */ - double minwords = Caml_state->stat_minor_words - + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); + double minwords = + Caml_state->stat_minor_words + + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr); double prowords = Caml_state->stat_promoted_words; - double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; + double majwords = + Caml_state->stat_major_words + (double) caml_allocated_words; res = caml_alloc_tuple (3); Store_field (res, 0, caml_copy_double (minwords)); @@ -349,7 +355,7 @@ CAMLprim value caml_gc_get(value v) CAMLlocal1 (res); res = caml_alloc_tuple (11); - Store_field (res, 0, Val_long (Caml_state->minor_heap_wsz)); /* s */ + Store_field (res, 0, Val_long (Caml_state->minor_heap_wsz)); /* s */ Store_field (res, 1, Val_long (caml_major_heap_increment)); /* i */ Store_field (res, 2, Val_long (caml_percent_free)); /* o */ Store_field (res, 3, Val_long (caml_verb_gc)); /* v */ diff --git a/runtime/i386.S b/runtime/i386.S index 82b8c335a..8df17a19c 100644 --- a/runtime/i386.S +++ b/runtime/i386.S @@ -235,7 +235,8 @@ FUNCTION(caml_allocN) pushl %eax; CFI_ADJUST(4) /* saved desired size */ pushl %ebx; CFI_ADJUST(4) movl G(Caml_state), %ebx - subl CAML_STATE(young_ptr, %ebx), %eax /* eax = size - caml_young_ptr */ + /* eax = size - caml_young_ptr */ + subl CAML_STATE(young_ptr, %ebx), %eax negl %eax /* eax = caml_young_ptr - size */ cmpl CAML_STATE(young_limit, %ebx), %eax jb LBL(103) @@ -376,10 +377,14 @@ FUNCTION(caml_raise_exception) LBL(112): movl 8(%esp), %esi /* Save exception bucket in esi */ ALIGN_STACK(12) - pushl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(4) /* 4: sp of handler */ - pushl CAML_STATE(bottom_of_stack, %ebx); CFI_ADJUST(4) /* 3: sp of raise */ - pushl CAML_STATE(last_return_address, %ebx); CFI_ADJUST(4)/* 2: pc of raise */ - pushl %esi; CFI_ADJUST(4) /* 1: exception bucket */ + /* 4: sp of handler */ + pushl CAML_STATE(exception_pointer, %ebx); CFI_ADJUST(4) + /* 3: sp of raise */ + pushl CAML_STATE(bottom_of_stack, %ebx); CFI_ADJUST(4) + /* 2: pc of raise */ + pushl CAML_STATE(last_return_address, %ebx); CFI_ADJUST(4) + /* 1: exception bucket */ + pushl %esi; CFI_ADJUST(4) call G(caml_stash_backtrace) movl %esi, %eax /* Recover exception bucket */ movl CAML_STATE(exception_pointer, %ebx), %esp diff --git a/runtime/instrtrace.c b/runtime/instrtrace.c index e7a411c9d..3e5cbb56e 100644 --- a/runtime/instrtrace.c +++ b/runtime/instrtrace.c @@ -192,7 +192,8 @@ caml_trace_value_file (value v, code_t prog, asize_t proglen, FILE * f) fprintf (f, "=long%" ARCH_INTNAT_PRINTF_FORMAT "d", Long_val (v)); else if ((void*)v >= (void*)Caml_state->stack_low && (void*)v < (void*)Caml_state->stack_high) - fprintf (f, "=stack_%ld", (long) ((intnat*)Caml_state->stack_high - (intnat*)v)); + fprintf (f, "=stack_%ld", + (long) ((intnat*)Caml_state->stack_high - (intnat*)v)); else if (Is_block (v)) { int s = Wosize_val (v); int tg = Tag_val (v); @@ -257,7 +258,8 @@ caml_trace_accu_sp_file (value accu, value * sp, code_t prog, asize_t proglen, caml_trace_value_file (accu, prog, proglen, f); fprintf (f, "\n sp=%#" ARCH_INTNAT_PRINTF_FORMAT "x @%ld:", (intnat) sp, (long) (Caml_state->stack_high - sp)); - for (p = sp, i = 0; i < 12 + (1 << caml_trace_level) && p < Caml_state->stack_high; + for (p = sp, i = 0; + i < 12 + (1 << caml_trace_level) && p < Caml_state->stack_high; p++, i++) { fprintf (f, "\n[%ld] ", (long) (Caml_state->stack_high - p)); caml_trace_value_file (*p, prog, proglen, f); diff --git a/runtime/interp.c b/runtime/interp.c index 04609762e..010aafa04 100644 --- a/runtime/interp.c +++ b/runtime/interp.c @@ -243,7 +243,8 @@ value caml_interprete(code_t prog, asize_t prog_size) jumptbl_base = Jumptbl_base; #endif initial_local_roots = Caml_state->local_roots; - initial_sp_offset = (char *) Caml_state->stack_high - (char *) Caml_state->extern_sp; + initial_sp_offset = + (char *) Caml_state->stack_high - (char *) Caml_state->extern_sp; initial_external_raise = Caml_state->external_raise; caml_callback_depth++; saved_pc = NULL; diff --git a/runtime/major_gc.c b/runtime/major_gc.c index 43935c139..c55766178 100644 --- a/runtime/major_gc.c +++ b/runtime/major_gc.c @@ -650,10 +650,10 @@ void caml_major_collection_slice (intnat howmuch) the P above. Amount of marking work for the GC cycle: - MW = Caml_state->stat_heap_wsz * 100 / (100 + caml_percent_free) - + caml_incremental_roots_count + MW = Caml_state->stat_heap_wsz * 100 / (100 + caml_percent_free) + + caml_incremental_roots_count Amount of sweeping work for the GC cycle: - SW = Caml_state->stat_heap_wsz + SW = Caml_state->stat_heap_wsz In order to finish marking with a non-empty free list, we will use 40% of the time for marking, and 60% for sweeping. @@ -673,7 +673,8 @@ void caml_major_collection_slice (intnat howmuch) Amount of marking work for a marking slice: MS = P * MW / (40/100) - MS = P * (Caml_state->stat_heap_wsz * 250 / (100 + caml_percent_free) + MS = P * (Caml_state->stat_heap_wsz * 250 + / (100 + caml_percent_free) + 2.5 * caml_incremental_roots_count) Amount of sweeping work for a sweeping slice: SS = P * SW / (60/100) @@ -880,7 +881,8 @@ void caml_init_major_heap (asize_t heap_size) { int i; - Caml_state->stat_heap_wsz = caml_clip_heap_chunk_wsz (Wsize_bsize (heap_size)); + Caml_state->stat_heap_wsz = + caml_clip_heap_chunk_wsz (Wsize_bsize (heap_size)); Caml_state->stat_top_heap_wsz = Caml_state->stat_heap_wsz; CAMLassert (Bsize_wsize (Caml_state->stat_heap_wsz) % Page_size == 0); caml_heap_start = @@ -893,7 +895,7 @@ void caml_init_major_heap (asize_t heap_size) Caml_state->stat_top_heap_wsz = Caml_state->stat_heap_wsz; if (caml_page_table_add(In_heap, caml_heap_start, - caml_heap_start + Bsize_wsize (Caml_state->stat_heap_wsz)) + caml_heap_start + Bsize_wsize (Caml_state->stat_heap_wsz)) != 0) { caml_fatal_error ("cannot allocate initial page table"); } diff --git a/runtime/memory.c b/runtime/memory.c index 5181c9707..424d597e0 100644 --- a/runtime/memory.c +++ b/runtime/memory.c @@ -335,7 +335,7 @@ int caml_add_to_heap (char *m) caml_gc_message (0x04, "Growing heap to %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", - (Bsize_wsize (Caml_state->stat_heap_wsz) + Chunk_size (m)) / 1024); + (Bsize_wsize (Caml_state->stat_heap_wsz) + Chunk_size (m)) / 1024); /* Register block in page table */ if (caml_page_table_add(In_heap, m, m + Chunk_size(m)) != 0) diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index a05923a5c..cba3ac21f 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -41,16 +41,18 @@ The allocation arena: newly-allocated blocks are carved from this interval, starting at [Caml_state->young_alloc_end]. [Caml_state->young_alloc_mid] is the mid-point of this interval. - [Caml_state->young_ptr], [Caml_state->young_trigger], [Caml_state->young_limit] + [Caml_state->young_ptr], [Caml_state->young_trigger], + [Caml_state->young_limit] These pointers are all inside the allocation arena. - [Caml_state->young_ptr] is where the next allocation will take place. - - [Caml_state->young_trigger] is how far we can allocate before triggering - [caml_gc_dispatch]. Currently, it is either [Caml_state->young_alloc_start] - or the mid-point of the allocation arena. + - [Caml_state->young_trigger] is how far we can allocate before + triggering [caml_gc_dispatch]. Currently, it is either + [Caml_state->young_alloc_start] or the mid-point of the allocation + arena. - [Caml_state->young_limit] is the pointer that is compared to [Caml_state->young_ptr] for allocation. It is either: - + [Caml_state->young_alloc_end] if a signal is pending and we are in - native code, + + [Caml_state->young_alloc_end] if a signal is pending and we are + in native code, + [caml_memprof_young_trigger] if a memprof sample is planned, + or [Caml_state->young_trigger]. */ @@ -141,14 +143,16 @@ void caml_set_minor_heap_size (asize_t bsz) caml_raise_out_of_memory(); if (Caml_state->young_start != NULL){ - caml_page_table_remove(In_young, Caml_state->young_start, Caml_state->young_end); + caml_page_table_remove(In_young, Caml_state->young_start, + Caml_state->young_end); caml_stat_free (Caml_state->young_base); } Caml_state->young_base = new_heap_base; Caml_state->young_start = (value *) new_heap; Caml_state->young_end = (value *) (new_heap + bsz); Caml_state->young_alloc_start = Caml_state->young_start; - Caml_state->young_alloc_mid = Caml_state->young_alloc_start + Wsize_bsize (bsz) / 2; + Caml_state->young_alloc_mid = + Caml_state->young_alloc_start + Wsize_bsize (bsz) / 2; Caml_state->young_alloc_end = Caml_state->young_end; Caml_state->young_trigger = Caml_state->young_alloc_start; caml_update_young_limit(); @@ -380,9 +384,11 @@ void caml_empty_minor_heap (void) } } CAML_INSTR_TIME (tmr, "minor/update_weak"); - Caml_state->stat_minor_words += Caml_state->young_alloc_end - Caml_state->young_ptr; - caml_gc_clock += (double) (Caml_state->young_alloc_end - Caml_state->young_ptr) - / Caml_state->minor_heap_wsz; + Caml_state->stat_minor_words += + Caml_state->young_alloc_end - Caml_state->young_ptr; + caml_gc_clock += + (double) (Caml_state->young_alloc_end - Caml_state->young_ptr) + / Caml_state->minor_heap_wsz; Caml_state->young_ptr = Caml_state->young_alloc_end; clear_table ((struct generic_table *) &Caml_state->minor_tables->ref); clear_table ((struct generic_table *) &Caml_state->minor_tables->ephe_ref); @@ -404,7 +410,8 @@ void caml_empty_minor_heap (void) #ifdef DEBUG { value *p; - for (p = Caml_state->young_alloc_start; p < Caml_state->young_alloc_end; ++p){ + for (p = Caml_state->young_alloc_start; p < Caml_state->young_alloc_end; + ++p) { *p = Debug_free_minor; } } @@ -430,7 +437,8 @@ CAMLexport void caml_gc_dispatch (void) caml_instr_alloc_jump = 0; #endif - if (trigger == Caml_state->young_alloc_start || Caml_state->requested_minor_gc){ + if (trigger == Caml_state->young_alloc_start + || Caml_state->requested_minor_gc) { /* The minor heap is full, we must do a minor collection. */ /* reset the pointers first because the end hooks might allocate */ Caml_state->requested_minor_gc = 0; @@ -441,7 +449,8 @@ CAMLexport void caml_gc_dispatch (void) if (caml_gc_phase == Phase_idle) caml_major_collection_slice (-1); CAML_INSTR_TIME (tmr, "dispatch/minor"); } - if (trigger != Caml_state->young_alloc_start || Caml_state->requested_major_slice){ + if (trigger != Caml_state->young_alloc_start + || Caml_state->requested_major_slice) { /* The minor heap is half-full, do a major GC slice. */ Caml_state->requested_major_slice = 0; Caml_state->young_trigger = Caml_state->young_alloc_start; diff --git a/runtime/power.S b/runtime/power.S index 70c09c394..0a2bb6754 100644 --- a/runtime/power.S +++ b/runtime/power.S @@ -621,7 +621,8 @@ FUNCTION(caml_callback_asm) ENDFUNCTION(caml_callback_asm) FUNCTION(caml_callback2_asm) - /* r3 = Caml_state, r4 = closure, 0(r5) = first arg, WORD(r5) = second arg */ + /* r3 = Caml_state, r4 = closure, 0(r5) = first arg, + WORD(r5) = second arg */ mr START_PRG_DOMAIN_STATE_PTR, 3 mr 0, 4 lg 3, 0(5) /* r3 = First argument */ @@ -632,7 +633,8 @@ FUNCTION(caml_callback2_asm) ENDFUNCTION(caml_callback2_asm) FUNCTION(caml_callback3_asm) - /* r3 = Caml_state, r4 = closure, 0(r5) = first arg, WORD(r5) = second arg, 2*WORD(r5) = third arg */ + /* r3 = Caml_state, r4 = closure, 0(r5) = first arg, WORD(r5) = second arg, + 2*WORD(r5) = third arg */ mr START_PRG_DOMAIN_STATE_PTR, 3 mr 6, 4 /* r6 = Closure */ lg 3, 0(5) /* r3 = First argument */ diff --git a/runtime/roots_byt.c b/runtime/roots_byt.c index 37a1fc27f..fb1b82a0a 100644 --- a/runtime/roots_byt.c +++ b/runtime/roots_byt.c @@ -83,7 +83,8 @@ void caml_do_roots (scanning_action f, int do_globals) f(caml_global_data, &caml_global_data); CAML_INSTR_TIME (tmr, "major_roots/global"); /* The stack and the local C roots */ - caml_do_local_roots(f, Caml_state->extern_sp, Caml_state->stack_high, Caml_state->local_roots); + caml_do_local_roots(f, Caml_state->extern_sp, Caml_state->stack_high, + Caml_state->local_roots); CAML_INSTR_TIME (tmr, "major_roots/local"); /* Global C roots */ caml_scan_global_roots(f); diff --git a/runtime/roots_nat.c b/runtime/roots_nat.c index e2f1106f6..095bb1f56 100644 --- a/runtime/roots_nat.c +++ b/runtime/roots_nat.c @@ -408,8 +408,9 @@ void caml_do_roots (scanning_action f, int do_globals) } CAML_INSTR_TIME (tmr, "major_roots/dynamic_global"); /* The stack and local roots */ - caml_do_local_roots(f, Caml_state->bottom_of_stack, Caml_state->last_return_address, - Caml_state->gc_regs, Caml_state->local_roots); + caml_do_local_roots(f, Caml_state->bottom_of_stack, + Caml_state->last_return_address, Caml_state->gc_regs, + Caml_state->local_roots); CAML_INSTR_TIME (tmr, "major_roots/local"); /* Global C roots */ caml_scan_global_roots(f); @@ -493,7 +494,8 @@ uintnat (*caml_stack_usage_hook)(void) = NULL; uintnat caml_stack_usage (void) { uintnat sz; - sz = (value *) Caml_state->top_of_stack - (value *) Caml_state->bottom_of_stack; + sz = (value *) Caml_state->top_of_stack - + (value *) Caml_state->bottom_of_stack; if (caml_stack_usage_hook != NULL) sz += (*caml_stack_usage_hook)(); return sz; diff --git a/runtime/s390x.S b/runtime/s390x.S index 14d496293..dac391df5 100644 --- a/runtime/s390x.S +++ b/runtime/s390x.S @@ -225,9 +225,9 @@ caml_start_program: std %f13, 112(%r15) std %f14, 120(%r15) std %f15, 128(%r15) - + /* Load Caml_state to r10 register */ - lgr %r10, %r1 + lgr %r10, %r1 /* Set up a callback link */ lay %r15, -32(%r15) lg %r1, Caml_state(bottom_of_stack) @@ -278,7 +278,7 @@ caml_start_program: ld %f13, 112(%r15) ld %f14, 120(%r15) ld %f15, 128(%r15) - + /* Return */ lay %r15, 144(%r15) br %r14 @@ -310,7 +310,7 @@ caml_callback2_asm: /* Initial shuffling of arguments */ /* (r2 = Caml_state, r3 = closure, 0(r4) = arg1, 8(r4) = arg2) */ lgr %r1, %r2 /* r1 = Caml_state */ - lgr %r0, %r3 + lgr %r0, %r3 lg %r2, 0(%r4) /* r2 = First argument */ lg %r3, 8(%r4) /* r3 = Second argument */ lgr %r4, %r0 /* r4 = Closure */ @@ -321,7 +321,8 @@ caml_callback2_asm: .type caml_callback3_asm, @function caml_callback3_asm: /* Initial shuffling of arguments */ - /* (r2 = Caml_state, r3 = closure, 0(r4) = arg1, 8(r4) = arg2, 16(r4) = arg3) */ + /* (r2 = Caml_state, r3 = closure, 0(r4) = arg1, 8(r4) = arg2, + 16(r4) = arg3) */ lgr %r1, %r2 /* r1 = Caml_state */ lgr %r5, %r3 /* r5 = Closure */ lg %r2, 0(%r4) /* r2 = First argument */ diff --git a/runtime/signals.c b/runtime/signals.c index d4ca4e9a1..3ef48478e 100644 --- a/runtime/signals.c +++ b/runtime/signals.c @@ -265,7 +265,8 @@ void caml_execute_signal(int signal_number, int in_signal_handler) void caml_update_young_limit (void) { /* The minor heap grows downwards. The first trigger is the largest one. */ - Caml_state->young_limit = caml_memprof_young_trigger < Caml_state->young_trigger ? + Caml_state->young_limit = + caml_memprof_young_trigger < Caml_state->young_trigger ? Caml_state->young_trigger : caml_memprof_young_trigger; #ifdef NATIVE_CODE diff --git a/runtime/stacks.c b/runtime/stacks.c index cb45fbae3..2e3be6a0f 100644 --- a/runtime/stacks.c +++ b/runtime/stacks.c @@ -32,7 +32,8 @@ void caml_init_stack (uintnat initial_max_size) { Caml_state->stack_low = (value *) caml_stat_alloc(Stack_size); Caml_state->stack_high = Caml_state->stack_low + Stack_size / sizeof (value); - Caml_state->stack_threshold = Caml_state->stack_low + Stack_threshold / sizeof (value); + Caml_state->stack_threshold = + Caml_state->stack_low + Stack_threshold / sizeof (value); Caml_state->extern_sp = Caml_state->stack_high; Caml_state->trapsp = Caml_state->stack_high; Caml_state->trap_barrier = Caml_state->stack_high + 1; @@ -53,7 +54,8 @@ void caml_realloc_stack(asize_t required_space) do { if (size >= caml_max_stack_size) caml_raise_stack_overflow(); size *= 2; - } while (size < Caml_state->stack_high - Caml_state->extern_sp + required_space); + } while (size < Caml_state->stack_high - Caml_state->extern_sp + + required_space); caml_gc_message (0x08, "Growing stack to %" ARCH_INTNAT_PRINTF_FORMAT "uk bytes\n", (uintnat) size * sizeof(value) / 1024); @@ -74,7 +76,8 @@ void caml_realloc_stack(asize_t required_space) Trap_link(p) = (value *) shift(Trap_link(p)); Caml_state->stack_low = new_low; Caml_state->stack_high = new_high; - Caml_state->stack_threshold = Caml_state->stack_low + Stack_threshold / sizeof (value); + Caml_state->stack_threshold = + Caml_state->stack_low + Stack_threshold / sizeof (value); Caml_state->extern_sp = new_sp; #undef shift @@ -83,7 +86,8 @@ void caml_realloc_stack(asize_t required_space) CAMLprim value caml_ensure_stack_capacity(value required_space) { asize_t req = Long_val(required_space); - if (Caml_state->extern_sp - req < Caml_state->stack_low) caml_realloc_stack(req); + if (Caml_state->extern_sp - req < Caml_state->stack_low) + caml_realloc_stack(req); return Val_unit; } diff --git a/runtime/sys.c b/runtime/sys.c index ac4feb1e0..ab4704e50 100644 --- a/runtime/sys.c +++ b/runtime/sys.c @@ -121,7 +121,8 @@ CAMLprim value caml_sys_exit(value retcode_v) double minwords = Caml_state->stat_minor_words + (double) (Caml_state->young_end - Caml_state->young_ptr); double prowords = Caml_state->stat_promoted_words; - double majwords = Caml_state->stat_major_words + (double) caml_allocated_words; + double majwords = + Caml_state->stat_major_words + (double) caml_allocated_words; double allocated_words = minwords + majwords - prowords; intnat mincoll = Caml_state->stat_minor_collections; intnat majcoll = Caml_state->stat_major_collections; From f9852bb3fea3a69ee3041a2ff79dd1a4fb4e8174 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 17 Jun 2019 23:43:34 +0530 Subject: [PATCH 24/54] Add changes entry --- Changes | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index f0fb33265..107d1efcc 100644 --- a/Changes +++ b/Changes @@ -71,7 +71,7 @@ Working version (Stephen Dolan, Xavier Leroy and David Allsopp, review by Xavier Leroy and Gabriel Scherer) -* #8711: The major GC hooks are no longer allowed to interact with the +- #8711: The major GC hooks are no longer allowed to interact with the OCaml heap. (Jacques-Henri Jourdan, review by Damien Doligez) @@ -83,6 +83,9 @@ Working version the new hook caml_fatal_error_hook. (Jacques-Henri Jourdan, review by Xavier Leroy) +- #8713: Introduce domain state to hold C global variables in the runtime. + (KC Sivaramakrishnan) + ### Tools: * #6792, #8654 ocamldebug now supports program using Dynlink. This From 64d0501c5c2a2bb47133204f2cba386fc0a8850b Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 18 Jun 2019 00:32:34 +0530 Subject: [PATCH 25/54] Fix references to removed variables --- runtime/memprof.c | 6 ++++-- runtime/signals.c | 14 +++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/runtime/memprof.c b/runtime/memprof.c index d0d6db78d..236f0d6bc 100644 --- a/runtime/memprof.c +++ b/runtime/memprof.c @@ -431,10 +431,12 @@ void caml_memprof_track_young(tag_t tag, uintnat wosize, int from_caml) CAMLassert(lambda > 0); occurrences = - mt_generate_binom(caml_memprof_young_trigger - 1 - caml_young_ptr) + 1; + mt_generate_binom(caml_memprof_young_trigger - 1 + - Caml_state->young_ptr) + 1; if (!from_caml) { - register_postponed_callback(Val_hp(caml_young_ptr), occurrences, Minor); + register_postponed_callback(Val_hp(Caml_state->young_ptr), occurrences, + Minor); caml_memprof_renew_minor_sample(); CAMLreturn0; } diff --git a/runtime/signals.c b/runtime/signals.c index 3ef48478e..3dc70feb0 100644 --- a/runtime/signals.c +++ b/runtime/signals.c @@ -109,10 +109,10 @@ void caml_set_something_to_do(void) caml_something_to_do = 1; #ifdef NATIVE_CODE /* When this function is called without [caml_c_call] (e.g., in - [caml_modify]), this is only moderately effective on ports that - cache [caml_young_limit] in a register, so it may take a while - before the register is reloaded from [caml_young_limit]. */ - caml_young_limit = caml_young_alloc_end; + [caml_modify]), this is only moderately effective on ports that cache + [Caml_state->young_limit] in a register, so it may take a while before the + register is reloaded from [Caml_state->young_limit]. */ + Caml_state->young_limit = Caml_state->young_alloc_end; #endif } @@ -279,13 +279,13 @@ void caml_update_young_limit (void) void caml_request_major_slice (void) { - caml_requested_major_slice = 1; + Caml_state->requested_major_slice = 1; caml_set_something_to_do(); } void caml_request_minor_gc (void) { - caml_requested_minor_gc = 1; + Caml_state->requested_minor_gc = 1; caml_set_something_to_do(); } @@ -297,7 +297,7 @@ CAMLexport value caml_check_urgent_gc (value extra_root) #ifdef NATIVE_CODE caml_update_young_limit(); #endif - if (caml_requested_major_slice || caml_requested_minor_gc){ + if (Caml_state->requested_major_slice || Caml_state->requested_minor_gc){ CAML_INSTR_INT ("force_minor/check_urgent_gc@", 1); caml_gc_dispatch(); } From eac4860ad387156e7bf1ebee17c86ac9eb52af4c Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 18 Jun 2019 11:17:26 +0530 Subject: [PATCH 26/54] Intialise domains earlier --- runtime/domain.c | 3 +++ runtime/startup_byt.c | 9 +++++---- runtime/startup_nat.c | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/runtime/domain.c b/runtime/domain.c index c344ecc4c..944c629da 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -22,6 +22,9 @@ CAMLexport caml_domain_state* Caml_state; void caml_init_domain () { + if (Caml_state != NULL) + return; + Caml_state = (caml_domain_state*)caml_stat_alloc_noexc(sizeof(caml_domain_state)); if (Caml_state == NULL) diff --git a/runtime/startup_byt.c b/runtime/startup_byt.c index fa75d1cbc..4e9ba799b 100644 --- a/runtime/startup_byt.c +++ b/runtime/startup_byt.c @@ -335,6 +335,9 @@ CAMLexport void caml_main(char_os **argv) caml_ensure_spacetime_dot_o_is_included++; + /* Initialize the domain */ + caml_init_domain(); + /* Determine options */ #ifdef DEBUG caml_verb_gc = 0x3F; @@ -407,8 +410,6 @@ CAMLexport void caml_main(char_os **argv) } /* Read the table of contents (section descriptors) */ caml_read_section_descriptors(fd, &trail); - /* Initialize the domain */ - caml_init_domain(); /* Initialize the abstract machine */ caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, @@ -477,6 +478,8 @@ CAMLexport value caml_startup_code_exn( char_os * cds_file; char_os * exe_name; + /* Initialize the domain */ + caml_init_domain(); /* Determine options */ #ifdef DEBUG caml_verb_gc = 0x3F; @@ -502,8 +505,6 @@ CAMLexport value caml_startup_code_exn( } exe_name = caml_executable_name(); if (exe_name == NULL) exe_name = caml_search_exe_in_path(argv[0]); - /* Initialize the domain */ - caml_init_domain(); /* Initialize the abstract machine */ caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, diff --git a/runtime/startup_nat.c b/runtime/startup_nat.c index 9a1bd32f9..3c9102ab5 100644 --- a/runtime/startup_nat.c +++ b/runtime/startup_nat.c @@ -110,6 +110,8 @@ value caml_startup_common(char_os **argv, int pooling) char_os * exe_name, * proc_self_exe; char tos; + /* Initialize the domain */ + caml_init_domain(); /* Determine options */ #ifdef DEBUG caml_verb_gc = 0x3F; @@ -133,8 +135,6 @@ value caml_startup_common(char_os **argv, int pooling) caml_install_invalid_parameter_handler(); #endif caml_init_custom_operations(); - /* Initialize the domain */ - caml_init_domain(); Caml_state->top_of_stack = &tos; caml_init_gc (caml_init_minor_heap_wsz, caml_init_heap_wsz, caml_init_heap_chunk_sz, caml_init_percent_free, From 1aec1126198cc6766e680301e05a5c7ba25721a6 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 18 Jun 2019 13:00:30 +0530 Subject: [PATCH 27/54] Define alignment macro for MSVC compiler --- runtime/caml/misc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 6adab1251..69f8c2543 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -84,8 +84,10 @@ typedef char * addr; #endif /* Alignment */ -#if defined(__GNUC__) +#ifdef __GNUC__ #define CAMLalign(n) __attribute__((aligned(n))) +#elif _MSC_VER >= 1500 +#define CAMLalign(n) __declspec(align(n)) #else #error "How do I align values on this platform?" #endif From b22240f53c08644255da2d858f609bc908946cc4 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Tue, 18 Jun 2019 15:05:03 +0530 Subject: [PATCH 28/54] Fix CAML_STATIC_ASSERT for MSVC --- runtime/caml/misc.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 69f8c2543..2a7900673 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -127,8 +127,10 @@ extern caml_timing_hook caml_minor_gc_begin_hook, caml_minor_gc_end_hook; extern caml_timing_hook caml_finalise_begin_hook, caml_finalise_end_hook; #define CAML_STATIC_ASSERT_3(b, l) \ - typedef CAMLunused_start \ - char static_assertion_failure_line_##l[(b) ? 1 : -1] CAMLunused_end + CAMLunused_start \ + char static_assertion_failure_line_##l[(b) ? 1 : -1] \ + CAMLunused_end + #define CAML_STATIC_ASSERT_2(b, l) CAML_STATIC_ASSERT_3(b, l) #define CAML_STATIC_ASSERT(b) CAML_STATIC_ASSERT_2(b, __LINE__) From a395c4cf71d7bda19f99a0bc2c3fabc229b7596c Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 21 Jun 2019 11:33:32 +0530 Subject: [PATCH 29/54] Fix CFI offsets in amd64 --- asmcomp/amd64/emit.mlp | 2 +- runtime/amd64.S | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index 3aa103d3d..defb57448 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -873,10 +873,10 @@ let emit_instr fallthrough i = I.mov (sym (emit_label s)) arg in load_label_addr lbl_handler r11; - cfi_adjust_cfa_offset 8; I.push r11; cfi_adjust_cfa_offset 8; I.push (domain_field Domainstate.Domain_exception_pointer); + cfi_adjust_cfa_offset 8; I.mov rsp (domain_field Domainstate.Domain_exception_pointer); stack_offset := !stack_offset + 16; | Lpoptrap -> diff --git a/runtime/amd64.S b/runtime/amd64.S index 7ab438918..993a9d8c5 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -580,9 +580,9 @@ LBL(caml_start_program): #else subq $8, %rsp; CFI_ADJUST (8) /* stack 16-aligned */ #endif - pushq Caml_state(gc_regs) - pushq Caml_state(last_return_address) - pushq Caml_state(bottom_of_stack) + pushq Caml_state(gc_regs); CFI_ADJUST(8) + pushq Caml_state(last_return_address); CFI_ADJUST(8) + pushq Caml_state(bottom_of_stack); CFI_ADJUST(8) #ifdef WITH_SPACETIME /* Save arguments to caml_callback* */ pushq %rax; CFI_ADJUST (8) @@ -618,9 +618,9 @@ LBL(109): /* Update alloc ptr */ movq %r15, Caml_state(young_ptr) /* Pop the callback link, restoring the global variables */ - popq Caml_state(bottom_of_stack) - popq Caml_state(last_return_address) - popq Caml_state(gc_regs) + popq Caml_state(bottom_of_stack); CFI_ADJUST(-8) + popq Caml_state(last_return_address); CFI_ADJUST(-8) + popq Caml_state(gc_regs); CFI_ADJUST(-8) #ifdef WITH_SPACETIME POP_VAR(caml_spacetime_trie_node_ptr) #else @@ -645,7 +645,7 @@ CFI_STARTPROC testq $1, Caml_state(backtrace_active) jne LBL(110) movq Caml_state(exception_pointer), %rsp - popq Caml_state(exception_pointer) + popq Caml_state(exception_pointer); CFI_ADJUST(-8) ret LBL(110): movq %rax, %r12 /* Save exception bucket */ @@ -666,7 +666,7 @@ LBL(110): call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ movq Caml_state(exception_pointer), %rsp - popq Caml_state(exception_pointer) + popq Caml_state(exception_pointer); CFI_ADJUST(-8) ret CFI_ENDPROC ENDFUNCTION(G(caml_raise_exn)) @@ -681,7 +681,7 @@ CFI_STARTPROC movq C_ARG_2, %rax movq Caml_state(exception_pointer), %rsp /* Cut stack */ /* Recover previous exception handler */ - popq Caml_state(exception_pointer) + popq Caml_state(exception_pointer); CFI_ADJUST(-8) movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret LBL(112): @@ -705,8 +705,8 @@ LBL(112): call GCALL(caml_stash_backtrace) movq %r12, %rax /* Recover exception bucket */ movq Caml_state(exception_pointer), %rsp - /* Recover previous exception handler */ - popq Caml_state(exception_pointer) + /* Recover previous exception handler */ + popq Caml_state(exception_pointer); CFI_ADJUST(-8) movq Caml_state(young_ptr), %r15 /* Reload alloc ptr */ ret CFI_ENDPROC @@ -722,7 +722,8 @@ FUNCTION(G(caml_stack_overflow)) movq C_ARG_1, %r14 /* Caml_state */ LEA_VAR(caml_exn_Stack_overflow, %rax) movq Caml_state(exception_pointer), %rsp /* cut the stack */ - popq Caml_state(exception_pointer) /* recover previous exn handler */ + /* Recover previous exn handler */ + popq Caml_state(exception_pointer) ret /* jump to handler's code */ ENDFUNCTION(G(caml_stack_overflow)) From c674a9a443d574944f764445b8fae6a8ca38ebb5 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 21 Jun 2019 14:49:25 +0530 Subject: [PATCH 30/54] Domain state support for msvc64 --- runtime/Makefile | 7 +- runtime/amd64nt.asm | 175 ++++++++++++++++--------------- runtime/gen_domain_state_inc.awk | 19 ++++ 3 files changed, 112 insertions(+), 89 deletions(-) create mode 100644 runtime/gen_domain_state_inc.awk diff --git a/runtime/Makefile b/runtime/Makefile index 78bac2e65..ee5620386 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -203,7 +203,7 @@ endif clean: rm -f $(PROGRAMS) *.$(O) *.$(A) *.$(SO) ld.conf rm -f primitives prims.c caml/opnames.h caml/jumptbl.h - rm -f caml/version.h + rm -f caml/version.h domain_state.inc .PHONY: distclean distclean: clean @@ -358,7 +358,10 @@ $(foreach object_type,$(subst %,,$(object_types)), \ %_libasmrunpic.o: %.S $(ASPP) $(ASPPFLAGS) $(SHAREDLIB_CFLAGS) -o $@ $< -%.obj: %.asm +domain_state.inc: caml/domain_state.tbl gen_domain_state_inc.awk + awk -f gen_domain_state_inc.awk $< > $@ + +%.obj: %.asm domain_state.inc $(ASM)$@ $(ASMFLAGS) $< %_libasmrunpic.obj: %.asm diff --git a/runtime/amd64nt.asm b/runtime/amd64nt.asm index e6b173771..0d4bce704 100644 --- a/runtime/amd64nt.asm +++ b/runtime/amd64nt.asm @@ -25,20 +25,14 @@ EXTRN caml_apply3: NEAR EXTRN caml_program: NEAR EXTRN caml_array_bound_error: NEAR - EXTRN caml_young_limit: QWORD - EXTRN caml_young_ptr: QWORD - EXTRN caml_bottom_of_stack: QWORD - EXTRN caml_last_return_address: QWORD - EXTRN caml_gc_regs: QWORD - EXTRN caml_exception_pointer: QWORD - EXTRN caml_backtrace_pos: DWORD - EXTRN caml_backtrace_active: DWORD - EXTRN caml_stash_backtrace: NEAR + EXTRN caml_stash_backtrace: NEAR IFDEF WITH_SPACETIME EXTRN caml_spacetime_trie_node_ptr: QWORD EXTRN caml_spacetime_c_to_ocaml: NEAR ENDIF +INCLUDE domain_state.inc + .CODE PUBLIC caml_system__code_begin @@ -53,22 +47,21 @@ caml_system__code_begin: caml_call_gc: ; Record lowest stack address and return address mov rax, [rsp] - mov caml_last_return_address, rax + Store_last_return_address rax lea rax, [rsp+8] - mov caml_bottom_of_stack, rax + Store_bottom_of_stack rax L105: ; Touch the stack to trigger a recoverable segfault ; if insufficient space remains sub rsp, 01000h mov [rsp], rax add rsp, 01000h - ; Save caml_young_ptr, caml_exception_pointer - mov caml_young_ptr, r15 - mov caml_exception_pointer, r14 + ; Save young_ptr + Store_young_ptr r15 IFDEF WITH_SPACETIME mov caml_spacetime_trie_node_ptr, r13 ENDIF - ; Build array of registers, save it into caml_gc_regs + ; Build array of registers, save it into Caml_state(gc_regs) push rbp push r11 push r10 @@ -82,7 +75,7 @@ ENDIF push rdi push rbx push rax - mov caml_gc_regs, rsp + Store_gc_regs rsp ; Save floating-point registers sub rsp, 16*8 movsd QWORD PTR [rsp + 0*8], xmm0 @@ -136,9 +129,8 @@ ENDIF pop r10 pop r11 pop rbp - ; Restore caml_young_ptr, caml_exception_pointer - mov r15, caml_young_ptr - mov r14, caml_exception_pointer + ; Restore Caml_state_young_ptr, caml_exception_pointer + Load_young_ptr r15 ; Return to caller ret @@ -146,15 +138,15 @@ ENDIF ALIGN 16 caml_alloc1: sub r15, 16 - cmp r15, caml_young_limit + Cmp_young_limit r15 jb L100 ret L100: add r15, 16 mov rax, [rsp + 0] - mov caml_last_return_address, rax + Store_last_return_address rax lea rax, [rsp + 8] - mov caml_bottom_of_stack, rax + Store_bottom_of_stack rax sub rsp, 8 call L105 add rsp, 8 @@ -164,15 +156,15 @@ L100: ALIGN 16 caml_alloc2: sub r15, 24 - cmp r15, caml_young_limit + Cmp_young_limit r15 jb L101 ret L101: add r15, 24 mov rax, [rsp + 0] - mov caml_last_return_address, rax + Store_last_return_address rax lea rax, [rsp + 8] - mov caml_bottom_of_stack, rax + Store_bottom_of_stack rax sub rsp, 8 call L105 add rsp, 8 @@ -182,15 +174,15 @@ L101: ALIGN 16 caml_alloc3: sub r15, 32 - cmp r15, caml_young_limit + Cmp_young_limit r15 jb L102 ret L102: add r15, 32 mov rax, [rsp + 0] - mov caml_last_return_address, rax + Store_last_return_address rax lea rax, [rsp + 8] - mov caml_bottom_of_stack, rax + Store_bottom_of_stack rax sub rsp, 8 call L105 add rsp, 8 @@ -200,16 +192,16 @@ L102: ALIGN 16 caml_allocN: sub r15, rax - cmp r15, caml_young_limit + Cmp_young_limit r15 jb L103 ret L103: add r15, rax push rax ; save desired size mov rax, [rsp + 8] - mov caml_last_return_address, rax + Store_last_return_address rax lea rax, [rsp + 16] - mov caml_bottom_of_stack, rax + Store_bottom_of_stack rax call L105 pop rax ; recover desired size jmp caml_allocN @@ -241,11 +233,11 @@ caml_call_gc3: caml_c_call: ; Record lowest stack address and return address pop r12 - mov caml_last_return_address, r12 - mov caml_bottom_of_stack, rsp + Store_last_return_address r12 + Store_bottom_of_stack rsp IFDEF WITH_SPACETIME ; Record the trie node hole pointer that corresponds to - ; [caml_last_return_address] + ; [Caml_state(last_return_address)] mov caml_spacetime_trie_node_ptr, r13 ENDIF ; Touch the stack to trigger a recoverable segfault @@ -253,13 +245,12 @@ ENDIF sub rsp, 01000h mov [rsp], rax add rsp, 01000h - ; Make the exception handler and alloc ptr available to the C code - mov caml_young_ptr, r15 - mov caml_exception_pointer, r14 + ; Make the alloc ptr available to the C code + Store_young_ptr r15 ; Call the function (address in rax) call rax ; Reload alloc ptr - mov r15, caml_young_ptr + Load_young_ptr r15 ; Return to caller push r12 ret @@ -289,6 +280,8 @@ caml_start_program: movapd OWORD PTR [rsp + 7*16], xmm13 movapd OWORD PTR [rsp + 8*16], xmm14 movapd OWORD PTR [rsp + 9*16], xmm15 + ; First argument (rcx) is Caml_state. Load it in r14 + mov r14, rcx ; Initial entry point is caml_program lea r12, caml_program ; Common code for caml_start_program and caml_callback* @@ -299,9 +292,9 @@ IFDEF WITH_SPACETIME ELSE sub rsp, 8 ; stack 16-aligned ENDIF - push caml_gc_regs - push caml_last_return_address - push caml_bottom_of_stack + Push_gc_regs + Push_last_return_address + Push_bottom_of_stack IFDEF WITH_SPACETIME ; Save arguments to caml_callback push rax @@ -318,13 +311,12 @@ IFDEF WITH_SPACETIME pop rax ENDIF ; Setup alloc ptr and exception ptr - mov r15, caml_young_ptr - mov r14, caml_exception_pointer + Load_young_ptr r15 ; Build an exception handler lea r13, L108 push r13 - push r14 - mov r14, rsp + Push_exception_pointer + Store_exception_pointer rsp IFDEF WITH_SPACETIME mov r13, caml_spacetime_trie_node_ptr ENDIF @@ -332,16 +324,15 @@ ENDIF call r12 L107: ; Pop the exception handler - pop r14 + Pop_exception_pointer pop r12 ; dummy register L109: - ; Update alloc ptr and exception ptr - mov caml_young_ptr, r15 - mov caml_exception_pointer, r14 + ; Update alloc ptr + Store_young_ptr r15 ; Pop the callback restoring, link the global variables - pop caml_bottom_of_stack - pop caml_last_return_address - pop caml_gc_regs + Pop_bottom_of_stack + Pop_last_return_address + Pop_gc_regs IFDEF WITH_SPACETIME pop caml_spacetime_trie_node_ptr ELSE @@ -380,22 +371,25 @@ L108: PUBLIC caml_raise_exn ALIGN 16 caml_raise_exn: - test caml_backtrace_active, 1 + Load_backtrace_active r11 + test r11, 1 jne L110 - mov rsp, r14 ; Cut stack - pop r14 ; Recover previous exception handler - ret ; Branch to handler + Load_exception_pointer rsp ; Cut stack + ; Recover previous exception handler + Pop_exception_pointer + ret ; Branch to handler L110: mov r12, rax ; Save exception bucket in r12 mov rcx, rax ; Arg 1: exception bucket mov rdx, [rsp] ; Arg 2: PC of raise lea r8, [rsp+8] ; Arg 3: SP of raise - mov r9, r14 ; Arg 4: SP of handler + Load_exception_pointer r9 ; Arg 4: SP of handler sub rsp, 32 ; Reserve 32 bytes on stack call caml_stash_backtrace mov rax, r12 ; Recover exception bucket - mov rsp, r14 ; Cut stack - pop r14 ; Recover previous exception handler + Load_exception_pointer rsp ; Cut stack + ; Recover previous exception handler + Pop_exception_pointer ret ; Branch to handler ; Raise an exception from C @@ -403,32 +397,36 @@ L110: PUBLIC caml_raise_exception ALIGN 16 caml_raise_exception: - test caml_backtrace_active, 1 + mov r14, rcx ; First argument is Caml_state + Load_backtrace_active r11 + test r11, 1 jne L112 - mov rax, rcx ; First argument is exn bucket - mov rsp, caml_exception_pointer - pop r14 ; Recover previous exception handler - mov r15, caml_young_ptr ; Reload alloc ptr + mov rax, rdx ; Second argument is exn bucket + Load_exception_pointer rsp + ; Recover previous exception handler + Pop_exception_pointer + Load_young_ptr r15 ; Reload alloc ptr ret L112: - mov r12, rcx ; Save exception bucket in r12 - ; Arg 1: exception bucket - mov rdx, caml_last_return_address ; Arg 2: PC of raise - mov r8, caml_bottom_of_stack ; Arg 3: SP of raise - mov r9, caml_exception_pointer ; Arg 4: SP of handler + mov r12, rdx ; Save exception bucket in r12 + mov rcx, rdx ; Arg 1: exception bucket + Load_last_return_address rdx ; Arg 2: PC of raise + Load_bottom_of_stack r8 ; Arg 3: SP of raise + Load_exception_pointer r9 ; Arg 4: SP of handler sub rsp, 32 ; Reserve 32 bytes on stack call caml_stash_backtrace mov rax, r12 ; Recover exception bucket - mov rsp, caml_exception_pointer - pop r14 ; Recover previous exception handler - mov r15, caml_young_ptr ; Reload alloc ptr + Load_exception_pointer rsp + ; Recover previous exception handler + Pop_exception_pointer + Load_young_ptr r15; Reload alloc ptr ret ; Callback from C to OCaml - PUBLIC caml_callback_exn + PUBLIC caml_callback_asm ALIGN 16 -caml_callback_exn: +caml_callback_asm: ; Save callee-save registers push rbx push rbp @@ -450,14 +448,15 @@ caml_callback_exn: movapd OWORD PTR [rsp + 8*16], xmm14 movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial loading of arguments - mov rbx, rcx ; closure - mov rax, rdx ; argument + mov r14, rcx ; Caml_state + mov rbx, rdx ; closure + mov rax, [r8] ; argument mov r12, [rbx] ; code pointer jmp L106 - PUBLIC caml_callback2_exn + PUBLIC caml_callback2_asm ALIGN 16 -caml_callback2_exn: +caml_callback2_asm: ; Save callee-save registers push rbx push rbp @@ -479,15 +478,16 @@ caml_callback2_exn: movapd OWORD PTR [rsp + 8*16], xmm14 movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial loading of arguments - mov rdi, rcx ; closure - mov rax, rdx ; first argument - mov rbx, r8 ; second argument + mov r14, rcx ; Caml_state + mov rdi, rdx ; closure + mov rax, [r8] ; first argument + mov rbx, [r8 + 8] ; second argument lea r12, caml_apply2 ; code pointer jmp L106 - PUBLIC caml_callback3_exn + PUBLIC caml_callback3_asm ALIGN 16 -caml_callback3_exn: +caml_callback3_asm: ; Save callee-save registers push rbx push rbp @@ -509,10 +509,11 @@ caml_callback3_exn: movapd OWORD PTR [rsp + 8*16], xmm14 movapd OWORD PTR [rsp + 9*16], xmm15 ; Initial loading of arguments - mov rsi, rcx ; closure - mov rax, rdx ; first argument - mov rbx, r8 ; second argument - mov rdi, r9 ; third argument + mov r14, rcx ; Caml_state + mov rsi, rdx ; closure + mov rax, [r8] ; first argument + mov rbx, [r8 + 8] ; second argument + mov rdi, [r8 + 16] ; third argument lea r12, caml_apply3 ; code pointer jmp L106 diff --git a/runtime/gen_domain_state_inc.awk b/runtime/gen_domain_state_inc.awk new file mode 100644 index 000000000..a38ae1daf --- /dev/null +++ b/runtime/gen_domain_state_inc.awk @@ -0,0 +1,19 @@ +BEGIN{FS=",";count=0}; +/DOMAIN_STATE/{ + print "Store_" substr($2,2,length($2)-2) " MACRO reg"; + print " mov [r14+" count "], reg"; + print "ENDM"; + print "Load_" substr($2,2,length($2)-2) " MACRO reg"; + print " mov reg, [r14+" count "]"; + print "ENDM"; + print "Push_" substr($2,2, length($2)-2) " MACRO"; + print " push [r14 + " count "]"; + print "ENDM"; + print "Pop_" substr($2, 2, length($2)-2) " MACRO"; + print " pop [r14 + " count "]"; + print "ENDM"; + print "Cmp_" substr($2, 2, length($2)-2) " MACRO reg"; + print " cmp reg, [r14 + " count "]"; + print "ENDM"; + count+=8 +} From a27d53f3791fab0d40578c034ab00be272f823eb Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 21 Jun 2019 14:53:55 +0530 Subject: [PATCH 31/54] Add copyright header to gen_domain_state_inc.awk --- runtime/gen_domain_state_inc.awk | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/runtime/gen_domain_state_inc.awk b/runtime/gen_domain_state_inc.awk index a38ae1daf..21d1f208c 100644 --- a/runtime/gen_domain_state_inc.awk +++ b/runtime/gen_domain_state_inc.awk @@ -1,3 +1,18 @@ +#************************************************************************** +#* * +#* OCaml * +#* * +#* Damien Doligez, projet Gallium, INRIA Rocquencourt * +#* * +#* Copyright 2013 Institut National de Recherche en Informatique et * +#* en Automatique. * +#* * +#* All rights reserved. This file is distributed under the terms of * +#* the GNU Lesser General Public License version 2.1, with the * +#* special exception on linking described in the file LICENSE. * +#* * +#************************************************************************** + BEGIN{FS=",";count=0}; /DOMAIN_STATE/{ print "Store_" substr($2,2,length($2)-2) " MACRO reg"; From d227d36304d785fdfa3fddae3406da205a8f53e2 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sat, 22 Jun 2019 04:56:53 -0700 Subject: [PATCH 32/54] Domain state support for msvc32 --- asmcomp/i386/emit.mlp | 2 +- runtime/Makefile | 14 +- runtime/amd64nt.asm | 2 +- ...ate_inc.awk => gen_domain_state64_inc.awk} | 0 runtime/i386.S | 5 +- runtime/i386nt.asm | 205 ++++++++++-------- 6 files changed, 131 insertions(+), 97 deletions(-) rename runtime/{gen_domain_state_inc.awk => gen_domain_state64_inc.awk} (100%) diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp index eef066824..4f32d3910 100644 --- a/asmcomp/i386/emit.mlp +++ b/asmcomp/i386/emit.mlp @@ -976,7 +976,6 @@ let begin_assembly() = if system = S_win32 then begin D.mode386 (); D.model "FLAT"; - D.extrn "_caml_exception_pointer" DWORD; D.extrn "_caml_extra_params" DWORD; D.extrn "_caml_call_gc" PROC; D.extrn "_caml_c_call" PROC; @@ -986,6 +985,7 @@ let begin_assembly() = D.extrn "_caml_alloc3" PROC; D.extrn "_caml_ml_array_bound_error" PROC; D.extrn "_caml_raise_exn" PROC; + D.extrn "_Caml_state" DWORD; end; D.data (); diff --git a/runtime/Makefile b/runtime/Makefile index ee5620386..963c6dd8f 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -203,7 +203,7 @@ endif clean: rm -f $(PROGRAMS) *.$(O) *.$(A) *.$(SO) ld.conf rm -f primitives prims.c caml/opnames.h caml/jumptbl.h - rm -f caml/version.h domain_state.inc + rm -f caml/version.h domain_state*.inc .PHONY: distclean distclean: clean @@ -358,10 +358,16 @@ $(foreach object_type,$(subst %,,$(object_types)), \ %_libasmrunpic.o: %.S $(ASPP) $(ASPPFLAGS) $(SHAREDLIB_CFLAGS) -o $@ $< -domain_state.inc: caml/domain_state.tbl gen_domain_state_inc.awk - awk -f gen_domain_state_inc.awk $< > $@ +domain_state64.inc: caml/domain_state.tbl gen_domain_state64_inc.awk + awk -f gen_domain_state64_inc.awk $< > $@ -%.obj: %.asm domain_state.inc +domain_state32.inc: caml/domain_state.tbl gen_domain_state32_inc.awk + awk -f gen_domain_state32_inc.awk $< > $@ + +amd64nt.obj: amd64nt.asm domain_state64.inc + $(ASM)$@ $(ASMFLAGS) $< + +i386nt.obj: i386nt.asm domain_state32.inc $(ASM)$@ $(ASMFLAGS) $< %_libasmrunpic.obj: %.asm diff --git a/runtime/amd64nt.asm b/runtime/amd64nt.asm index 0d4bce704..c0a732413 100644 --- a/runtime/amd64nt.asm +++ b/runtime/amd64nt.asm @@ -31,7 +31,7 @@ IFDEF WITH_SPACETIME EXTRN caml_spacetime_c_to_ocaml: NEAR ENDIF -INCLUDE domain_state.inc +INCLUDE domain_state64.inc .CODE diff --git a/runtime/gen_domain_state_inc.awk b/runtime/gen_domain_state64_inc.awk similarity index 100% rename from runtime/gen_domain_state_inc.awk rename to runtime/gen_domain_state64_inc.awk diff --git a/runtime/i386.S b/runtime/i386.S index 8df17a19c..9093f863b 100644 --- a/runtime/i386.S +++ b/runtime/i386.S @@ -263,6 +263,7 @@ LBL(103): FUNCTION(caml_c_call) CFI_STARTPROC /* Record lowest stack address and return address */ + /* ecx and edx are destroyed at C call. Use them as temp. */ movl G(Caml_state), %ecx movl (%esp), %edx movl %edx, CAML_STATE(last_return_address, %ecx) @@ -437,11 +438,11 @@ FUNCTION(caml_callback3_asm) pushl %edi; CFI_ADJUST(4) pushl %ebp; CFI_ADJUST(4) /* Initial loading of arguments */ - movl 24(%esp), %edx /* closure */ + movl 24(%esp), %edx /* arg4: closure */ movl 28(%esp), %edi /* arguments array */ movl 0(%edi), %eax /* arg1: first argument */ movl 4(%edi), %ebx /* arg2: second argument */ - movl 8(%edi), %ecx /* third argument */ + movl 8(%edi), %ecx /* arg3: third argument */ movl $ G(caml_apply3), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC diff --git a/runtime/i386nt.asm b/runtime/i386nt.asm index b8d5cc4bc..557994e2f 100644 --- a/runtime/i386nt.asm +++ b/runtime/i386nt.asm @@ -23,31 +23,29 @@ EXTERN _caml_apply3: PROC EXTERN _caml_program: PROC EXTERN _caml_array_bound_error: PROC - EXTERN _caml_young_limit: DWORD - EXTERN _caml_young_ptr: DWORD - EXTERN _caml_bottom_of_stack: DWORD - EXTERN _caml_last_return_address: DWORD - EXTERN _caml_gc_regs: DWORD - EXTERN _caml_exception_pointer: DWORD - EXTERN _caml_backtrace_pos: DWORD - EXTERN _caml_backtrace_active: DWORD EXTERN _caml_stash_backtrace: PROC + EXTERN _Caml_state: DWORD ; Allocation .CODE + PUBLIC _caml_call_gc PUBLIC _caml_alloc1 PUBLIC _caml_alloc2 PUBLIC _caml_alloc3 PUBLIC _caml_allocN - PUBLIC _caml_call_gc + +INCLUDE domain_state32.inc _caml_call_gc: ; Record lowest stack address and return address - mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax + push ebx ; make a tmp reg + mov ebx, _Caml_state + mov eax, [esp+4] + Store_last_return_address ebx, eax + lea eax, [esp+8] + Store_bottom_of_stack ebx, eax + pop ebx ; Save all regs used by the code generator L105: push ebp push edi @@ -56,7 +54,8 @@ L105: push ebp push ecx push ebx push eax - mov _caml_gc_regs, esp + mov ebx, _Caml_state + Store_gc_regs ebx, esp ; Call the garbage collector call _caml_garbage_collection ; Restore all regs used by the code generator @@ -72,64 +71,80 @@ L105: push ebp ALIGN 4 _caml_alloc1: - mov eax, _caml_young_ptr + push ebx ; make a tmp reg + mov ebx, _Caml_state + Load_young_ptr ebx, eax sub eax, 8 - cmp eax, _caml_young_limit + Cmp_young_limit ebx, eax jb L100 - mov _caml_young_ptr, eax + Store_young_ptr ebx, eax + pop ebx ret -L100: mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax +L100: mov eax, [esp + 4] + Store_last_return_address ebx, eax + lea eax, [esp+8] + Store_bottom_of_stack ebx, eax + pop ebx call L105 jmp _caml_alloc1 ALIGN 4 _caml_alloc2: - mov eax, _caml_young_ptr + push ebx ; make a tmp reg + mov ebx, _Caml_state + Load_young_ptr ebx, eax sub eax, 12 - cmp eax, _caml_young_limit + Cmp_young_limit ebx, eax jb L101 - mov _caml_young_ptr, eax + Store_young_ptr ebx, eax + pop ebx ret -L101: mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax +L101: mov eax, [esp+4] + Store_last_return_address ebx, eax + lea eax, [esp+8] + Store_bottom_of_stack ebx, eax + pop ebx call L105 jmp _caml_alloc2 ALIGN 4 _caml_alloc3: - mov eax, _caml_young_ptr + push ebx ; make a tmp reg + mov ebx, _Caml_state + Load_young_ptr ebx, eax sub eax, 16 - cmp eax, _caml_young_limit + Cmp_young_limit ebx, eax jb L102 - mov _caml_young_ptr, eax + Store_young_ptr ebx, eax + pop ebx ret -L102: mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax +L102: mov eax, [esp+4] + Store_last_return_address ebx, eax + lea eax, [esp+8] + Store_bottom_of_stack ebx, eax + pop ebx call L105 jmp _caml_alloc3 + ALIGN 4 _caml_allocN: - sub eax, _caml_young_ptr ; eax = size - young_ptr - neg eax ; eax = young_ptr - size - cmp eax, _caml_young_limit + push eax ; Save desired size + push ebx ; Make a tmp reg + mov ebx, _Caml_state + Sub_young_ptr ebx, eax ; eax = size - young_ptr + neg eax ; eax = young_ptr - size + Cmp_young_limit ebx, eax jb L103 - mov _caml_young_ptr, eax + Store_young_ptr ebx, eax + pop ebx + add esp, 4 ; drop desired size ret -L103: sub eax, _caml_young_ptr ; eax = - size - neg eax ; eax = size - push eax ; save desired size - mov eax, [esp+4] - mov _caml_last_return_address, eax - lea eax, [esp+8] - mov _caml_bottom_of_stack, eax +L103: mov eax, [esp+8] + Store_last_return_address ebx, eax + lea eax, [esp+12] + Store_bottom_of_stack ebx, eax + pop ebx call L105 pop eax ; recover desired size jmp _caml_allocN @@ -140,10 +155,12 @@ L103: sub eax, _caml_young_ptr ; eax = - size ALIGN 4 _caml_c_call: ; Record lowest stack address and return address + ; ecx and edx are destroyed at C call. Use them as temp. + mov ecx, _Caml_state mov edx, [esp] - mov _caml_last_return_address, edx + Store_last_return_address ecx, edx lea edx, [esp+4] - mov _caml_bottom_of_stack, edx + Store_bottom_of_stack ecx, edx ; Call the function (address in %eax) jmp eax @@ -163,26 +180,29 @@ _caml_start_program: ; Code shared between caml_start_program and callback* L106: + mov edi, _Caml_state ; Build a callback link - push _caml_gc_regs - push _caml_last_return_address - push _caml_bottom_of_stack + Push_gc_regs edi + Push_last_return_address edi + Push_bottom_of_stack edi ; Build an exception handler push L108 - push _caml_exception_pointer - mov _caml_exception_pointer, esp + Push_exception_pointer edi + Store_exception_pointer edi, esp ; Call the OCaml code call esi L107: + mov edi, _Caml_state ; Pop the exception handler - pop _caml_exception_pointer - pop esi ; dummy register + Pop_exception_pointer edi + add esp, 4 L109: + mov edi, _Caml_state ; Pop the callback link, restoring the global variables ; used by caml_c_call - pop _caml_bottom_of_stack - pop _caml_last_return_address - pop _caml_gc_regs + Pop_bottom_of_stack edi + Pop_last_return_address edi + Pop_gc_regs edi ; Restore callee-save registers. pop ebp pop edi @@ -201,16 +221,18 @@ L108: PUBLIC _caml_raise_exn ALIGN 4 _caml_raise_exn: - test _caml_backtrace_active, 1 + mov ebx, _Caml_state + Load_backtrace_active ebx, ecx + test ecx, 1 jne L110 - mov esp, _caml_exception_pointer - pop _caml_exception_pointer + Load_exception_pointer ebx, esp + Pop_exception_pointer ebx ret L110: mov esi, eax ; Save exception bucket in esi - mov edi, _caml_exception_pointer ; SP of handler + Load_exception_pointer ebx, edi ; SP of handler mov eax, [esp] ; PC of raise - lea edx, [esp+4] + lea edx, [esp+4] ; SP of raise push edi ; arg 4: SP of handler push edx ; arg 3: SP of raise push eax ; arg 2: PC of raise @@ -218,7 +240,7 @@ L110: call _caml_stash_backtrace mov eax, esi ; recover exception bucket mov esp, edi ; cut the stack - pop _caml_exception_pointer + Pop_exception_pointer ebx ret ; Raise an exception from C @@ -226,68 +248,73 @@ L110: PUBLIC _caml_raise_exception ALIGN 4 _caml_raise_exception: - test _caml_backtrace_active, 1 + mov ebx, _Caml_state + Load_backtrace_active ebx, ecx + test ecx, 1 jne L112 - mov eax, [esp+4] - mov esp, _caml_exception_pointer - pop _caml_exception_pointer + mov eax, [esp+8] + Load_exception_pointer ebx, esp + Pop_exception_pointer ebx ret L112: - mov esi, [esp+4] ; Save exception bucket in esi - push _caml_exception_pointer ; arg 4: SP of handler - push _caml_bottom_of_stack ; arg 3: SP of raise - push _caml_last_return_address ; arg 2: PC of raise + mov esi, [esp+8] ; Save exception bucket in esi + Push_exception_pointer ebx ; arg 4: SP of handler + Push_bottom_of_stack ebx ; arg 3: SP of raise + Push_last_return_address ebx ; arg 2: PC of raise push esi ; arg 1: exception bucket call _caml_stash_backtrace mov eax, esi ; recover exception bucket - mov esp, _caml_exception_pointer ; cut the stack - pop _caml_exception_pointer + Load_exception_pointer ebx, esp ; cut the stack + Pop_exception_pointer ebx ret ; Callback from C to OCaml - PUBLIC _caml_callback_exn + PUBLIC _caml_callback_asm ALIGN 4 -_caml_callback_exn: +_caml_callback_asm: ; Save callee-save registers push ebx push esi push edi push ebp ; Initial loading of arguments - mov ebx, [esp+20] ; closure - mov eax, [esp+24] ; argument + mov ebx, [esp+24] ; arg2: closure + mov edi, [esp+28] ; arguments array + mov eax, [edi] ; arg1: argument mov esi, [ebx] ; code pointer jmp L106 - PUBLIC _caml_callback2_exn + PUBLIC _caml_callback2_asm ALIGN 4 -_caml_callback2_exn: +_caml_callback2_asm: ; Save callee-save registers push ebx push esi push edi push ebp ; Initial loading of arguments - mov ecx, [esp+20] ; closure - mov eax, [esp+24] ; first argument - mov ebx, [esp+28] ; second argument + mov ecx, [esp+24] ; arg3: closure + mov edi, [esp+28] ; arguments array + mov eax, [edi] ; arg1: first argument + mov ebx, [edi+4] ; arg2: second argument mov esi, offset _caml_apply2 ; code pointer jmp L106 - PUBLIC _caml_callback3_exn + PUBLIC _caml_callback3_asm ALIGN 4 -_caml_callback3_exn: +_caml_callback3_asm: ; Save callee-save registers push ebx push esi push edi push ebp ; Initial loading of arguments - mov edx, [esp+20] ; closure - mov eax, [esp+24] ; first argument - mov ebx, [esp+28] ; second argument - mov ecx, [esp+32] ; third argument + mov edx, [esp+24] ; arg4: closure + mov edi, [esp+28] ; arguments array + mov eax, [edi] ; arg1: first argument + mov ebx, [edi+4] ; arg2: second argument + mov ecx, [edi+8] ; arg3: third argument mov esi, offset _caml_apply3 ; code pointer jmp L106 From 9927db73b48cad547f8f363991cb1f352cadbf5c Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sat, 22 Jun 2019 18:41:12 -0700 Subject: [PATCH 33/54] Add missing awk file --- runtime/gen_domain_state32_inc.awk | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 runtime/gen_domain_state32_inc.awk diff --git a/runtime/gen_domain_state32_inc.awk b/runtime/gen_domain_state32_inc.awk new file mode 100644 index 000000000..65ad95c8f --- /dev/null +++ b/runtime/gen_domain_state32_inc.awk @@ -0,0 +1,37 @@ +#************************************************************************** +#* * +#* OCaml * +#* * +#* Damien Doligez, projet Gallium, INRIA Rocquencourt * +#* * +#* Copyright 2013 Institut National de Recherche en Informatique et * +#* en Automatique. * +#* * +#* All rights reserved. This file is distributed under the terms of * +#* the GNU Lesser General Public License version 2.1, with the * +#* special exception on linking described in the file LICENSE. * +#* * +#************************************************************************** + +BEGIN{FS=",";count=0}; +/DOMAIN_STATE/{ + print "Store_" substr($2,2,length($2)-2) " MACRO reg1, reg2"; + print " mov [reg1+" count "], reg2"; + print "ENDM"; + print "Load_" substr($2,2,length($2)-2) " MACRO reg1, reg2"; + print " mov reg2, [reg1+" count "]"; + print "ENDM"; + print "Push_" substr($2,2, length($2)-2) " MACRO reg1"; + print " push [reg1+ " count "]"; + print "ENDM"; + print "Pop_" substr($2, 2, length($2)-2) " MACRO reg1"; + print " pop [reg1+ " count "]"; + print "ENDM"; + print "Cmp_" substr($2, 2, length($2)-2) " MACRO reg1, reg2"; + print " cmp reg2, [reg1+ " count "]"; + print "ENDM"; + print "Sub_" substr($2, 2, length($2)-2) " MACRO reg1, reg2"; + print " sub reg2, [reg1+ " count "]"; + print "ENDM"; + count+=8 +} From 8ab825d7e9546eb212814b09badb2af3a06fe9fd Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sun, 23 Jun 2019 11:36:47 +0530 Subject: [PATCH 34/54] Fix makefile, gitignore and a stray extern declaration --- .gitignore | 4 ++++ Makefile | 4 ---- runtime/caml/domain.h | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 2ae570771..ead3b8c2f 100644 --- a/.gitignore +++ b/.gitignore @@ -190,6 +190,8 @@ _build /runtime/.gdb_history /runtime/*.d.c /runtime/*.pic.c +/runtime/domain_state32.inc +/runtime/domain_state64.inc /stdlib/camlheader /stdlib/target_camlheader @@ -258,6 +260,8 @@ _build /tools/caml-tex /utils/config.ml +/utils/domainstate.ml +/utils/domainstate.mli /yacc/ocamlyacc /yacc/version.h diff --git a/Makefile b/Makefile index 241948d19..45490789b 100644 --- a/Makefile +++ b/Makefile @@ -903,10 +903,6 @@ ocamlopt.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ $(OPTSTART:.cmo=.cmx) $(CAMLOPT_CMD) $(LINKFLAGS) -o $@ $^ -ocamlopt.d.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ - $(OPTSTART:.cmo=.cmx) - $(CAMLOPT_CMD) -runtime-variant d -I runtime $(LINKFLAGS) -o $@ $^ - partialclean:: rm -f ocamlopt.opt diff --git a/runtime/caml/domain.h b/runtime/caml/domain.h index 13af5b82a..db223d144 100644 --- a/runtime/caml/domain.h +++ b/runtime/caml/domain.h @@ -28,8 +28,6 @@ void caml_init_domain(void); #endif /* CAML_INTERNALS */ -CAMLextern caml_domain_state* Caml_state; - #ifdef __cplusplus } #endif From c298390b5d45ea41b279877576cbc6c3280792f1 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Sun, 23 Jun 2019 11:58:20 -0700 Subject: [PATCH 35/54] Fix tests/asmgen for msvc32 --- testsuite/tools/asmgen_i386nt.asm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/testsuite/tools/asmgen_i386nt.asm b/testsuite/tools/asmgen_i386nt.asm index 281f34ec5..68ba9b7d9 100644 --- a/testsuite/tools/asmgen_i386nt.asm +++ b/testsuite/tools/asmgen_i386nt.asm @@ -61,11 +61,7 @@ _caml_raise_exn: int 3 .DATA - PUBLIC _caml_exception_pointer -_caml_exception_pointer dword 0 - PUBLIC _caml_young_ptr -_caml_young_ptr dword 0 - PUBLIC _caml_young_limit -_caml_young_limit dword 0 + PUBLIC _Caml_state +_Caml_state dword 0 END From 316a5ff358736ad0d90ebc0c9a4863f5363f9bd0 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 24 Jun 2019 09:55:33 +0530 Subject: [PATCH 36/54] Copyright headers and attribution --- Changes | 2 +- runtime/caml/domain.h | 7 ++++--- runtime/caml/domain_state.h | 7 ++++--- runtime/caml/domain_state.tbl | 7 ++++--- runtime/domain.c | 7 ++++--- runtime/gen_domain_state32_inc.awk | 6 +++--- runtime/gen_domain_state64_inc.awk | 6 +++--- utils/domainstate.ml.c | 7 ++++--- utils/domainstate.mli.c | 16 ++++++++++++++++ 9 files changed, 43 insertions(+), 22 deletions(-) diff --git a/Changes b/Changes index 107d1efcc..17dfa9a41 100644 --- a/Changes +++ b/Changes @@ -84,7 +84,7 @@ Working version (Jacques-Henri Jourdan, review by Xavier Leroy) - #8713: Introduce domain state to hold C global variables in the runtime. - (KC Sivaramakrishnan) + (KC Sivaramakrishnan and Stephen Dolan reviewed by David Allsopp) ### Tools: diff --git a/runtime/caml/domain.h b/runtime/caml/domain.h index db223d144..8fa34df47 100644 --- a/runtime/caml/domain.h +++ b/runtime/caml/domain.h @@ -2,10 +2,11 @@ /* */ /* OCaml */ /* */ -/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ +/* Stephen Dolan, Jane Street Europe */ /* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. */ +/* Copyright 2019 Indian Institute of Technology, Madras */ +/* Copyright 2019 Jane Street Group LLC */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 05f74e512..139ebcb99 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -2,10 +2,11 @@ /* */ /* OCaml */ /* */ -/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ +/* Stephen Dolan, Jane Street Europe */ /* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. */ +/* Copyright 2019 Indian Institute of Technology, Madras */ +/* Copyright 2019 Jane Street Group LLC */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 28993169e..e4f0ca3df 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -2,10 +2,11 @@ /* */ /* OCaml */ /* */ -/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ +/* Stephen Dolan, Jane Street Europe */ /* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. */ +/* Copyright 2019 Indian Institute of Technology, Madras */ +/* Copyright 2019 Jane Street Group LLC */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/domain.c b/runtime/domain.c index 944c629da..69f3e8828 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -2,10 +2,11 @@ /* */ /* OCaml */ /* */ -/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ +/* Stephen Dolan, Jane Street Europe */ /* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. */ +/* Copyright 2019 Indian Institute of Technology, Madras */ +/* Copyright 2019 Jane Street Group LLC */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/gen_domain_state32_inc.awk b/runtime/gen_domain_state32_inc.awk index 65ad95c8f..061288e9f 100644 --- a/runtime/gen_domain_state32_inc.awk +++ b/runtime/gen_domain_state32_inc.awk @@ -2,10 +2,10 @@ #* * #* OCaml * #* * -#* Damien Doligez, projet Gallium, INRIA Rocquencourt * +#* KC Sivaramakrishnan, Indian Institute of Technology, Madras * #* * -#* Copyright 2013 Institut National de Recherche en Informatique et * -#* en Automatique. * +#* Copyright 2019 Indian Institute of Technology, Madras * +#* * #* * #* All rights reserved. This file is distributed under the terms of * #* the GNU Lesser General Public License version 2.1, with the * diff --git a/runtime/gen_domain_state64_inc.awk b/runtime/gen_domain_state64_inc.awk index 21d1f208c..871b13b61 100644 --- a/runtime/gen_domain_state64_inc.awk +++ b/runtime/gen_domain_state64_inc.awk @@ -2,10 +2,10 @@ #* * #* OCaml * #* * -#* Damien Doligez, projet Gallium, INRIA Rocquencourt * +#* KC Sivaramakrishnan, Indian Institute of Technology, Madras * #* * -#* Copyright 2013 Institut National de Recherche en Informatique et * -#* en Automatique. * +#* Copyright 2019 Indian Institute of Technology, Madras * +#* * #* * #* All rights reserved. This file is distributed under the terms of * #* the GNU Lesser General Public License version 2.1, with the * diff --git a/utils/domainstate.ml.c b/utils/domainstate.ml.c index 6476e490f..861637bd1 100644 --- a/utils/domainstate.ml.c +++ b/utils/domainstate.ml.c @@ -2,10 +2,11 @@ /* */ /* OCaml */ /* */ -/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ +/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ +/* Stephen Dolan, Jane Street Europe */ /* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. */ +/* Copyright 2019 Indian Institute of Technology, Madras */ +/* Copyright 2019 Jane Street Group LLC */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/utils/domainstate.mli.c b/utils/domainstate.mli.c index e837ef514..18bc612b6 100644 --- a/utils/domainstate.mli.c +++ b/utils/domainstate.mli.c @@ -1,3 +1,19 @@ +/**************************************************************************/ +/* */ +/* OCaml */ +/* */ +/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ +/* Stephen Dolan, Jane Street Europe */ +/* */ +/* Copyright 2019 Indian Institute of Technology, Madras */ +/* Copyright 2019 Jane Street Group LLC */ +/* */ +/* All rights reserved. This file is distributed under the terms of */ +/* the GNU Lesser General Public License version 2.1, with the */ +/* special exception on linking described in the file LICENSE. */ +/* */ +/**************************************************************************/ + type t = #define DOMAIN_STATE(type, name) | Domain_##name #include "domain_state.tbl" From b353f2a1c132c5bd2396e86504adb4ddb9623904 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 24 Jun 2019 10:46:06 +0530 Subject: [PATCH 37/54] Fix copytight header in awk files --- runtime/gen_domain_state32_inc.awk | 3 +-- runtime/gen_domain_state64_inc.awk | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/runtime/gen_domain_state32_inc.awk b/runtime/gen_domain_state32_inc.awk index 061288e9f..38080bbb1 100644 --- a/runtime/gen_domain_state32_inc.awk +++ b/runtime/gen_domain_state32_inc.awk @@ -4,8 +4,7 @@ #* * #* KC Sivaramakrishnan, Indian Institute of Technology, Madras * #* * -#* Copyright 2019 Indian Institute of Technology, Madras * -#* * +#* Copyright 2019 Indian Institute of Technology, Madras * #* * #* All rights reserved. This file is distributed under the terms of * #* the GNU Lesser General Public License version 2.1, with the * diff --git a/runtime/gen_domain_state64_inc.awk b/runtime/gen_domain_state64_inc.awk index 871b13b61..7e3e346c0 100644 --- a/runtime/gen_domain_state64_inc.awk +++ b/runtime/gen_domain_state64_inc.awk @@ -4,8 +4,7 @@ #* * #* KC Sivaramakrishnan, Indian Institute of Technology, Madras * #* * -#* Copyright 2019 Indian Institute of Technology, Madras * -#* * +#* Copyright 2019 Indian Institute of Technology, Madras * #* * #* All rights reserved. This file is distributed under the terms of * #* the GNU Lesser General Public License version 2.1, with the * From 2a0e6078510aac983cb4409056df82ea664c16b1 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 24 Jun 2019 16:07:46 +0530 Subject: [PATCH 38/54] Fix copyright headers again --- runtime/caml/domain.h | 4 ++-- runtime/caml/domain_state.h | 4 ++-- runtime/caml/domain_state.tbl | 4 ++-- runtime/domain.c | 4 ++-- utils/domainstate.ml.c | 4 ++-- utils/domainstate.mli.c | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/runtime/caml/domain.h b/runtime/caml/domain.h index 8fa34df47..23833d24f 100644 --- a/runtime/caml/domain.h +++ b/runtime/caml/domain.h @@ -3,10 +3,10 @@ /* OCaml */ /* */ /* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ -/* Stephen Dolan, Jane Street Europe */ +/* Stephen Dolan, University of Cambridge */ /* */ /* Copyright 2019 Indian Institute of Technology, Madras */ -/* Copyright 2019 Jane Street Group LLC */ +/* Copyright 2019 University of Cambridge */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 139ebcb99..622a6db6b 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -3,10 +3,10 @@ /* OCaml */ /* */ /* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ -/* Stephen Dolan, Jane Street Europe */ +/* Stephen Dolan, University of Cambridge */ /* */ /* Copyright 2019 Indian Institute of Technology, Madras */ -/* Copyright 2019 Jane Street Group LLC */ +/* Copyright 2019 University of Cambridge */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index e4f0ca3df..37e38188f 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -3,10 +3,10 @@ /* OCaml */ /* */ /* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ -/* Stephen Dolan, Jane Street Europe */ +/* Stephen Dolan, University of Cambridge */ /* */ /* Copyright 2019 Indian Institute of Technology, Madras */ -/* Copyright 2019 Jane Street Group LLC */ +/* Copyright 2019 University of Cambridge */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/runtime/domain.c b/runtime/domain.c index 69f3e8828..4ea7be653 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -3,10 +3,10 @@ /* OCaml */ /* */ /* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ -/* Stephen Dolan, Jane Street Europe */ +/* Stephen Dolan, University of Cambridge */ /* */ /* Copyright 2019 Indian Institute of Technology, Madras */ -/* Copyright 2019 Jane Street Group LLC */ +/* Copyright 2019 University of Cambridge */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/utils/domainstate.ml.c b/utils/domainstate.ml.c index 861637bd1..2d8990ef8 100644 --- a/utils/domainstate.ml.c +++ b/utils/domainstate.ml.c @@ -3,10 +3,10 @@ /* OCaml */ /* */ /* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ -/* Stephen Dolan, Jane Street Europe */ +/* Stephen Dolan, University of Cambridge */ /* */ /* Copyright 2019 Indian Institute of Technology, Madras */ -/* Copyright 2019 Jane Street Group LLC */ +/* Copyright 2019 University of Cambridge */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ diff --git a/utils/domainstate.mli.c b/utils/domainstate.mli.c index 18bc612b6..1da60c94a 100644 --- a/utils/domainstate.mli.c +++ b/utils/domainstate.mli.c @@ -3,10 +3,10 @@ /* OCaml */ /* */ /* KC Sivaramakrishnan, Indian Institute of Technology, Madras */ -/* Stephen Dolan, Jane Street Europe */ +/* Stephen Dolan, University of Cambridge */ /* */ /* Copyright 2019 Indian Institute of Technology, Madras */ -/* Copyright 2019 Jane Street Group LLC */ +/* Copyright 2019 University of Cambridge */ /* */ /* All rights reserved. This file is distributed under the terms of */ /* the GNU Lesser General Public License version 2.1, with the */ From 8721dc4e896d80cc389be30e3862c317b91975dc Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 26 Jun 2019 11:23:22 +0530 Subject: [PATCH 39/54] Remove inclusion of config.h from the files that generate domain state table. --- runtime/amd64.S | 9 +++------ runtime/arm.S | 3 --- runtime/arm64.S | 3 --- runtime/caml/domain_state.tbl | 2 +- runtime/i386.S | 3 --- runtime/power.S | 3 --- runtime/s390x.S | 3 --- utils/domainstate.ml.c | 3 --- 8 files changed, 4 insertions(+), 25 deletions(-) diff --git a/runtime/amd64.S b/runtime/amd64.S index 993a9d8c5..ee1c4e069 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -112,9 +112,6 @@ #endif -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "../runtime/caml/config.h" - .set domain_curr_field, 0 #define DOMAIN_STATE(c_type, name) \ .equ domain_field_caml_##name, domain_curr_field ; \ @@ -539,15 +536,15 @@ FUNCTION(G(caml_c_call)) CFI_STARTPROC LBL(caml_c_call): /* Record lowest stack address and return address */ - popq %r12; CFI_ADJUST(-8) - movq %r12, Caml_state(last_return_address) + popq Caml_state(last_return_address); CFI_ADJUST(-8) movq %rsp, Caml_state(bottom_of_stack) + /* equivalent to pushing last return address */ + subq $8, %rsp; CFI_ADJUST(8) #ifdef WITH_SPACETIME /* Record the trie node hole pointer that corresponds to [Caml_state->last_return_address] */ STORE_VAR(%r13, caml_spacetime_trie_node_ptr) #endif - subq $8, %rsp; CFI_ADJUST(8) /* equivalent to pushq %r12 */ /* Touch the stack to trigger a recoverable segfault if insufficient space remains */ subq $(STACK_PROBE_SIZE), %rsp; CFI_ADJUST(STACK_PROBE_SIZE); diff --git a/runtime/arm.S b/runtime/arm.S index f2007e0de..ba170ba6b 100644 --- a/runtime/arm.S +++ b/runtime/arm.S @@ -122,9 +122,6 @@ caml_hot__code_begin: caml_hot__code_end: #endif -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "../runtime/caml/config.h" - .set domain_curr_field, 0 #define DOMAIN_STATE(c_type, name) \ .equ domain_field_caml_##name, domain_curr_field ; \ diff --git a/runtime/arm64.S b/runtime/arm64.S index 3218fb500..f35d83cc3 100644 --- a/runtime/arm64.S +++ b/runtime/arm64.S @@ -50,9 +50,6 @@ #define CFI_OFFSET(r,n) #endif -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "../runtime/caml/config.h" - .set domain_curr_field, 0 #define DOMAIN_STATE(c_type, name) \ .equ domain_field_caml_##name, domain_curr_field ; \ diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index 37e38188f..c522d722c 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -14,13 +14,13 @@ /* */ /**************************************************************************/ +DOMAIN_STATE(value*, young_ptr) DOMAIN_STATE(value*, young_limit) /* Minor heap limit. See minor_gc.c. */ DOMAIN_STATE(char*, exception_pointer) /* Exception pointer that points into the current stack */ -DOMAIN_STATE(value*, young_ptr) DOMAIN_STATE(void*, young_base) DOMAIN_STATE(value*, young_start) DOMAIN_STATE(value*, young_end) diff --git a/runtime/i386.S b/runtime/i386.S index 9093f863b..71cf6ffff 100644 --- a/runtime/i386.S +++ b/runtime/i386.S @@ -82,9 +82,6 @@ #define STACK_PROBE_SIZE 16384 #endif -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "../runtime/caml/config.h" - .set domain_curr_field, 0 #define DOMAIN_STATE(c_type, name) \ .equ domain_field_caml_##name, domain_curr_field ; \ diff --git a/runtime/power.S b/runtime/power.S index 0a2bb6754..94983a6e6 100644 --- a/runtime/power.S +++ b/runtime/power.S @@ -142,9 +142,6 @@ ld reg, LSYMB(glob)@toc(2) #endif -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "../runtime/caml/config.h" - .set domain_curr_field, 0 #define DOMAIN_STATE(c_type, name) \ .equ domain_field_caml_##name, domain_curr_field ; \ diff --git a/runtime/s390x.S b/runtime/s390x.S index dac391df5..0ae3f82ae 100644 --- a/runtime/s390x.S +++ b/runtime/s390x.S @@ -25,9 +25,6 @@ larl reg, glob #endif -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "../runtime/caml/config.h" - .set domain_curr_field, 0 #define DOMAIN_STATE(c_type, name) \ .equ domain_field_caml_##name, domain_curr_field ; \ diff --git a/utils/domainstate.ml.c b/utils/domainstate.ml.c index 2d8990ef8..7ece1ad85 100644 --- a/utils/domainstate.ml.c +++ b/utils/domainstate.ml.c @@ -14,9 +14,6 @@ /* */ /**************************************************************************/ -#define CAML_CONFIG_H_NO_TYPEDEFS -#include "config.h" - type t = #define DOMAIN_STATE(type, name) | Domain_##name #include "domain_state.tbl" From a84b20e6013513bbbb985869e16bd7b9967827ac Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 26 Jun 2019 11:51:23 +0530 Subject: [PATCH 40/54] Remove unnecessary prerequite from make rule for domainstate.mli --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 45490789b..a3026accb 100644 --- a/Makefile +++ b/Makefile @@ -339,8 +339,7 @@ endif utils/domainstate.ml: utils/domainstate.ml.c runtime/caml/domain_state.tbl $(CPP) -I runtime/caml $< > $@ -utils/domainstate.mli: utils/domainstate.mli.c utils/domainstate.ml \ - runtime/caml/domain_state.tbl +utils/domainstate.mli: utils/domainstate.mli.c runtime/caml/domain_state.tbl $(CPP) -I runtime/caml $< > $@ .PHONY: partialclean From ca8b9927cee7fc121f31d234bd1bdba2ed2c8502 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Wed, 26 Jun 2019 12:43:04 +0530 Subject: [PATCH 41/54] Unbreak Changes file --- Changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Changes b/Changes index 17dfa9a41..55ebfaa38 100644 --- a/Changes +++ b/Changes @@ -71,7 +71,7 @@ Working version (Stephen Dolan, Xavier Leroy and David Allsopp, review by Xavier Leroy and Gabriel Scherer) -- #8711: The major GC hooks are no longer allowed to interact with the +* #8711: The major GC hooks are no longer allowed to interact with the OCaml heap. (Jacques-Henri Jourdan, review by Damien Doligez) From 9efdcfff05f003f738b3ad0a3bc5235e3a07fe8b Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 27 Jun 2019 09:56:55 +0530 Subject: [PATCH 42/54] Update comment in arm64 --- asmcomp/arm64/proc.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asmcomp/arm64/proc.ml b/asmcomp/arm64/proc.ml index 61c9103f7..329c43505 100644 --- a/asmcomp/arm64/proc.ml +++ b/asmcomp/arm64/proc.ml @@ -67,7 +67,7 @@ let register_class r = | Float -> 1 let num_available_registers = - [| 22; 32 |] (* first 23 int regs allocatable; all float regs allocatable *) + [| 22; 32 |] (* first 22 int regs allocatable; all float regs allocatable *) let first_available_register = [| 0; 100 |] From 22d5a0cf6e13240dcf6c5e5174f520a0ddd2d4a5 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 27 Jun 2019 17:21:52 +0530 Subject: [PATCH 43/54] Update Changes file entry --- Changes | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 55ebfaa38..44ffb3309 100644 --- a/Changes +++ b/Changes @@ -83,8 +83,10 @@ Working version the new hook caml_fatal_error_hook. (Jacques-Henri Jourdan, review by Xavier Leroy) -- #8713: Introduce domain state to hold C global variables in the runtime. - (KC Sivaramakrishnan and Stephen Dolan reviewed by David Allsopp) +- #8713: Introduce a state table in the runtime to contain the global variables + which must be duplicated for each domain in the multicore runtime. + (KC Sivaramakrishnan and Stephen Dolan review by David Allsopp, Alain Frisch, + Nicolas Ojeda Bar, Gabriel Scherer and Damien Doligez) ### Tools: From 525a1cec7bad2e3cf4ef975e8eed12055264af6f Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 27 Jun 2019 17:22:05 +0530 Subject: [PATCH 44/54] Revert changes to compatibility.h --- Changes | 2 +- runtime/caml/compatibility.h | 5 +++++ runtime/caml/domain_state.h | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index 44ffb3309..0cb130d1b 100644 --- a/Changes +++ b/Changes @@ -84,7 +84,7 @@ Working version (Jacques-Henri Jourdan, review by Xavier Leroy) - #8713: Introduce a state table in the runtime to contain the global variables - which must be duplicated for each domain in the multicore runtime. + which must be duplicated for each domain in the multicore runtime. (KC Sivaramakrishnan and Stephen Dolan review by David Allsopp, Alain Frisch, Nicolas Ojeda Bar, Gabriel Scherer and Damien Doligez) diff --git a/runtime/caml/compatibility.h b/runtime/caml/compatibility.h index 3ea15e256..ee07f2411 100644 --- a/runtime/caml/compatibility.h +++ b/runtime/caml/compatibility.h @@ -235,6 +235,10 @@ /* **** meta.c */ /* **** minor_gc.c */ +#define young_start (Caml_state->young_start) +#define young_end (Caml_state->young_end) +#define young_ptr (Caml_state->young_ptr) +#define young_limit (Caml_state->young_limit) #define ref_table caml_ref_table #define minor_collection caml_minor_collection #define check_urgent_gc caml_check_urgent_gc @@ -251,6 +255,7 @@ #define format_caml_exception caml_format_exception /*SP*/ /* **** roots.c */ +#define local_roots (Caml_state->local_roots) #define scan_roots_hook caml_scan_roots_hook #define do_local_roots caml_do_local_roots diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 622a6db6b..059fe26cb 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -21,6 +21,12 @@ #include "misc.h" #include "mlvalues.h" +#undef young_ptr +#undef young_limit +#undef young_start +#undef young_end +#undef local_roots + /* This structure sits in the TLS area and is also accessed efficiently * via native code, which is why the indices are important */ typedef struct { @@ -45,4 +51,6 @@ CAML_STATIC_ASSERT( CAMLextern caml_domain_state* Caml_state; +#include "compatibility.h" + #endif /* CAML_STATE_H */ From 29b53b1fad38091554a7fa25c34592b61bdee336 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 27 Jun 2019 17:58:06 +0530 Subject: [PATCH 45/54] Fix ENDFUNCTION macros args for callbacks --- runtime/amd64.S | 6 +++--- runtime/i386.S | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime/amd64.S b/runtime/amd64.S index ee1c4e069..5dcc8f7e8 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -737,7 +737,7 @@ CFI_STARTPROC movq 0(%rbx), %r12 /* code pointer */ jmp LBL(caml_start_program) CFI_ENDPROC -ENDFUNCTION(G(caml_callback_exn)) +ENDFUNCTION(G(caml_callback_asm)) FUNCTION(G(caml_callback2_asm)) CFI_STARTPROC @@ -751,7 +751,7 @@ CFI_STARTPROC LEA_VAR(caml_apply2, %r12) /* code pointer */ jmp LBL(caml_start_program) CFI_ENDPROC -ENDFUNCTION(G(caml_callback2_exn)) +ENDFUNCTION(G(caml_callback2_asm)) FUNCTION(G(caml_callback3_asm)) CFI_STARTPROC @@ -766,7 +766,7 @@ CFI_STARTPROC LEA_VAR(caml_apply3, %r12) /* code pointer */ jmp LBL(caml_start_program) CFI_ENDPROC -ENDFUNCTION(G(caml_callback3_exn)) +ENDFUNCTION(G(caml_callback3_asm)) FUNCTION(G(caml_ml_array_bound_error)) CFI_STARTPROC diff --git a/runtime/i386.S b/runtime/i386.S index 71cf6ffff..dfa1f3161 100644 --- a/runtime/i386.S +++ b/runtime/i386.S @@ -408,7 +408,7 @@ FUNCTION(caml_callback_asm) movl 0(%ebx), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC - ENDFUNCTION(caml_callback_exn) +ENDFUNCTION(caml_callback_asm) FUNCTION(caml_callback2_asm) CFI_STARTPROC @@ -425,7 +425,7 @@ FUNCTION(caml_callback2_asm) movl $ G(caml_apply2), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC - ENDFUNCTION(caml_callback2_exn) +ENDFUNCTION(caml_callback2_asm) FUNCTION(caml_callback3_asm) CFI_STARTPROC @@ -443,7 +443,7 @@ FUNCTION(caml_callback3_asm) movl $ G(caml_apply3), %esi /* code pointer */ jmp LBL(106) CFI_ENDPROC - ENDFUNCTION(caml_callback3_exn) +ENDFUNCTION(caml_callback3_asm) FUNCTION(caml_ml_array_bound_error) CFI_STARTPROC From e96220a96ff6ac9b327db14821e9bbc2eff504aa Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 1 Aug 2019 13:51:52 +0530 Subject: [PATCH 46/54] Simplify awk scripts, fix comments and signatures. --- runtime/amd64nt.asm | 4 +- runtime/arm.S | 2 +- runtime/caml/memory.h | 60 ++++++++++++------------------ runtime/caml/misc.h | 2 +- runtime/gen_domain_state32_inc.awk | 22 +++++------ runtime/gen_domain_state64_inc.awk | 18 ++++----- runtime/meta.c | 1 - runtime/signals_nat.c | 2 +- 8 files changed, 49 insertions(+), 62 deletions(-) diff --git a/runtime/amd64nt.asm b/runtime/amd64nt.asm index c0a732413..10e75ca07 100644 --- a/runtime/amd64nt.asm +++ b/runtime/amd64nt.asm @@ -129,7 +129,7 @@ ENDIF pop r10 pop r11 pop rbp - ; Restore Caml_state_young_ptr, caml_exception_pointer + ; Restore Caml_state(young_ptr) Load_young_ptr r15 ; Return to caller ret @@ -310,7 +310,7 @@ IFDEF WITH_SPACETIME pop rbx pop rax ENDIF - ; Setup alloc ptr and exception ptr + ; Setup alloc ptr Load_young_ptr r15 ; Build an exception handler lea r13, L108 diff --git a/runtime/arm.S b/runtime/arm.S index ba170ba6b..eb275413d 100644 --- a/runtime/arm.S +++ b/runtime/arm.S @@ -394,7 +394,7 @@ FUNCTION(caml_raise_exception) mov domain_state_ptr, r0 /* Load exception bucket */ mov r0, r1 - /* Reload trap ptr, alloc ptr and alloc limit */ + /* Reload trap ptr and alloc ptr */ ldr trap_ptr, Caml_state(exception_pointer) ldr alloc_ptr, Caml_state(young_ptr) /* Test if backtrace is active */ diff --git a/runtime/caml/memory.h b/runtime/caml/memory.h index b98ae2310..edf8390bd 100644 --- a/runtime/caml/memory.h +++ b/runtime/caml/memory.h @@ -354,11 +354,10 @@ struct caml__roots_block { #define CAMLxparam1(x) \ struct caml__roots_block caml__roots_##x; \ - caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = domain_state_##x->local_roots), \ - (domain_state_##x->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state->local_roots), \ + (Caml_state->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 1), \ (caml__roots_##x.tables [0] = &x), \ @@ -367,11 +366,10 @@ struct caml__roots_block { #define CAMLxparam2(x, y) \ struct caml__roots_block caml__roots_##x; \ - caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = domain_state_##x->local_roots), \ - (domain_state_##x->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state->local_roots), \ + (Caml_state->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 2), \ (caml__roots_##x.tables [0] = &x), \ @@ -381,11 +379,10 @@ struct caml__roots_block { #define CAMLxparam3(x, y, z) \ struct caml__roots_block caml__roots_##x; \ - caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = domain_state_##x->local_roots), \ - (domain_state_##x->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state->local_roots), \ + (Caml_state->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 3), \ (caml__roots_##x.tables [0] = &x), \ @@ -396,11 +393,10 @@ struct caml__roots_block { #define CAMLxparam4(x, y, z, t) \ struct caml__roots_block caml__roots_##x; \ - caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = domain_state_##x->local_roots), \ - (domain_state_##x->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state->local_roots), \ + (Caml_state->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 4), \ (caml__roots_##x.tables [0] = &x), \ @@ -412,11 +408,10 @@ struct caml__roots_block { #define CAMLxparam5(x, y, z, t, u) \ struct caml__roots_block caml__roots_##x; \ - caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = domain_state_##x->local_roots), \ - (domain_state_##x->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state->local_roots), \ + (Caml_state->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 5), \ (caml__roots_##x.tables [0] = &x), \ @@ -429,11 +424,10 @@ struct caml__roots_block { #define CAMLxparamN(x, size) \ struct caml__roots_block caml__roots_##x; \ - caml_domain_state* domain_state_##x = Caml_state; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = domain_state_##x->local_roots), \ - (domain_state_##x->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state->local_roots), \ + (Caml_state->local_roots = &caml__roots_##x), \ (caml__roots_##x.nitems = (size)), \ (caml__roots_##x.ntables = 1), \ (caml__roots_##x.tables[0] = &(x[0])), \ @@ -518,18 +512,16 @@ struct caml__roots_block { #define Begin_roots1(r0) { \ struct caml__roots_block caml__roots_block; \ - caml_domain_state* domain_state = Caml_state; \ - caml__roots_block.next = domain_state->local_roots; \ - domain_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state->local_roots; \ + Caml_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 1; \ caml__roots_block.tables[0] = &(r0); #define Begin_roots2(r0, r1) { \ struct caml__roots_block caml__roots_block; \ - caml_domain_state* domain_state = Caml_state; \ - caml__roots_block.next = domain_state->local_roots; \ - domain_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state->local_roots; \ + Caml_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 2; \ caml__roots_block.tables[0] = &(r0); \ @@ -537,9 +529,8 @@ struct caml__roots_block { #define Begin_roots3(r0, r1, r2) { \ struct caml__roots_block caml__roots_block; \ - caml_domain_state* domain_state = Caml_state; \ - caml__roots_block.next = domain_state->local_roots; \ - domain_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state->local_roots; \ + Caml_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 3; \ caml__roots_block.tables[0] = &(r0); \ @@ -548,9 +539,8 @@ struct caml__roots_block { #define Begin_roots4(r0, r1, r2, r3) { \ struct caml__roots_block caml__roots_block; \ - caml_domain_state* domain_state = Caml_state; \ - caml__roots_block.next = domain_state->local_roots; \ - domain_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state->local_roots; \ + Caml_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 4; \ caml__roots_block.tables[0] = &(r0); \ @@ -560,9 +550,8 @@ struct caml__roots_block { #define Begin_roots5(r0, r1, r2, r3, r4) { \ struct caml__roots_block caml__roots_block; \ - caml_domain_state* domain_state = Caml_state; \ - caml__roots_block.next = domain_state->local_roots; \ - domain_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state->local_roots; \ + Caml_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 5; \ caml__roots_block.tables[0] = &(r0); \ @@ -573,9 +562,8 @@ struct caml__roots_block { #define Begin_roots_block(table, size) { \ struct caml__roots_block caml__roots_block; \ - caml_domain_state* domain_state = Caml_state; \ - caml__roots_block.next = domain_state->local_roots; \ - domain_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state->local_roots; \ + Caml_state->local_roots = &caml__roots_block; \ caml__roots_block.nitems = (size); \ caml__roots_block.ntables = 1; \ caml__roots_block.tables[0] = (table); diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 2a7900673..8b7bbbb13 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -510,7 +510,7 @@ int caml_find_code_fragment(char *pc, int *index, struct code_fragment **cf); * [caml_backtrace_buffer]. In bytecode, it is the same as a * [code_t], in native code it as a [frame_descr *]. The difference * doesn't matter for code outside [backtrace_{byt,nat}.c], - * so it is just exposed as a [backtrace_slot]. + * so it is just exposed as a [void *]. */ typedef void * backtrace_slot; diff --git a/runtime/gen_domain_state32_inc.awk b/runtime/gen_domain_state32_inc.awk index 38080bbb1..f84090232 100644 --- a/runtime/gen_domain_state32_inc.awk +++ b/runtime/gen_domain_state32_inc.awk @@ -12,25 +12,25 @@ #* * #************************************************************************** -BEGIN{FS=",";count=0}; +BEGIN{FS="[,)] *";count=0}; /DOMAIN_STATE/{ - print "Store_" substr($2,2,length($2)-2) " MACRO reg1, reg2"; + print "Store_" $2 " MACRO reg1, reg2"; print " mov [reg1+" count "], reg2"; print "ENDM"; - print "Load_" substr($2,2,length($2)-2) " MACRO reg1, reg2"; + print "Load_" $2 " MACRO reg1, reg2"; print " mov reg2, [reg1+" count "]"; print "ENDM"; - print "Push_" substr($2,2, length($2)-2) " MACRO reg1"; - print " push [reg1+ " count "]"; + print "Push_" $2 " MACRO reg1"; + print " push [reg1+" count "]"; print "ENDM"; - print "Pop_" substr($2, 2, length($2)-2) " MACRO reg1"; - print " pop [reg1+ " count "]"; + print "Pop_" $2 " MACRO reg1"; + print " pop [reg1+" count "]"; print "ENDM"; - print "Cmp_" substr($2, 2, length($2)-2) " MACRO reg1, reg2"; - print " cmp reg2, [reg1+ " count "]"; + print "Cmp_" $2 " MACRO reg1, reg2"; + print " cmp reg2, [reg1+" count "]"; print "ENDM"; - print "Sub_" substr($2, 2, length($2)-2) " MACRO reg1, reg2"; - print " sub reg2, [reg1+ " count "]"; + print "Sub_" $2 " MACRO reg1, reg2"; + print " sub reg2, [reg1+" count "]"; print "ENDM"; count+=8 } diff --git a/runtime/gen_domain_state64_inc.awk b/runtime/gen_domain_state64_inc.awk index 7e3e346c0..8280d4d19 100644 --- a/runtime/gen_domain_state64_inc.awk +++ b/runtime/gen_domain_state64_inc.awk @@ -12,22 +12,22 @@ #* * #************************************************************************** -BEGIN{FS=",";count=0}; +BEGIN{FS="[,)] *";count=0}; /DOMAIN_STATE/{ - print "Store_" substr($2,2,length($2)-2) " MACRO reg"; + print "Store_" $2 " MACRO reg"; print " mov [r14+" count "], reg"; print "ENDM"; - print "Load_" substr($2,2,length($2)-2) " MACRO reg"; + print "Load_" $2 " MACRO reg"; print " mov reg, [r14+" count "]"; print "ENDM"; - print "Push_" substr($2,2, length($2)-2) " MACRO"; - print " push [r14 + " count "]"; + print "Push_" $2 " MACRO"; + print " push [r14+" count "]"; print "ENDM"; - print "Pop_" substr($2, 2, length($2)-2) " MACRO"; - print " pop [r14 + " count "]"; + print "Pop_" $2 " MACRO"; + print " pop [r14+" count "]"; print "ENDM"; - print "Cmp_" substr($2, 2, length($2)-2) " MACRO reg"; - print " cmp reg, [r14 + " count "]"; + print "Cmp_" $2 " MACRO reg"; + print " cmp reg, [r14+" count "]"; print "ENDM"; count+=8 } diff --git a/runtime/meta.c b/runtime/meta.c index acb6baacf..2c12fc04b 100644 --- a/runtime/meta.c +++ b/runtime/meta.c @@ -273,7 +273,6 @@ value caml_static_release_bytecode(value prog, value len) return Val_unit; /* not reached */ } -int volatile caml_something_to_do; void (* volatile caml_async_action_hook)(void); #endif diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index 7e7e0530d..5c7487c25 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -207,7 +207,7 @@ static char sig_alt_stack[SIGSTKSZ]; #endif #ifdef RETURN_AFTER_STACK_OVERFLOW -extern void caml_stack_overflow(void); +extern void caml_stack_overflow(caml_domain_state*); #endif DECLARE_SIGNAL_HANDLER(segv_handler) From 0d19da48d4c1b828e663054073ae0b8e2c0fcc27 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Thu, 1 Aug 2019 16:23:13 +0530 Subject: [PATCH 47/54] Make depend. Fix reference to ref table. --- .depend | 21 +- runtime/.depend | 3582 +++++++++++++++++++++++++++-------------------- runtime/array.c | 3 +- 3 files changed, 2115 insertions(+), 1491 deletions(-) diff --git a/.depend b/.depend index 3f6652d5f..2f68d8011 100644 --- a/.depend +++ b/.depend @@ -51,6 +51,11 @@ utils/consistbl.cmx : \ utils/consistbl.cmi utils/consistbl.cmi : \ utils/misc.cmi +utils/domainstate.cmo : \ + utils/domainstate.cmi +utils/domainstate.cmx : \ + utils/domainstate.cmi +utils/domainstate.cmi : utils/identifiable.cmo : \ utils/misc.cmi \ utils/identifiable.cmi @@ -2274,7 +2279,9 @@ asmcomp/emit.cmo : \ utils/misc.cmi \ asmcomp/mach.cmi \ asmcomp/linearize.cmi \ + lambda/lambda.cmi \ asmcomp/emitaux.cmi \ + utils/domainstate.cmi \ lambda/debuginfo.cmi \ utils/config.cmi \ middle_end/compilenv.cmi \ @@ -2294,7 +2301,9 @@ asmcomp/emit.cmx : \ utils/misc.cmx \ asmcomp/mach.cmx \ asmcomp/linearize.cmx \ + lambda/lambda.cmx \ asmcomp/emitaux.cmx \ + utils/domainstate.cmx \ lambda/debuginfo.cmx \ utils/config.cmx \ middle_end/compilenv.cmx \ @@ -2354,6 +2363,7 @@ asmcomp/linearize.cmo : \ asmcomp/proc.cmi \ utils/misc.cmi \ asmcomp/mach.cmi \ + lambda/lambda.cmi \ lambda/debuginfo.cmi \ utils/config.cmi \ asmcomp/cmm.cmi \ @@ -2363,6 +2373,7 @@ asmcomp/linearize.cmx : \ asmcomp/proc.cmx \ utils/misc.cmx \ asmcomp/mach.cmx \ + lambda/lambda.cmx \ lambda/debuginfo.cmx \ utils/config.cmx \ asmcomp/cmm.cmx \ @@ -2370,6 +2381,7 @@ asmcomp/linearize.cmx : \ asmcomp/linearize.cmi : \ asmcomp/reg.cmi \ asmcomp/mach.cmi \ + lambda/lambda.cmi \ lambda/debuginfo.cmi \ asmcomp/cmm.cmi asmcomp/linscan.cmo : \ @@ -2407,6 +2419,7 @@ asmcomp/mach.cmo : \ asmcomp/debug/reg_with_debug_info.cmi \ asmcomp/debug/reg_availability_set.cmi \ asmcomp/reg.cmi \ + lambda/lambda.cmi \ lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ middle_end/backend_var.cmi \ @@ -2416,6 +2429,7 @@ asmcomp/mach.cmx : \ asmcomp/debug/reg_with_debug_info.cmx \ asmcomp/debug/reg_availability_set.cmx \ asmcomp/reg.cmx \ + lambda/lambda.cmx \ lambda/debuginfo.cmx \ asmcomp/cmm.cmx \ middle_end/backend_var.cmx \ @@ -2424,6 +2438,7 @@ asmcomp/mach.cmx : \ asmcomp/mach.cmi : \ asmcomp/debug/reg_availability_set.cmi \ asmcomp/reg.cmi \ + lambda/lambda.cmi \ lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ middle_end/backend_var.cmi \ @@ -2449,16 +2464,16 @@ asmcomp/printcmm.cmi : \ asmcomp/cmm.cmi asmcomp/printlinear.cmo : \ asmcomp/printmach.cmi \ - asmcomp/printcmm.cmi \ asmcomp/mach.cmi \ asmcomp/linearize.cmi \ + lambda/lambda.cmi \ lambda/debuginfo.cmi \ asmcomp/printlinear.cmi asmcomp/printlinear.cmx : \ asmcomp/printmach.cmx \ - asmcomp/printcmm.cmx \ asmcomp/mach.cmx \ asmcomp/linearize.cmx \ + lambda/lambda.cmx \ lambda/debuginfo.cmx \ asmcomp/printlinear.cmi asmcomp/printlinear.cmi : \ @@ -2469,6 +2484,7 @@ asmcomp/printmach.cmo : \ asmcomp/proc.cmi \ asmcomp/printcmm.cmi \ asmcomp/mach.cmi \ + lambda/lambda.cmi \ asmcomp/interval.cmi \ lambda/debuginfo.cmi \ utils/config.cmi \ @@ -2483,6 +2499,7 @@ asmcomp/printmach.cmx : \ asmcomp/proc.cmx \ asmcomp/printcmm.cmx \ asmcomp/mach.cmx \ + lambda/lambda.cmx \ asmcomp/interval.cmx \ lambda/debuginfo.cmx \ utils/config.cmx \ diff --git a/runtime/.depend b/runtime/.depend index d6bfbfaf0..b9cd37354 100644 --- a/runtime/.depend +++ b/runtime/.depend @@ -1,2476 +1,3082 @@ afl_b.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_b.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_b.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_b.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_b.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_b.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_b.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_b.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_b.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/interp.h caml/instruct.h \ - caml/fix_code.h caml/stacks.h caml/memory.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ + caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_b.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_b.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_b.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_b.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_b.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/fail.h \ - caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ - caml/mlvalues.h caml/stacks.h caml/sys.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ + caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h +domain_b.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_b.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_b.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_b.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_b.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_b.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_b.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_b.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_b.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_b.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_b.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ + caml/startup_aux.h globroots_b.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_b.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_b.$(O): instrtrace.c intern_b.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_b.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h caml/jumptbl.h ints_b.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_b.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_b.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_b.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_b.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_b.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_b.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_b.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_b.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_b.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_b.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_b.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_b.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_b.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_b.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_b.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_b.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_b.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_b.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_b.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_b.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_b.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_b.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_b.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_b.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_b.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_b.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ + caml/startup_aux.h startup_byt_b.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_b.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_b.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_b.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_b.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_b.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_b.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_bd.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_bd.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_bd.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_bd.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_bd.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_bd.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_bd.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_bd.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_bd.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/interp.h caml/instruct.h \ - caml/fix_code.h caml/stacks.h caml/memory.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ + caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_bd.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_bd.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_bd.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_bd.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_bd.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/fail.h \ - caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ - caml/mlvalues.h caml/stacks.h caml/sys.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ + caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h +domain_bd.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_bd.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_bd.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_bd.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_bd.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_bd.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_bd.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_bd.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_bd.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_bd.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_bd.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ + caml/startup_aux.h globroots_bd.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_bd.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_bd.$(O): instrtrace.c caml/instrtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/instruct.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/instruct.h caml/misc.h \ caml/mlvalues.h caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/startup_aux.h intern_bd.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_bd.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h ints_bd.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_bd.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_bd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_bd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_bd.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_bd.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_bd.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_bd.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_bd.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_bd.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_bd.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_bd.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_bd.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_bd.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_bd.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_bd.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_bd.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_bd.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_bd.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_bd.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_bd.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_bd.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_bd.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_bd.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_bd.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_bd.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_bd.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ + caml/startup_aux.h startup_byt_bd.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_bd.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_bd.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_bd.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_bd.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_bd.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_bd.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_bi.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_bi.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_bi.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_bi.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_bi.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_bi.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_bi.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_bi.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_bi.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/interp.h caml/instruct.h \ - caml/fix_code.h caml/stacks.h caml/memory.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ + caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_bi.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_bi.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_bi.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_bi.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_bi.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/fail.h \ - caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ - caml/mlvalues.h caml/stacks.h caml/sys.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ + caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h +domain_bi.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_bi.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_bi.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_bi.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_bi.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_bi.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_bi.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_bi.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_bi.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_bi.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_bi.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ + caml/startup_aux.h globroots_bi.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_bi.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_bi.$(O): instrtrace.c intern_bi.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_bi.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h caml/jumptbl.h ints_bi.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_bi.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_bi.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_bi.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_bi.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_bi.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_bi.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_bi.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_bi.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_bi.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_bi.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_bi.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_bi.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_bi.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_bi.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_bi.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_bi.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_bi.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_bi.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_bi.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_bi.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_bi.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_bi.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_bi.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_bi.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_bi.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_bi.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ + caml/startup_aux.h startup_byt_bi.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_bi.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_bi.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_bi.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_bi.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_bi.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_bi.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_bpic.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_bpic.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_bpic.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_bpic.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_bpic.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_bpic.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_bpic.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_bpic.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_bpic.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/interp.h caml/instruct.h \ - caml/fix_code.h caml/stacks.h caml/memory.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ + caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_bpic.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_bpic.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_bpic.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_bpic.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_bpic.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/fail.h \ - caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ - caml/mlvalues.h caml/stacks.h caml/sys.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ + caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h +domain_bpic.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_bpic.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_bpic.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_bpic.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_bpic.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_bpic.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_bpic.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_bpic.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_bpic.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_bpic.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_bpic.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stacks.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ + caml/startup_aux.h globroots_bpic.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_bpic.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_bpic.$(O): instrtrace.c intern_bpic.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_bpic.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h caml/jumptbl.h ints_bpic.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_bpic.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_bpic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_bpic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_bpic.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_bpic.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_bpic.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_bpic.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_bpic.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_bpic.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_bpic.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_bpic.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_bpic.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_bpic.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_bpic.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_bpic.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_bpic.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_bpic.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_bpic.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_bpic.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_bpic.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_bpic.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_bpic.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_bpic.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_bpic.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_bpic.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_bpic.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ + caml/startup_aux.h startup_byt_bpic.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_bpic.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_bpic.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_bpic.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_bpic.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_bpic.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_bpic.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_n.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_n.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_n.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_n.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_n.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_n.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_n.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_n.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_n.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h + caml/memprof.h caml/domain.h caml/mlvalues.h clambda_checks_n.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_n.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_n.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_n.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_n.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h +domain_n.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_n.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_n.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_n.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_n.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_n.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_n.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_n.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_n.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_n.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_n.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stack.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ + caml/startup_aux.h globroots_n.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_n.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_n.$(O): instrtrace.c intern_n.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_n.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h caml/jumptbl.h ints_n.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_n.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_n.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_n.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_n.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_n.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_n.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_n.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_n.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_n.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_n.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_n.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_n.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_n.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_n.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_n.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_n.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_n.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_n.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_n.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_n.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_n.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_n.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_n.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_n.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_n.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_n.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_n.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_n.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_n.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_n.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_n.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_n.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_n.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_nd.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_nd.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_nd.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_nd.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_nd.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_nd.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_nd.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_nd.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_nd.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h + caml/memprof.h caml/domain.h caml/mlvalues.h clambda_checks_nd.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_nd.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_nd.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_nd.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_nd.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h +domain_nd.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_nd.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_nd.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_nd.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_nd.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_nd.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_nd.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_nd.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_nd.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_nd.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_nd.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stack.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ + caml/startup_aux.h globroots_nd.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_nd.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_nd.$(O): instrtrace.c caml/instrtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/instruct.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/instruct.h caml/misc.h \ caml/mlvalues.h caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/startup_aux.h intern_nd.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_nd.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h ints_nd.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_nd.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_nd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_nd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_nd.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_nd.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_nd.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_nd.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_nd.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_nd.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_nd.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_nd.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_nd.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_nd.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_nd.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_nd.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_nd.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_nd.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_nd.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_nd.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_nd.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_nd.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_nd.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_nd.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_nd.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_nd.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_nd.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_nd.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_nd.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_nd.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_nd.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_nd.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_nd.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_nd.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_ni.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_ni.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_ni.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_ni.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_ni.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_ni.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_ni.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_ni.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_ni.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h + caml/memprof.h caml/domain.h caml/mlvalues.h clambda_checks_ni.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_ni.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_ni.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_ni.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_ni.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h +domain_ni.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_ni.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_ni.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_ni.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_ni.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_ni.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_ni.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_ni.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_ni.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_ni.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_ni.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stack.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ + caml/startup_aux.h globroots_ni.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_ni.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_ni.$(O): instrtrace.c intern_ni.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_ni.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h caml/jumptbl.h ints_ni.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_ni.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_ni.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_ni.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_ni.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_ni.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_ni.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_ni.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_ni.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_ni.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_ni.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_ni.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_ni.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_ni.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_ni.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_ni.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_ni.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_ni.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_ni.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_ni.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_ni.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_ni.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_ni.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_ni.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_ni.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_ni.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_ni.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_ni.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_ni.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_ni.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_ni.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_ni.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_ni.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_ni.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h afl_npic.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/mlvalues.h caml/misc.h caml/osdeps.h caml/memory.h caml/gc.h \ - caml/mlvalues.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h alloc_npic.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/stacks.h \ - caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/stacks.h caml/memory.h array_npic.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/spacetime.h caml/io.h caml/stack.h +backtrace_npic.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/fail.h caml/debugger.h backtrace_byt_npic.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/misc.h caml/alloc.h caml/mlvalues.h \ + caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ + caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ - caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ - caml/debugger.h -backtrace_npic.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/backtrace.h caml/exec.h caml/backtrace_prim.h caml/backtrace.h \ - caml/fail.h caml/debugger.h + caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ + caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ + caml/backtrace.h caml/debugger.h backtrace_nat_npic.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h bigarray_npic.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/bigarray.h caml/custom.h caml/fail.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/signals.h + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h callback_npic.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h + caml/memprof.h caml/domain.h caml/mlvalues.h clambda_checks_npic.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h + caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h compact_npic.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/finalise.h caml/roots.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ caml/roots.h caml/weak.h caml/compact.h compare_npic.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ - caml/s.h caml/misc.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/mlvalues.h + caml/domain.h caml/misc.h caml/mlvalues.h custom_npic.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/signals.h debugger_npic.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/debugger.h caml/misc.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h +domain_npic.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h dynlink_npic.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/dynlink.h caml/fail.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_npic.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ - caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ - caml/hooks.h + caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ + caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ + caml/signals.h caml/hooks.h extern_npic.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_npic.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stacks.h caml/memory.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ + caml/memory.h fail_nat_npic.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/printexc.h \ - caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ + caml/callback.h finalise_npic.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/compact.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h fix_code_npic.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/fix_code.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/reverse.h floats_npic.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ caml/memory.h freelist_npic.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/gc.h caml/gc_ctrl.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h gc_ctrl_npic.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/compact.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/signals.h caml/stack.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ + caml/startup_aux.h globroots_npic.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ + caml/globroots.h caml/roots.h hash_npic.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/custom.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/hash.h + caml/memprof.h caml/domain.h caml/hash.h instrtrace_npic.$(O): instrtrace.c intern_npic.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/custom.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/misc.h \ - caml/reverse.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h caml/reverse.h interp_npic.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/backtrace.h caml/exec.h caml/callback.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ caml/startup_aux.h caml/jumptbl.h ints_npic.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h io_npic.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/custom.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_npic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h +lexing_npic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h main_npic.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/sys.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/mlvalues.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h major_gc_npic.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/custom.h caml/config.h caml/fail.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h md5_npic.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/md5.h caml/io.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/mlvalues.h caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/io.h caml/reverse.h memory_npic.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/config.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/signals.h caml/memprof.h + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/memprof.h memprof_npic.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/fail.h caml/alloc.h caml/callback.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/minor_gc.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ - caml/memory.h caml/stack.h caml/misc.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/weak.h caml/memory.h caml/stack.h caml/misc.h meta_npic.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/config.h caml/fail.h caml/fix_code.h caml/interp.h \ - caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h \ - caml/stacks.h caml/memory.h caml/debugger.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ + caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ + caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h minor_gc_npic.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/config.h caml/fail.h caml/finalise.h \ + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_npic.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ - caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/major_gc.h \ + caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/osdeps.h caml/memory.h caml/version.h + caml/domain.h caml/osdeps.h caml/memory.h caml/version.h obj_npic.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ + caml/stack.h parsing_npic.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ - caml/config.h caml/misc.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/alloc.h + caml/memprof.h caml/domain.h caml/alloc.h prims_npic.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/prims.h + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/compatibility.h caml/prims.h printexc_npic.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ - caml/m.h caml/s.h caml/misc.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/memprof.h + caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ + caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h roots_byt_npic.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/major_gc.h caml/memory.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h + caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/stacks.h roots_nat_npic.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/globroots.h caml/memory.h caml/major_gc.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h + caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ + caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ + caml/roots.h +signals_npic.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ + caml/roots.h signals_byt_npic.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h -signals_npic.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/mlvalues.h \ - caml/roots.h caml/memory.h caml/signals.h caml/signals_machdep.h \ - caml/sys.h caml/memprof.h caml/finalise.h caml/roots.h signals_nat_npic.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/memory.h caml/gc.h \ + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_npic.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ - caml/m.h caml/s.h caml/mlvalues.h caml/mlvalues.h + caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h spacetime_nat_npic.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ + caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ - caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ - caml/spacetime.h caml/stack.h + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ + caml/sys.h caml/spacetime.h caml/stack.h spacetime_snapshot_npic.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/backtrace_prim.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ + caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h stacks_npic.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/misc.h caml/mlvalues.h \ + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h startup_aux_npic.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/exec.h caml/memory.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/callback.h caml/major_gc.h \ - caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ + caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_npic.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ - caml/misc.h caml/config.h caml/mlvalues.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/dynlink.h caml/exec.h \ - caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ - caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/minor_gc.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h caml/printexc.h \ - caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h caml/startup.h \ - caml/startup_aux.h caml/version.h + caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ + caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ + caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ + caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ + caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ + caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h startup_nat_npic.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_npic.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/mlvalues.h caml/misc.h + caml/domain.h caml/mlvalues.h caml/misc.h sys_npic.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/version.h caml/callback.h caml/startup_aux.h + caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ + caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ + caml/startup_aux.h unix_npic.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h \ - caml/io.h caml/alloc.h + caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/sys.h caml/io.h caml/alloc.h weak_npic.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/fail.h caml/major_gc.h caml/freelist.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/mlvalues.h caml/weak.h \ - caml/memory.h caml/minor_gc.h caml/signals.h + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_npic.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/address_class.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/misc.h caml/osdeps.h \ - caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h diff --git a/runtime/array.c b/runtime/array.c index 657220d1f..44180da9f 100644 --- a/runtime/array.c +++ b/runtime/array.c @@ -625,7 +625,8 @@ CAMLprim value caml_array_fill(value array, if (Is_young(old)) continue; if (caml_gc_phase == Phase_mark) caml_darken(old, NULL); } - if (is_val_young_block) add_to_ref_table (&caml_ref_table, fp); + if (is_val_young_block) + add_to_ref_table (&Caml_state->minor_tables->ref, fp); } if (is_val_young_block) caml_check_urgent_gc (Val_unit); } From 6efd278286d844aea39b3880b38a92cda6d7d259 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 2 Aug 2019 11:58:09 +0530 Subject: [PATCH 48/54] Remove a level of indirection for accessing minor tables from Caml_state. --- runtime/array.c | 2 +- runtime/caml/domain_state.tbl | 4 ++- runtime/caml/minor_gc.h | 8 +----- runtime/caml/weak.h | 2 +- runtime/compact.c | 12 ++++----- runtime/custom.c | 2 +- runtime/domain.c | 2 +- runtime/intern.c | 2 +- runtime/major_gc.c | 4 +-- runtime/memory.c | 4 +-- runtime/minor_gc.c | 51 +++++++++++++++++++++-------------- runtime/weak.c | 2 +- 12 files changed, 51 insertions(+), 44 deletions(-) diff --git a/runtime/array.c b/runtime/array.c index 44180da9f..e43b5613b 100644 --- a/runtime/array.c +++ b/runtime/array.c @@ -626,7 +626,7 @@ CAMLprim value caml_array_fill(value array, if (caml_gc_phase == Phase_mark) caml_darken(old, NULL); } if (is_val_young_block) - add_to_ref_table (&Caml_state->minor_tables->ref, fp); + add_to_ref_table (Caml_state->ref_table, fp); } if (is_val_young_block) caml_check_urgent_gc (Val_unit); } diff --git a/runtime/caml/domain_state.tbl b/runtime/caml/domain_state.tbl index c522d722c..80ac7875b 100644 --- a/runtime/caml/domain_state.tbl +++ b/runtime/caml/domain_state.tbl @@ -31,7 +31,9 @@ DOMAIN_STATE(value*, young_trigger) DOMAIN_STATE(asize_t, minor_heap_wsz) DOMAIN_STATE(intnat, in_minor_collection) DOMAIN_STATE(double, extra_heap_resources_minor) -DOMAIN_STATE(struct caml_minor_tables*, minor_tables) +DOMAIN_STATE(struct caml_ref_table*, ref_table) +DOMAIN_STATE(struct caml_ephe_ref_table*, ephe_ref_table) +DOMAIN_STATE(struct caml_custom_table*, custom_table) /* See minor_gc.c */ DOMAIN_STATE(value*, stack_low) diff --git a/runtime/caml/minor_gc.h b/runtime/caml/minor_gc.h index 2b58f1900..44d2d50cf 100644 --- a/runtime/caml/minor_gc.h +++ b/runtime/caml/minor_gc.h @@ -49,12 +49,6 @@ struct caml_custom_table CAML_TABLE_STRUCT(struct caml_custom_elt); /* Table of custom blocks in the minor heap that contain finalizers or GC speed parameters. */ -struct caml_minor_tables { - struct caml_ref_table ref; - struct caml_ephe_ref_table ephe_ref; - struct caml_custom_table custom; -}; - extern void caml_set_minor_heap_size (asize_t); /* size in bytes */ extern void caml_empty_minor_heap (void); CAMLextern void caml_gc_dispatch (void); @@ -70,7 +64,7 @@ extern void caml_alloc_ephe_table (struct caml_ephe_ref_table *, extern void caml_realloc_custom_table (struct caml_custom_table *); extern void caml_alloc_custom_table (struct caml_custom_table *, asize_t, asize_t); -struct caml_minor_tables* caml_alloc_minor_tables (void); +void caml_alloc_minor_tables (void); #define Oldify(p) do{ \ value __oldify__v__ = *p; \ diff --git a/runtime/caml/weak.h b/runtime/caml/weak.h index 73b624448..668d51001 100644 --- a/runtime/caml/weak.h +++ b/runtime/caml/weak.h @@ -184,7 +184,7 @@ static inline void caml_ephe_clean (value v){ }else{ Field (v, i) = child = f; if (Is_block (f) && Is_young (f)) - add_to_ephe_ref_table(&Caml_state->minor_tables->ephe_ref, v, i); + add_to_ephe_ref_table(Caml_state->ephe_ref_table, v, i); goto ephemeron_again; } } diff --git a/runtime/compact.c b/runtime/compact.c index 3291c2880..eb64db42f 100644 --- a/runtime/compact.c +++ b/runtime/compact.c @@ -430,12 +430,12 @@ void caml_compact_heap (void) CAML_INSTR_SETUP(tmr, "compact"); CAMLassert (Caml_state->young_ptr == Caml_state->young_alloc_end); - CAMLassert (Caml_state->minor_tables->ref.ptr == - Caml_state->minor_tables->ref.base); - CAMLassert (Caml_state->minor_tables->ephe_ref.ptr == - Caml_state->minor_tables->ephe_ref.base); - CAMLassert (Caml_state->minor_tables->custom.ptr == - Caml_state->minor_tables->custom.base); + CAMLassert (Caml_state->ref_table->ptr == + Caml_state->ref_table->base); + CAMLassert (Caml_state->ephe_ref_table->ptr == + Caml_state->ephe_ref_table->base); + CAMLassert (Caml_state->custom_table->ptr == + Caml_state->custom_table->base); do_compaction (); CAML_INSTR_TIME (tmr, "compact/main"); diff --git a/runtime/custom.c b/runtime/custom.c index 5342b5678..970ed3bd1 100644 --- a/runtime/custom.c +++ b/runtime/custom.c @@ -54,7 +54,7 @@ static value alloc_custom_gen (struct custom_operations * ops, } /* The remaining [mem_minor] will be counted if the block survives a minor GC */ - add_to_custom_table (&Caml_state->minor_tables->custom, result, + add_to_custom_table (Caml_state->custom_table, result, mem_minor, max_major); /* Keep track of extra resources held by custom block in minor heap. */ diff --git a/runtime/domain.c b/runtime/domain.c index 4ea7be653..f1bc08e3d 100644 --- a/runtime/domain.c +++ b/runtime/domain.c @@ -45,7 +45,7 @@ void caml_init_domain () Caml_state->minor_heap_wsz = 0; Caml_state->in_minor_collection = 0; Caml_state->extra_heap_resources_minor = 0; - Caml_state->minor_tables = caml_alloc_minor_tables(); + caml_alloc_minor_tables(); Caml_state->stack_low = NULL; Caml_state->stack_high = NULL; diff --git a/runtime/intern.c b/runtime/intern.c index dd3b512ff..9f83cdda9 100644 --- a/runtime/intern.c +++ b/runtime/intern.c @@ -573,7 +573,7 @@ static void intern_rec(value *dest) if (ops->finalize != NULL && Is_young(v)) { /* Remember that the block has a finalizer. */ - add_to_custom_table (&Caml_state->minor_tables->custom, v, 0, 1); + add_to_custom_table (Caml_state->custom_table, v, 0, 1); } intern_dest += 1 + size; diff --git a/runtime/major_gc.c b/runtime/major_gc.c index c55766178..3c7976a94 100644 --- a/runtime/major_gc.c +++ b/runtime/major_gc.c @@ -271,9 +271,9 @@ static inline value* mark_slice_darken(value *gray_vals_ptr, Field (v, i) = f; if (Is_block (f) && Is_young (f) && !Is_young (child)){ if(in_ephemeron) { - add_to_ephe_ref_table (&Caml_state->minor_tables->ephe_ref, v, i); + add_to_ephe_ref_table (Caml_state->ephe_ref_table, v, i); } else { - add_to_ref_table (&Caml_state->minor_tables->ref, &Field (v, i)); + add_to_ref_table (Caml_state->ref_table, &Field (v, i)); } } } diff --git a/runtime/memory.c b/runtime/memory.c index 424d597e0..62b8dcf78 100644 --- a/runtime/memory.c +++ b/runtime/memory.c @@ -648,7 +648,7 @@ CAMLexport CAMLweakdef void caml_initialize (value *fp, value val) CAMLassert(Is_in_heap_or_young(fp)); *fp = val; if (!Is_young((value)fp) && Is_block (val) && Is_young (val)) { - add_to_ref_table (&Caml_state->minor_tables->ref, fp); + add_to_ref_table (Caml_state->ref_table, fp); } } @@ -701,7 +701,7 @@ CAMLexport CAMLweakdef void caml_modify (value *fp, value val) } /* Check for condition 1. */ if (Is_block(val) && Is_young(val)) { - add_to_ref_table (&Caml_state->minor_tables->ref, fp); + add_to_ref_table (Caml_state->ref_table, fp); } } } diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index cba3ac21f..1a3953d02 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -59,14 +59,25 @@ struct generic_table CAML_TABLE_STRUCT(char); -struct caml_minor_tables* caml_alloc_minor_tables () +void caml_alloc_minor_tables () { - struct caml_minor_tables* t = - caml_stat_alloc_noexc(sizeof(struct caml_minor_tables)); - if (t == NULL) + Caml_state->ref_table = + caml_stat_alloc_noexc(sizeof(struct caml_ref_table)); + if (Caml_state->ref_table == NULL) caml_fatal_error ("cannot initialize minor heap"); - memset(t, 0, sizeof(*t)); - return t; + memset(Caml_state->ref_table, 0, sizeof(struct caml_ref_table)); + + Caml_state->ephe_ref_table = + caml_stat_alloc_noexc(sizeof(struct caml_ephe_ref_table)); + if (Caml_state->ephe_ref_table == NULL) + caml_fatal_error ("cannot initialize minor heap"); + memset(Caml_state->ephe_ref_table, 0, sizeof(struct caml_ephe_ref_table)); + + Caml_state->custom_table = + caml_stat_alloc_noexc(sizeof(struct caml_custom_table)); + if (Caml_state->custom_table == NULL) + caml_fatal_error ("cannot initialize minor heap"); + memset(Caml_state->custom_table, 0, sizeof(struct caml_custom_table)); } /* [sz] and [rsv] are numbers of entries */ @@ -160,9 +171,9 @@ void caml_set_minor_heap_size (asize_t bsz) Caml_state->minor_heap_wsz = Wsize_bsize (bsz); caml_memprof_renew_minor_sample(); - reset_table ((struct generic_table *) &Caml_state->minor_tables->ref); - reset_table ((struct generic_table *) &Caml_state->minor_tables->ephe_ref); - reset_table ((struct generic_table *) &Caml_state->minor_tables->custom); + reset_table ((struct generic_table *) Caml_state->ref_table); + reset_table ((struct generic_table *) Caml_state->ephe_ref_table); + reset_table ((struct generic_table *) Caml_state->custom_table); } static value oldify_todo_list = 0; @@ -305,8 +316,8 @@ void caml_oldify_mopup (void) /* Oldify the data in the minor heap of alive ephemeron During minor collection keys outside the minor heap are considered alive */ - for (re = Caml_state->minor_tables->ephe_ref.base; - re < Caml_state->minor_tables->ephe_ref.ptr; re++){ + for (re = Caml_state->ephe_ref_table->base; + re < Caml_state->ephe_ref_table->ptr; re++){ /* look only at ephemeron with data in the minor heap */ if (re->offset == 1){ value *data = &Field(re->ephe,1); @@ -344,16 +355,16 @@ void caml_empty_minor_heap (void) caml_gc_message (0x02, "<"); caml_oldify_local_roots(); CAML_INSTR_TIME (tmr, "minor/local_roots"); - for (r = Caml_state->minor_tables->ref.base; - r < Caml_state->minor_tables->ref.ptr; r++) { + for (r = Caml_state->ref_table->base; + r < Caml_state->ref_table->ptr; r++) { caml_oldify_one (**r, *r); } CAML_INSTR_TIME (tmr, "minor/ref_table"); caml_oldify_mopup (); CAML_INSTR_TIME (tmr, "minor/copy"); /* Update the ephemerons */ - for (re = Caml_state->minor_tables->ephe_ref.base; - re < Caml_state->minor_tables->ephe_ref.ptr; re++){ + for (re = Caml_state->ephe_ref_table->base; + re < Caml_state->ephe_ref_table->ptr; re++){ if(re->offset < Wosize_val(re->ephe)){ /* If it is not the case, the ephemeron has been truncated */ value *key = &Field(re->ephe,re->offset); @@ -371,8 +382,8 @@ void caml_empty_minor_heap (void) /* Update the OCaml finalise_last values */ caml_final_update_minor_roots(); /* Run custom block finalisation of dead minor values */ - for (elt = Caml_state->minor_tables->custom.base; - elt < Caml_state->minor_tables->custom.ptr; elt++){ + for (elt = Caml_state->custom_table->base; + elt < Caml_state->custom_table->ptr; elt++){ value v = elt->block; if (Hd_val (v) == 0){ /* Block was copied to the major heap: adjust GC speed numbers. */ @@ -390,9 +401,9 @@ void caml_empty_minor_heap (void) (double) (Caml_state->young_alloc_end - Caml_state->young_ptr) / Caml_state->minor_heap_wsz; Caml_state->young_ptr = Caml_state->young_alloc_end; - clear_table ((struct generic_table *) &Caml_state->minor_tables->ref); - clear_table ((struct generic_table *) &Caml_state->minor_tables->ephe_ref); - clear_table ((struct generic_table *) &Caml_state->minor_tables->custom); + clear_table ((struct generic_table *) Caml_state->ref_table); + clear_table ((struct generic_table *) Caml_state->ephe_ref_table); + clear_table ((struct generic_table *) Caml_state->custom_table); Caml_state->extra_heap_resources_minor = 0; caml_gc_message (0x02, ">"); Caml_state->in_minor_collection = 0; diff --git a/runtime/weak.c b/runtime/weak.c index 54ee5842b..d5349f96f 100644 --- a/runtime/weak.c +++ b/runtime/weak.c @@ -189,7 +189,7 @@ static void do_set (value ar, mlsize_t offset, value v) value old = Field (ar, offset); Field (ar, offset) = v; if (!(Is_block (old) && Is_young (old))){ - add_to_ephe_ref_table (&Caml_state->minor_tables->ephe_ref, ar, offset); + add_to_ephe_ref_table (Caml_state->ephe_ref_table, ar, offset); } }else{ Field (ar, offset) = v; From 05d5bf02517db3c09b22d61fbb12543ba6b53695 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Mon, 5 Aug 2019 09:17:36 +0530 Subject: [PATCH 49/54] Fixes for conflicting definitions in compatibility.h --- runtime/caml/domain_state.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 059fe26cb..9d8390be7 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -21,11 +21,16 @@ #include "misc.h" #include "mlvalues.h" +#ifndef CAML_NAME_SPACE +/* These macros are defined in compatibility.h. We undefine them to avoid name + * clashes with caml_domain_state fields. The fields are redefined at the end + * of this file. */ #undef young_ptr #undef young_limit #undef young_start #undef young_end #undef local_roots +#endif /* This structure sits in the TLS area and is also accessed efficiently * via native code, which is why the indices are important */ @@ -51,6 +56,12 @@ CAML_STATIC_ASSERT( CAMLextern caml_domain_state* Caml_state; -#include "compatibility.h" +#ifndef CAML_NAME_SPACE +#define young_start (Caml_state->young_start) +#define young_end (Caml_state->young_end) +#define young_ptr (Caml_state->young_ptr) +#define young_limit (Caml_state->young_limit) +#define local_roots (Caml_state->local_roots) +#endif #endif /* CAML_STATE_H */ From ad96dec89c16287b0367cdbc2bb1b83f1d804d32 Mon Sep 17 00:00:00 2001 From: KC Sivaramakrishnan Date: Fri, 23 Aug 2019 09:31:34 +0530 Subject: [PATCH 50/54] Use domain state field names that do not conflict with compatibility.h The domain state structure (caml_domain_state) uses certaing field names (young_start, young_limit, etc.) that conflict with the macro definitions in compatibility.h that use the same names. These macro definitions are made only when CAML_NAME_SPACE is not defined. To avoid conflict, when CAML_NAME_SPACE is not defined, we prefix the field names in caml_domain_state with an underscore. Update .depend files. --- .depend | 5 - runtime/.depend | 4298 ++++++++++++++++------------------ runtime/caml/compatibility.h | 5 + runtime/caml/domain_state.h | 24 +- runtime/caml/memory.h | 69 +- 5 files changed, 2111 insertions(+), 2290 deletions(-) diff --git a/.depend b/.depend index 2f68d8011..46f205de3 100644 --- a/.depend +++ b/.depend @@ -1520,7 +1520,6 @@ typing/typetexp.cmo : \ utils/misc.cmi \ parsing/longident.cmi \ parsing/location.cmi \ - typing/includemod.cmi \ typing/env.cmi \ typing/ctype.cmi \ utils/clflags.cmi \ @@ -1541,7 +1540,6 @@ typing/typetexp.cmx : \ utils/misc.cmx \ parsing/longident.cmx \ parsing/location.cmx \ - typing/includemod.cmx \ typing/env.cmx \ typing/ctype.cmx \ utils/clflags.cmx \ @@ -1557,7 +1555,6 @@ typing/typetexp.cmi : \ parsing/parsetree.cmi \ parsing/longident.cmi \ parsing/location.cmi \ - typing/includemod.cmi \ typing/env.cmi \ typing/ctype.cmi \ parsing/asttypes.cmi @@ -6039,7 +6036,6 @@ toplevel/opttopstart.cmx : \ toplevel/opttopmain.cmx toplevel/topdirs.cmo : \ utils/warnings.cmi \ - typing/typetexp.cmi \ typing/types.cmi \ toplevel/trace.cmi \ toplevel/toploop.cmi \ @@ -6068,7 +6064,6 @@ toplevel/topdirs.cmo : \ toplevel/topdirs.cmi toplevel/topdirs.cmx : \ utils/warnings.cmx \ - typing/typetexp.cmx \ typing/types.cmx \ toplevel/trace.cmx \ toplevel/toploop.cmx \ diff --git a/runtime/.depend b/runtime/.depend index b9cd37354..74ef9b570 100644 --- a/runtime/.depend +++ b/runtime/.depend @@ -1,3082 +1,2910 @@ afl_b.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_b.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_b.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_b.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_b.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_b.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_b.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_b.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ - caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/interp.h caml/instruct.h \ + caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_b.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_b.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_b.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_b.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_b.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ - caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/fail.h \ + caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ + caml/mlvalues.h caml/stacks.h caml/sys.h domain_b.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_b.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_b.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_b.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_b.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_b.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_b.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_b.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_b.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_b.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_b.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ - caml/startup_aux.h -globroots_b.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_b.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_b.$(O): instrtrace.c -intern_b.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_b.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h caml/jumptbl.h -ints_b.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_b.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_b.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_b.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_b.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stacks.h caml/startup_aux.h +globroots_b.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_b.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_b.$(O): instrtrace.c +intern_b.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_b.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h caml/jumptbl.h +ints_b.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_b.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_b.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_b.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_b.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_b.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_b.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_b.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_b.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_b.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_b.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_b.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_b.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_b.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_b.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_b.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_b.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_b.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_b.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_b.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_b.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_b.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_b.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_b.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_b.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_b.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_b.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ - caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_b.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_b.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_b.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_b.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_b.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_b.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_b.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_bd.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_bd.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_bd.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_bd.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_bd.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_bd.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_bd.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_bd.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ - caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/interp.h caml/instruct.h \ + caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_bd.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_bd.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_bd.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_bd.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_bd.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ - caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/fail.h \ + caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ + caml/mlvalues.h caml/stacks.h caml/sys.h domain_bd.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_bd.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_bd.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_bd.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_bd.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_bd.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_bd.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_bd.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_bd.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_bd.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_bd.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ - caml/startup_aux.h -globroots_bd.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_bd.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_bd.$(O): instrtrace.c caml/instrtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/instruct.h caml/misc.h \ - caml/mlvalues.h caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/startup_aux.h -intern_bd.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_bd.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h -ints_bd.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_bd.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_bd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_bd.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_bd.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stacks.h caml/startup_aux.h +globroots_bd.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_bd.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_bd.$(O): instrtrace.c caml/instrtrace.h caml/mlvalues.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/instruct.h caml/misc.h caml/mlvalues.h \ + caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/startup_aux.h +intern_bd.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_bd.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h +ints_bd.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_bd.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_bd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_bd.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_bd.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_bd.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_bd.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_bd.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_bd.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_bd.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_bd.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_bd.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_bd.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_bd.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_bd.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_bd.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_bd.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_bd.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_bd.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_bd.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_bd.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_bd.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_bd.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_bd.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_bd.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_bd.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_bd.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ - caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_bd.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_bd.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_bd.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_bd.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_bd.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_bd.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_bd.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_bi.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_bi.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_bi.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_bi.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_bi.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_bi.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_bi.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_bi.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ - caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/interp.h caml/instruct.h \ + caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_bi.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_bi.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_bi.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_bi.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_bi.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ - caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/fail.h \ + caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ + caml/mlvalues.h caml/stacks.h caml/sys.h domain_bi.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_bi.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_bi.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_bi.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_bi.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_bi.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_bi.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_bi.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_bi.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_bi.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_bi.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ - caml/startup_aux.h -globroots_bi.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_bi.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_bi.$(O): instrtrace.c -intern_bi.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_bi.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h caml/jumptbl.h -ints_bi.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_bi.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_bi.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_bi.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_bi.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stacks.h caml/startup_aux.h +globroots_bi.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_bi.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_bi.$(O): instrtrace.c +intern_bi.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_bi.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h caml/jumptbl.h +ints_bi.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_bi.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_bi.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_bi.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_bi.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_bi.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_bi.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_bi.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_bi.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_bi.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_bi.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_bi.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_bi.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_bi.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_bi.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_bi.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_bi.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_bi.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_bi.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_bi.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_bi.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_bi.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_bi.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_bi.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_bi.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_bi.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_bi.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ - caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_bi.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_bi.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_bi.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_bi.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_bi.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_bi.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_bi.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_bpic.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_bpic.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_bpic.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_bpic.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_bpic.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_bpic.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_bpic.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_bpic.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/interp.h \ - caml/instruct.h caml/fix_code.h caml/stacks.h caml/memory.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/interp.h caml/instruct.h \ + caml/fix_code.h caml/stacks.h caml/memory.h clambda_checks_bpic.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_bpic.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_bpic.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_bpic.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_bpic.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/fail.h caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h \ - caml/io.h caml/mlvalues.h caml/stacks.h caml/sys.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/fail.h \ + caml/fix_code.h caml/instruct.h caml/intext.h caml/io.h caml/io.h \ + caml/mlvalues.h caml/stacks.h caml/sys.h domain_bpic.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_bpic.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_bpic.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_bpic.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_bpic.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_bpic.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_bpic.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_bpic.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_bpic.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_bpic.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_bpic.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stacks.h \ - caml/startup_aux.h -globroots_bpic.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_bpic.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_bpic.$(O): instrtrace.c -intern_bpic.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_bpic.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h caml/jumptbl.h -ints_bpic.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_bpic.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_bpic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_bpic.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_bpic.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stacks.h caml/startup_aux.h +globroots_bpic.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_bpic.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_bpic.$(O): instrtrace.c +intern_bpic.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_bpic.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h caml/jumptbl.h +ints_bpic.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_bpic.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_bpic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_bpic.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_bpic.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_bpic.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_bpic.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_bpic.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_bpic.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_bpic.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_bpic.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_bpic.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_bpic.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_bpic.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_bpic.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_bpic.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_bpic.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_bpic.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_bpic.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_bpic.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_bpic.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_bpic.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_bpic.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_bpic.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_bpic.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_bpic.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_bpic.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/dynlink.h caml/osdeps.h caml/memory.h \ - caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/dynlink.h caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_bpic.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_bpic.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_bpic.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_bpic.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_bpic.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_bpic.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_bpic.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_n.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_n.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_n.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_n.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_n.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_n.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_n.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_n.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h clambda_checks_n.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_n.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_n.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_n.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_n.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h domain_n.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_n.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_n.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_n.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_n.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_n.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_n.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_n.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_n.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_n.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_n.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ - caml/startup_aux.h -globroots_n.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_n.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_n.$(O): instrtrace.c -intern_n.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_n.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h caml/jumptbl.h -ints_n.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_n.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_n.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_n.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_n.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stack.h caml/startup_aux.h +globroots_n.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_n.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_n.$(O): instrtrace.c +intern_n.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_n.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h caml/jumptbl.h +ints_n.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_n.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_n.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_n.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_n.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_n.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_n.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_n.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_n.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_n.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_n.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_n.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_n.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_n.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_n.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_n.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_n.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_n.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_n.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_n.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_n.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_n.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_n.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_n.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_n.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_n.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_n.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_n.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_n.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_n.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_n.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_n.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_n.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_n.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_nd.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_nd.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_nd.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_nd.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_nd.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_nd.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_nd.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_nd.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h clambda_checks_nd.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_nd.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_nd.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_nd.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_nd.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h domain_nd.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_nd.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_nd.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_nd.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_nd.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_nd.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_nd.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_nd.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_nd.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_nd.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_nd.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ - caml/startup_aux.h -globroots_nd.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_nd.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_nd.$(O): instrtrace.c caml/instrtrace.h caml/mlvalues.h \ - caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/instruct.h caml/misc.h \ - caml/mlvalues.h caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/startup_aux.h -intern_nd.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_nd.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h -ints_nd.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_nd.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_nd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_nd.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_nd.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stack.h caml/startup_aux.h +globroots_nd.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_nd.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_nd.$(O): instrtrace.c caml/instrtrace.h caml/mlvalues.h \ + caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/instruct.h caml/misc.h caml/mlvalues.h \ + caml/opnames.h caml/prims.h caml/stacks.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/startup_aux.h +intern_nd.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_nd.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h +ints_nd.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_nd.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_nd.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_nd.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_nd.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_nd.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_nd.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_nd.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_nd.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_nd.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_nd.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_nd.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_nd.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_nd.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_nd.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_nd.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_nd.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_nd.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_nd.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_nd.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_nd.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_nd.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_nd.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_nd.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_nd.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_nd.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_nd.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_nd.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_nd.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_nd.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_nd.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_nd.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_nd.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_nd.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_ni.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_ni.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_ni.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_ni.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_ni.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_ni.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_ni.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_ni.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h clambda_checks_ni.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_ni.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_ni.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_ni.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_ni.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h domain_ni.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_ni.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_ni.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_ni.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_ni.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_ni.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_ni.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_ni.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_ni.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_ni.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_ni.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ - caml/startup_aux.h -globroots_ni.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_ni.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_ni.$(O): instrtrace.c -intern_ni.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_ni.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h caml/jumptbl.h -ints_ni.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_ni.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_ni.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_ni.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_ni.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stack.h caml/startup_aux.h +globroots_ni.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_ni.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_ni.$(O): instrtrace.c +intern_ni.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_ni.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h caml/jumptbl.h +ints_ni.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_ni.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_ni.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_ni.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_ni.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_ni.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_ni.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_ni.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_ni.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_ni.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_ni.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_ni.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_ni.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_ni.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_ni.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_ni.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_ni.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_ni.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_ni.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_ni.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_ni.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_ni.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_ni.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_ni.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_ni.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_ni.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_ni.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_ni.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_ni.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_ni.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_ni.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_ni.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h weak_ni.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h win32_ni.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h afl_npic.$(O): afl.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h alloc_npic.$(O): alloc.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/stacks.h caml/memory.h array_npic.$(O): array.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/signals.h \ - caml/spacetime.h caml/io.h caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/signals.h caml/spacetime.h caml/io.h caml/stack.h backtrace_npic.$(O): backtrace.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ - caml/backtrace.h caml/fail.h caml/debugger.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/backtrace.h \ + caml/exec.h caml/backtrace_prim.h caml/backtrace.h caml/fail.h \ + caml/debugger.h backtrace_byt_npic.$(O): backtrace_byt.c caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/config.h caml/misc.h caml/domain_state.h \ - caml/mlvalues.h caml/domain_state.tbl caml/compatibility.h caml/alloc.h \ - caml/custom.h caml/io.h caml/instruct.h caml/intext.h caml/io.h \ - caml/exec.h caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/startup.h caml/exec.h caml/stacks.h caml/memory.h \ - caml/sys.h caml/backtrace.h caml/fail.h caml/backtrace_prim.h \ - caml/backtrace.h caml/debugger.h + caml/mlvalues.h caml/domain_state.tbl caml/alloc.h caml/custom.h \ + caml/io.h caml/instruct.h caml/intext.h caml/io.h caml/exec.h \ + caml/fix_code.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/startup.h caml/exec.h caml/stacks.h caml/memory.h caml/sys.h \ + caml/backtrace.h caml/fail.h caml/backtrace_prim.h caml/backtrace.h \ + caml/debugger.h backtrace_nat_npic.$(O): backtrace_nat.c caml/alloc.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/backtrace_prim.h caml/backtrace.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/stack.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/backtrace_prim.h \ + caml/backtrace.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/stack.h bigarray_npic.$(O): bigarray.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/bigarray.h caml/custom.h caml/fail.h \ - caml/intext.h caml/io.h caml/hash.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h + caml/bigarray.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ + caml/hash.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/signals.h callback_npic.$(O): callback.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/mlvalues.h + caml/domain.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h clambda_checks_npic.$(O): clambda_checks.c caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h + caml/domain_state.tbl compact_npic.$(O): compact.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/finalise.h caml/roots.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/mlvalues.h \ - caml/roots.h caml/weak.h caml/compact.h + caml/config.h caml/finalise.h caml/roots.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/memory.h caml/mlvalues.h caml/roots.h caml/weak.h \ + caml/compact.h compare_npic.$(O): compare.c caml/custom.h caml/mlvalues.h caml/config.h caml/m.h \ caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h custom_npic.$(O): custom.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/signals.h + caml/custom.h caml/fail.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/signals.h debugger_npic.$(O): debugger.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/debugger.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/config.h caml/debugger.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h domain_npic.$(O): domain.c caml/domain_state.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h dynlink_npic.$(O): dynlink.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/dynlink.h caml/fail.h \ - caml/mlvalues.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/misc.h caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h + caml/domain_state.tbl caml/dynlink.h caml/fail.h caml/mlvalues.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/osdeps.h caml/memory.h caml/prims.h caml/signals.h dynlink_nat_npic.$(O): dynlink_nat.c caml/misc.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/stack.h caml/callback.h caml/alloc.h \ - caml/intext.h caml/io.h caml/osdeps.h caml/memory.h caml/fail.h \ - caml/signals.h caml/hooks.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/stack.h caml/callback.h caml/alloc.h caml/intext.h \ + caml/io.h caml/osdeps.h caml/memory.h caml/fail.h caml/signals.h \ + caml/hooks.h extern_npic.$(O): extern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ - caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h fail_byt_npic.$(O): fail_byt.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/io.h caml/gc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/printexc.h caml/signals.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/signals.h \ + caml/stacks.h caml/memory.h fail_nat_npic.$(O): fail_nat.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/domain.h caml/fail.h caml/io.h caml/gc.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/printexc.h caml/signals.h caml/stack.h caml/roots.h caml/memory.h \ - caml/callback.h + caml/domain.h caml/fail.h caml/io.h caml/gc.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/printexc.h \ + caml/signals.h caml/stack.h caml/roots.h caml/memory.h caml/callback.h finalise_npic.$(O): finalise.c caml/callback.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/compact.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/mlvalues.h caml/roots.h caml/signals.h + caml/compact.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h fix_code_npic.$(O): fix_code.c caml/config.h caml/m.h caml/s.h caml/debugger.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/fix_code.h \ - caml/instruct.h caml/intext.h caml/io.h caml/md5.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/reverse.h + caml/domain_state.tbl caml/fix_code.h caml/instruct.h caml/intext.h \ + caml/io.h caml/md5.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/misc.h caml/mlvalues.h caml/reverse.h floats_npic.$(O): floats.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h \ - caml/memory.h + caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/misc.h caml/reverse.h caml/stacks.h caml/memory.h freelist_npic.$(O): freelist.c caml/config.h caml/m.h caml/s.h caml/freelist.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/gc.h caml/gc_ctrl.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h + caml/domain_state.tbl caml/gc.h caml/gc_ctrl.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/major_gc.h caml/misc.h caml/mlvalues.h gc_ctrl_npic.$(O): gc_ctrl.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/compact.h \ - caml/custom.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/signals.h caml/stack.h \ - caml/startup_aux.h -globroots_npic.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ - caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h \ - caml/globroots.h caml/roots.h -hash_npic.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/hash.h -instrtrace_npic.$(O): instrtrace.c -intern_npic.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/custom.h \ - caml/fail.h caml/gc.h caml/intext.h caml/io.h caml/io.h caml/md5.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/misc.h caml/reverse.h -interp_npic.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/backtrace.h caml/exec.h caml/callback.h \ - caml/debugger.h caml/fail.h caml/fix_code.h caml/instrtrace.h \ - caml/instruct.h caml/interp.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h caml/memory.h \ - caml/startup_aux.h caml/jumptbl.h -ints_npic.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/intext.h caml/io.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h -io_npic.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ - caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/fail.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h -lexing_npic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ - caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/mlvalues.h caml/stacks.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -main_npic.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/sys.h caml/osdeps.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h -major_gc_npic.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ - caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/custom.h caml/config.h caml/fail.h \ + caml/backtrace.h caml/exec.h caml/compact.h caml/custom.h caml/fail.h \ caml/finalise.h caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h \ caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ caml/domain.h caml/freelist.h caml/gc.h caml/gc_ctrl.h caml/major_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/stack.h caml/startup_aux.h +globroots_npic.$(O): globroots.c caml/memory.h caml/config.h caml/m.h caml/s.h \ + caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/memory.h caml/globroots.h caml/roots.h +hash_npic.$(O): hash.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ + caml/custom.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/hash.h +instrtrace_npic.$(O): instrtrace.c +intern_npic.$(O): intern.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/callback.h caml/config.h caml/custom.h caml/fail.h caml/gc.h \ + caml/intext.h caml/io.h caml/io.h caml/md5.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/mlvalues.h caml/misc.h caml/reverse.h +interp_npic.$(O): interp.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/backtrace.h caml/exec.h caml/callback.h caml/debugger.h caml/fail.h \ + caml/fix_code.h caml/instrtrace.h caml/instruct.h caml/interp.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/misc.h caml/mlvalues.h caml/prims.h caml/signals.h caml/stacks.h \ + caml/memory.h caml/startup_aux.h caml/jumptbl.h +ints_npic.$(O): ints.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/custom.h \ + caml/fail.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h +io_npic.$(O): io.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ + caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/signals.h caml/sys.h +lexing_npic.$(O): lexing.c caml/fail.h caml/misc.h caml/config.h caml/m.h \ + caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/mlvalues.h caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h +main_npic.$(O): main.c caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ + caml/domain_state.tbl caml/sys.h caml/osdeps.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h +major_gc_npic.$(O): major_gc.c caml/compact.h caml/config.h caml/m.h caml/s.h \ + caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/custom.h caml/config.h caml/fail.h caml/finalise.h caml/roots.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/freelist.h \ + caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/misc.h caml/mlvalues.h \ + caml/roots.h caml/signals.h caml/weak.h md5_npic.$(O): md5.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/md5.h caml/io.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/io.h caml/reverse.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/md5.h caml/io.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/mlvalues.h caml/io.h caml/reverse.h memory_npic.$(O): memory.c caml/address_class.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/freelist.h caml/gc.h \ - caml/gc_ctrl.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ + caml/config.h caml/fail.h caml/freelist.h caml/gc.h caml/gc_ctrl.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/signals.h \ caml/memprof.h memprof_npic.$(O): memprof.c caml/memprof.h caml/config.h caml/m.h caml/s.h \ caml/mlvalues.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/alloc.h caml/callback.h \ - caml/signals.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ - caml/weak.h caml/memory.h caml/stack.h caml/misc.h -meta_npic.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/fix_code.h \ - caml/interp.h caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ + caml/fail.h caml/alloc.h caml/callback.h caml/signals.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h caml/memory.h \ - caml/debugger.h caml/backtrace_prim.h caml/backtrace.h caml/exec.h + caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/weak.h \ + caml/memory.h caml/stack.h caml/misc.h +meta_npic.$(O): meta.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/config.h \ + caml/fail.h caml/fix_code.h caml/interp.h caml/intext.h caml/io.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/prims.h caml/stacks.h \ + caml/memory.h caml/debugger.h caml/backtrace_prim.h caml/backtrace.h \ + caml/exec.h minor_gc_npic.$(O): minor_gc.c caml/custom.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/config.h caml/fail.h caml/finalise.h \ - caml/roots.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/gc.h caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h + caml/config.h caml/fail.h caml/finalise.h caml/roots.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/gc.h \ + caml/gc_ctrl.h caml/major_gc.h caml/memory.h caml/minor_gc.h caml/misc.h \ + caml/mlvalues.h caml/roots.h caml/signals.h caml/weak.h misc_npic.$(O): misc.c caml/config.h caml/m.h caml/s.h caml/misc.h caml/config.h \ caml/memory.h caml/gc.h caml/mlvalues.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/osdeps.h caml/memory.h caml/version.h + caml/domain_state.tbl caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/osdeps.h \ + caml/memory.h caml/version.h obj_npic.$(O): obj.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/gc.h caml/interp.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/prims.h caml/spacetime.h caml/io.h \ - caml/stack.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/gc.h caml/interp.h caml/major_gc.h caml/freelist.h caml/memory.h \ + caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ + caml/prims.h caml/spacetime.h caml/io.h caml/stack.h parsing_npic.$(O): parsing.c caml/config.h caml/m.h caml/s.h caml/mlvalues.h \ caml/config.h caml/misc.h caml/domain_state.h caml/mlvalues.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/alloc.h + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/alloc.h prims_npic.$(O): prims.c caml/mlvalues.h caml/config.h caml/m.h caml/s.h \ caml/misc.h caml/domain_state.h caml/mlvalues.h caml/domain_state.tbl \ - caml/compatibility.h caml/prims.h + caml/prims.h printexc_npic.$(O): printexc.c caml/backtrace.h caml/mlvalues.h caml/config.h \ caml/m.h caml/s.h caml/misc.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/exec.h caml/callback.h caml/debugger.h \ - caml/fail.h caml/misc.h caml/mlvalues.h caml/printexc.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/memprof.h + caml/exec.h caml/callback.h caml/debugger.h caml/fail.h caml/misc.h \ + caml/mlvalues.h caml/printexc.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/memprof.h roots_byt_npic.$(O): roots_byt.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/major_gc.h \ - caml/memory.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h \ - caml/stacks.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/major_gc.h caml/memory.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/roots.h caml/stacks.h roots_nat_npic.$(O): roots_nat.c caml/finalise.h caml/roots.h caml/misc.h \ caml/config.h caml/m.h caml/s.h caml/memory.h caml/gc.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/globroots.h caml/memory.h \ - caml/major_gc.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h \ - caml/roots.h + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/globroots.h caml/memory.h caml/major_gc.h \ + caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/stack.h caml/roots.h signals_npic.$(O): signals.c caml/alloc.h caml/misc.h caml/config.h caml/m.h \ caml/s.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/callback.h caml/config.h caml/fail.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/signals_machdep.h caml/sys.h caml/memprof.h caml/finalise.h \ - caml/roots.h + caml/callback.h caml/config.h caml/fail.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/roots.h \ + caml/memory.h caml/signals.h caml/signals_machdep.h caml/sys.h \ + caml/memprof.h caml/finalise.h caml/roots.h signals_byt_npic.$(O): signals_byt.c caml/config.h caml/m.h caml/s.h \ caml/memory.h caml/config.h caml/gc.h caml/mlvalues.h caml/misc.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.h caml/domain_state.tbl caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h caml/finalise.h caml/roots.h signals_nat_npic.$(O): signals_nat.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/memory.h caml/gc.h \ - caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ - caml/memprof.h caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ + caml/domain_state.tbl caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/osdeps.h caml/memory.h caml/signals.h \ caml/signals_machdep.h signals_osdep.h caml/stack.h caml/spacetime.h \ caml/io.h caml/stack.h caml/memprof.h caml/finalise.h caml/roots.h spacetime_byt_npic.$(O): spacetime_byt.c caml/fail.h caml/misc.h caml/config.h \ caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/mlvalues.h + caml/domain_state.tbl caml/mlvalues.h spacetime_nat_npic.$(O): spacetime_nat.c caml/config.h caml/m.h caml/s.h \ caml/alloc.h caml/misc.h caml/config.h caml/mlvalues.h \ - caml/domain_state.h caml/domain_state.tbl caml/compatibility.h \ - caml/backtrace_prim.h caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h \ + caml/domain_state.h caml/domain_state.tbl caml/backtrace_prim.h \ + caml/backtrace.h caml/exec.h caml/fail.h caml/gc.h caml/intext.h \ + caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ + caml/memory.h caml/roots.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h +spacetime_snapshot_npic.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ + caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ + caml/domain_state.tbl caml/backtrace_prim.h caml/backtrace.h caml/exec.h \ + caml/config.h caml/custom.h caml/fail.h caml/gc.h caml/gc_ctrl.h \ caml/intext.h caml/io.h caml/major_gc.h caml/freelist.h caml/memory.h \ caml/gc.h caml/major_gc.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/minor_gc.h caml/misc.h caml/mlvalues.h \ - caml/osdeps.h caml/memory.h caml/roots.h caml/signals.h caml/stack.h \ - caml/sys.h caml/spacetime.h caml/stack.h -spacetime_snapshot_npic.$(O): spacetime_snapshot.c caml/alloc.h caml/misc.h \ - caml/config.h caml/m.h caml/s.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace_prim.h \ - caml/backtrace.h caml/exec.h caml/config.h caml/custom.h caml/fail.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/major_gc.h \ - caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ - caml/misc.h caml/mlvalues.h caml/roots.h caml/memory.h caml/signals.h \ - caml/stack.h caml/sys.h caml/spacetime.h caml/stack.h + caml/roots.h caml/memory.h caml/signals.h caml/stack.h caml/sys.h \ + caml/spacetime.h caml/stack.h stacks_npic.$(O): stacks.c caml/config.h caml/m.h caml/s.h caml/fail.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/misc.h caml/mlvalues.h \ - caml/stacks.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h + caml/domain_state.tbl caml/misc.h caml/mlvalues.h caml/stacks.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h startup_aux_npic.$(O): startup_aux.c caml/backtrace.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/exec.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/callback.h \ - caml/major_gc.h caml/osdeps.h caml/memory.h caml/startup_aux.h + caml/domain_state.tbl caml/exec.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/callback.h caml/major_gc.h \ + caml/osdeps.h caml/memory.h caml/startup_aux.h startup_byt_npic.$(O): startup_byt.c caml/config.h caml/m.h caml/s.h caml/alloc.h \ caml/misc.h caml/config.h caml/mlvalues.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/callback.h caml/custom.h caml/debugger.h caml/domain.h \ - caml/dynlink.h caml/exec.h caml/fail.h caml/fix_code.h caml/freelist.h \ - caml/gc_ctrl.h caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h \ - caml/io.h caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h \ - caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ - caml/minor_gc.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/prims.h caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h \ - caml/sys.h caml/startup.h caml/startup_aux.h caml/version.h + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/callback.h \ + caml/custom.h caml/debugger.h caml/domain.h caml/dynlink.h caml/exec.h \ + caml/fail.h caml/fix_code.h caml/freelist.h caml/gc_ctrl.h \ + caml/instrtrace.h caml/interp.h caml/intext.h caml/io.h caml/io.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/minor_gc.h \ + caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h caml/prims.h \ + caml/printexc.h caml/reverse.h caml/signals.h caml/stacks.h caml/sys.h \ + caml/startup.h caml/startup_aux.h caml/version.h startup_nat_npic.$(O): startup_nat.c caml/callback.h caml/mlvalues.h \ caml/config.h caml/m.h caml/s.h caml/misc.h caml/domain_state.h \ - caml/domain_state.tbl caml/compatibility.h caml/backtrace.h caml/exec.h \ - caml/custom.h caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h \ - caml/gc.h caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ + caml/domain_state.tbl caml/backtrace.h caml/exec.h caml/custom.h \ + caml/debugger.h caml/domain.h caml/fail.h caml/freelist.h caml/gc.h \ + caml/gc_ctrl.h caml/intext.h caml/io.h caml/memory.h caml/gc.h \ caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ caml/memprof.h caml/domain.h caml/misc.h caml/mlvalues.h caml/osdeps.h \ caml/memory.h caml/printexc.h caml/stack.h caml/startup_aux.h caml/sys.h str_npic.$(O): str.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/mlvalues.h caml/misc.h + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ + caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ + caml/misc.h sys_npic.$(O): sys.c caml/config.h caml/m.h caml/s.h caml/alloc.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/debugger.h caml/fail.h caml/gc_ctrl.h \ - caml/io.h caml/misc.h caml/mlvalues.h caml/osdeps.h caml/memory.h \ - caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/signals.h \ - caml/stacks.h caml/sys.h caml/version.h caml/callback.h \ - caml/startup_aux.h + caml/debugger.h caml/fail.h caml/gc_ctrl.h caml/io.h caml/misc.h \ + caml/mlvalues.h caml/osdeps.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ + caml/domain.h caml/signals.h caml/stacks.h caml/sys.h caml/version.h \ + caml/callback.h caml/startup_aux.h unix_npic.$(O): unix.c caml/config.h caml/m.h caml/s.h caml/fail.h caml/misc.h \ caml/config.h caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/memory.h caml/gc.h caml/major_gc.h \ - caml/freelist.h caml/minor_gc.h caml/address_class.h caml/memprof.h \ - caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h caml/signals.h \ - caml/sys.h caml/io.h caml/alloc.h -weak_npic.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/fail.h caml/major_gc.h caml/freelist.h \ - caml/memory.h caml/gc.h caml/major_gc.h caml/minor_gc.h \ - caml/address_class.h caml/memprof.h caml/domain.h caml/mlvalues.h \ - caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h -win32_npic.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ - caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ - caml/compatibility.h caml/address_class.h caml/fail.h caml/io.h \ caml/memory.h caml/gc.h caml/major_gc.h caml/freelist.h caml/minor_gc.h \ caml/address_class.h caml/memprof.h caml/domain.h caml/misc.h \ - caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/config.h + caml/osdeps.h caml/memory.h caml/signals.h caml/sys.h caml/io.h \ + caml/alloc.h +weak_npic.$(O): weak.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl caml/fail.h \ + caml/major_gc.h caml/freelist.h caml/memory.h caml/gc.h caml/major_gc.h \ + caml/minor_gc.h caml/address_class.h caml/memprof.h caml/domain.h \ + caml/mlvalues.h caml/weak.h caml/memory.h caml/minor_gc.h caml/signals.h +win32_npic.$(O): win32.c caml/alloc.h caml/misc.h caml/config.h caml/m.h caml/s.h \ + caml/mlvalues.h caml/domain_state.h caml/domain_state.tbl \ + caml/address_class.h caml/fail.h caml/io.h caml/memory.h caml/gc.h \ + caml/major_gc.h caml/freelist.h caml/minor_gc.h caml/address_class.h \ + caml/memprof.h caml/domain.h caml/misc.h caml/osdeps.h caml/memory.h \ + caml/signals.h caml/sys.h caml/config.h diff --git a/runtime/caml/compatibility.h b/runtime/caml/compatibility.h index ee07f2411..50f93169d 100644 --- a/runtime/caml/compatibility.h +++ b/runtime/caml/compatibility.h @@ -236,9 +236,13 @@ /* **** minor_gc.c */ #define young_start (Caml_state->young_start) +#define caml_young_start (Caml_state->young_start) #define young_end (Caml_state->young_end) +#define caml_young_end (Caml_state->young_end) #define young_ptr (Caml_state->young_ptr) +#define caml_young_ptr (Caml_state->young_ptr) #define young_limit (Caml_state->young_limit) +#define caml_young_limit (Caml_state->young_limit) #define ref_table caml_ref_table #define minor_collection caml_minor_collection #define check_urgent_gc caml_check_urgent_gc @@ -256,6 +260,7 @@ /* **** roots.c */ #define local_roots (Caml_state->local_roots) +#define caml_local_roots (Caml_state->local_roots) #define scan_roots_hook caml_scan_roots_hook #define do_local_roots caml_do_local_roots diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index 9d8390be7..f74eb6b79 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -21,21 +21,15 @@ #include "misc.h" #include "mlvalues.h" -#ifndef CAML_NAME_SPACE -/* These macros are defined in compatibility.h. We undefine them to avoid name - * clashes with caml_domain_state fields. The fields are redefined at the end - * of this file. */ -#undef young_ptr -#undef young_limit -#undef young_start -#undef young_end -#undef local_roots -#endif - /* This structure sits in the TLS area and is also accessed efficiently * via native code, which is why the indices are important */ + typedef struct { +#ifdef CAML_NAME_SPACE #define DOMAIN_STATE(type, name) CAMLalign(8) type name; +#else +#define DOMAIN_STATE(type, name) CAMLalign(8) type _##name; +#endif #include "domain_state.tbl" #undef DOMAIN_STATE } caml_domain_state; @@ -56,12 +50,4 @@ CAML_STATIC_ASSERT( CAMLextern caml_domain_state* Caml_state; -#ifndef CAML_NAME_SPACE -#define young_start (Caml_state->young_start) -#define young_end (Caml_state->young_end) -#define young_ptr (Caml_state->young_ptr) -#define young_limit (Caml_state->young_limit) -#define local_roots (Caml_state->local_roots) -#endif - #endif /* CAML_STATE_H */ diff --git a/runtime/caml/memory.h b/runtime/caml/memory.h index edf8390bd..b7fdfdec9 100644 --- a/runtime/caml/memory.h +++ b/runtime/caml/memory.h @@ -36,6 +36,13 @@ extern "C" { #endif +#ifdef CAML_NAME_SPACE +#define Caml_state_field(field) Caml_state->field +#else +#define Caml_state_field(field) Caml_state->_##field +#endif + + CAMLextern value caml_alloc_shr (mlsize_t wosize, tag_t); #ifdef WITH_PROFINFO @@ -223,16 +230,16 @@ extern void caml_alloc_small_dispatch (tag_t tag, intnat wosize, int flags); CAMLassert ((wosize) >= 1); \ CAMLassert ((tag_t) (tag) < 256); \ CAMLassert ((wosize) <= Max_young_wosize); \ - Caml_state->young_ptr -= Whsize_wosize (wosize); \ - if (Caml_state->young_ptr < Caml_state->young_limit) { \ + Caml_state_field(young_ptr) -= Whsize_wosize (wosize); \ + if (Caml_state_field(young_ptr) < Caml_state_field(young_limit)) { \ Setup_for_gc; \ caml_alloc_small_dispatch((tag), (wosize), \ (track) | Alloc_small_origin); \ Restore_after_gc; \ } \ - Hd_hp (Caml_state->young_ptr) = \ + Hd_hp (Caml_state_field(young_ptr)) = \ Make_header_with_profinfo ((wosize), (tag), Caml_black, profinfo); \ - (result) = Val_hp (Caml_state->young_ptr); \ + (result) = Val_hp (Caml_state_field(young_ptr)); \ DEBUG_clear ((result), (wosize)); \ }while(0) @@ -304,7 +311,7 @@ struct caml__roots_block { */ #define CAMLparam0() \ - struct caml__roots_block *caml__frame = Caml_state->local_roots + struct caml__roots_block *caml__frame = Caml_state_field(local_roots) #define CAMLparam1(x) \ CAMLparam0 (); \ @@ -356,8 +363,8 @@ struct caml__roots_block { struct caml__roots_block caml__roots_##x; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = Caml_state->local_roots), \ - (Caml_state->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state_field(local_roots)), \ + (Caml_state_field(local_roots) = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 1), \ (caml__roots_##x.tables [0] = &x), \ @@ -368,8 +375,8 @@ struct caml__roots_block { struct caml__roots_block caml__roots_##x; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = Caml_state->local_roots), \ - (Caml_state->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state_field(local_roots)), \ + (Caml_state_field(local_roots) = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 2), \ (caml__roots_##x.tables [0] = &x), \ @@ -381,8 +388,8 @@ struct caml__roots_block { struct caml__roots_block caml__roots_##x; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = Caml_state->local_roots), \ - (Caml_state->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state_field(local_roots)), \ + (Caml_state_field(local_roots) = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 3), \ (caml__roots_##x.tables [0] = &x), \ @@ -395,8 +402,8 @@ struct caml__roots_block { struct caml__roots_block caml__roots_##x; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = Caml_state->local_roots), \ - (Caml_state->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state_field(local_roots)), \ + (Caml_state_field(local_roots) = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 4), \ (caml__roots_##x.tables [0] = &x), \ @@ -410,8 +417,8 @@ struct caml__roots_block { struct caml__roots_block caml__roots_##x; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = Caml_state->local_roots), \ - (Caml_state->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state_field(local_roots)), \ + (Caml_state_field(local_roots) = &caml__roots_##x), \ (caml__roots_##x.nitems = 1), \ (caml__roots_##x.ntables = 5), \ (caml__roots_##x.tables [0] = &x), \ @@ -426,8 +433,8 @@ struct caml__roots_block { struct caml__roots_block caml__roots_##x; \ CAMLunused_start int caml__dummy_##x = ( \ (void) caml__frame, \ - (caml__roots_##x.next = Caml_state->local_roots), \ - (Caml_state->local_roots = &caml__roots_##x), \ + (caml__roots_##x.next = Caml_state_field(local_roots)), \ + (Caml_state_field(local_roots) = &caml__roots_##x), \ (caml__roots_##x.nitems = (size)), \ (caml__roots_##x.ntables = 1), \ (caml__roots_##x.tables[0] = &(x[0])), \ @@ -463,7 +470,7 @@ struct caml__roots_block { CAMLxparamN (x, (size)) -#define CAMLdrop Caml_state->local_roots = caml__frame +#define CAMLdrop Caml_state_field(local_roots) = caml__frame #define CAMLreturn0 do{ \ CAMLdrop; \ @@ -512,16 +519,16 @@ struct caml__roots_block { #define Begin_roots1(r0) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = Caml_state->local_roots; \ - Caml_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state_field(local_roots); \ + Caml_state_field(local_roots) = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 1; \ caml__roots_block.tables[0] = &(r0); #define Begin_roots2(r0, r1) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = Caml_state->local_roots; \ - Caml_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state_field(local_roots); \ + Caml_state_field(local_roots) = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 2; \ caml__roots_block.tables[0] = &(r0); \ @@ -529,8 +536,8 @@ struct caml__roots_block { #define Begin_roots3(r0, r1, r2) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = Caml_state->local_roots; \ - Caml_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state_field(local_roots); \ + Caml_state_field(local_roots) = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 3; \ caml__roots_block.tables[0] = &(r0); \ @@ -539,8 +546,8 @@ struct caml__roots_block { #define Begin_roots4(r0, r1, r2, r3) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = Caml_state->local_roots; \ - Caml_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state_field(local_roots); \ + Caml_state_field(local_roots) = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 4; \ caml__roots_block.tables[0] = &(r0); \ @@ -550,8 +557,8 @@ struct caml__roots_block { #define Begin_roots5(r0, r1, r2, r3, r4) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = Caml_state->local_roots; \ - Caml_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state_field(local_roots); \ + Caml_state_field(local_roots) = &caml__roots_block; \ caml__roots_block.nitems = 1; \ caml__roots_block.ntables = 5; \ caml__roots_block.tables[0] = &(r0); \ @@ -562,13 +569,13 @@ struct caml__roots_block { #define Begin_roots_block(table, size) { \ struct caml__roots_block caml__roots_block; \ - caml__roots_block.next = Caml_state->local_roots; \ - Caml_state->local_roots = &caml__roots_block; \ + caml__roots_block.next = Caml_state_field(local_roots); \ + Caml_state_field(local_roots) = &caml__roots_block; \ caml__roots_block.nitems = (size); \ caml__roots_block.ntables = 1; \ caml__roots_block.tables[0] = (table); -#define End_roots() Caml_state->local_roots = caml__roots_block.next; } +#define End_roots() Caml_state_field(local_roots) = caml__roots_block.next; } /* [caml_register_global_root] registers a global C variable as a memory root From a7b5bb6f06fa3118ae26d028b34e79e26ff3ece9 Mon Sep 17 00:00:00 2001 From: David Allsopp Date: Sat, 24 Aug 2019 10:56:28 +0200 Subject: [PATCH 51/54] Propagate Caml_state_field --- runtime/caml/address_class.h | 4 ++-- runtime/caml/compatibility.h | 22 ++++++++++++---------- runtime/caml/domain_state.h | 5 +++++ runtime/caml/memory.h | 10 +--------- runtime/caml/minor_gc.h | 4 +++- runtime/caml/misc.h | 18 +++++++++--------- runtime/caml/weak.h | 2 +- 7 files changed, 33 insertions(+), 32 deletions(-) diff --git a/runtime/caml/address_class.h b/runtime/caml/address_class.h index d0d5f4949..d7d0a3563 100644 --- a/runtime/caml/address_class.h +++ b/runtime/caml/address_class.h @@ -27,8 +27,8 @@ #define Is_young(val) \ (CAMLassert (Is_block (val)), \ - (addr)(val) < (addr)Caml_state->young_end && \ - (addr)(val) > (addr)Caml_state->young_start) + (addr)(val) < (addr)Caml_state_field(young_end) && \ + (addr)(val) > (addr)Caml_state_field(young_start)) #define Is_in_heap(a) (Classify_addr(a) & In_heap) diff --git a/runtime/caml/compatibility.h b/runtime/caml/compatibility.h index 50f93169d..c63357552 100644 --- a/runtime/caml/compatibility.h +++ b/runtime/caml/compatibility.h @@ -22,6 +22,13 @@ #define caml_stat_top_heap_size Bsize_wsize(caml_stat_top_heap_wsz) #define caml_stat_heap_size Bsize_wsize(caml_stat_heap_wsz) +/* global variables moved to Caml_state in 4.10.0 */ +#define caml_young_start (Caml_state->young_start) +#define caml_young_end (Caml_state->young_end) +#define caml_young_ptr (Caml_state->young_ptr) +#define caml_young_limit (Caml_state->young_limit) +#define caml_local_roots (Caml_state->local_roots) + #ifndef CAML_NAME_SPACE /* @@ -235,14 +242,10 @@ /* **** meta.c */ /* **** minor_gc.c */ -#define young_start (Caml_state->young_start) -#define caml_young_start (Caml_state->young_start) -#define young_end (Caml_state->young_end) -#define caml_young_end (Caml_state->young_end) -#define young_ptr (Caml_state->young_ptr) -#define caml_young_ptr (Caml_state->young_ptr) -#define young_limit (Caml_state->young_limit) -#define caml_young_limit (Caml_state->young_limit) +#define young_start (Caml_state->_young_start) +#define young_end (Caml_state->_young_end) +#define young_ptr (Caml_state->_young_ptr) +#define young_limit (Caml_state->_young_limit) #define ref_table caml_ref_table #define minor_collection caml_minor_collection #define check_urgent_gc caml_check_urgent_gc @@ -259,8 +262,7 @@ #define format_caml_exception caml_format_exception /*SP*/ /* **** roots.c */ -#define local_roots (Caml_state->local_roots) -#define caml_local_roots (Caml_state->local_roots) +#define local_roots (Caml_state->_local_roots) #define scan_roots_hook caml_scan_roots_hook #define do_local_roots caml_do_local_roots diff --git a/runtime/caml/domain_state.h b/runtime/caml/domain_state.h index f74eb6b79..798a461bb 100644 --- a/runtime/caml/domain_state.h +++ b/runtime/caml/domain_state.h @@ -49,5 +49,10 @@ CAML_STATIC_ASSERT( ) * 8); CAMLextern caml_domain_state* Caml_state; +#ifdef CAML_NAME_SPACE +#define Caml_state_field(field) Caml_state->field +#else +#define Caml_state_field(field) Caml_state->_##field +#endif #endif /* CAML_STATE_H */ diff --git a/runtime/caml/memory.h b/runtime/caml/memory.h index b7fdfdec9..f1a8216a6 100644 --- a/runtime/caml/memory.h +++ b/runtime/caml/memory.h @@ -18,7 +18,7 @@ #ifndef CAML_MEMORY_H #define CAML_MEMORY_H -#ifndef CAML_NAME_SPACE +#ifndef CAML_INTERNALS #include "compatibility.h" #endif #include "config.h" @@ -36,14 +36,6 @@ extern "C" { #endif -#ifdef CAML_NAME_SPACE -#define Caml_state_field(field) Caml_state->field -#else -#define Caml_state_field(field) Caml_state->_##field -#endif - - - CAMLextern value caml_alloc_shr (mlsize_t wosize, tag_t); #ifdef WITH_PROFINFO CAMLextern value caml_alloc_shr_with_profinfo (mlsize_t, tag_t, intnat); diff --git a/runtime/caml/minor_gc.h b/runtime/caml/minor_gc.h index 44d2d50cf..4fab0405a 100644 --- a/runtime/caml/minor_gc.h +++ b/runtime/caml/minor_gc.h @@ -16,7 +16,9 @@ #ifndef CAML_MINOR_GC_H #define CAML_MINOR_GC_H - +#ifndef CAML_INTERNALS +#include "compatibility.h" +#endif #include "address_class.h" #include "config.h" diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 8b7bbbb13..06844b05c 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -409,15 +409,15 @@ extern struct caml_instr_block *caml_instr_log; /* Allocate the data block for a given name. [t] must have been declared with [CAML_INSTR_DECLARE]. */ -#define CAML_INSTR_ALLOC(t) do{ \ - if (Caml_state->stat_minor_collections >= caml_instr_starttime \ - && Caml_state->stat_minor_collections < caml_instr_stoptime){ \ - t = caml_stat_alloc_noexc (sizeof (struct caml_instr_block)); \ - t->index = 0; \ - t->tag[0] = ""; \ - t->next = caml_instr_log; \ - caml_instr_log = t; \ - } \ +#define CAML_INSTR_ALLOC(t) do{ \ + if (Caml_state_field(stat_minor_collections) >= caml_instr_starttime \ + && Caml_state_field(stat_minor_collections) < caml_instr_stoptime){ \ + t = caml_stat_alloc_noexc (sizeof (struct caml_instr_block)); \ + t->index = 0; \ + t->tag[0] = ""; \ + t->next = caml_instr_log; \ + caml_instr_log = t; \ + } \ }while(0) /* Allocate the data block and start the timer. diff --git a/runtime/caml/weak.h b/runtime/caml/weak.h index 668d51001..a62597643 100644 --- a/runtime/caml/weak.h +++ b/runtime/caml/weak.h @@ -184,7 +184,7 @@ static inline void caml_ephe_clean (value v){ }else{ Field (v, i) = child = f; if (Is_block (f) && Is_young (f)) - add_to_ephe_ref_table(Caml_state->ephe_ref_table, v, i); + add_to_ephe_ref_table(Caml_state_field(ephe_ref_table), v, i); goto ephemeron_again; } } From 7b2032b77617708890de78c1be2fa4214b6c986d Mon Sep 17 00:00:00 2001 From: David Allsopp Date: Sat, 24 Aug 2019 12:21:03 +0200 Subject: [PATCH 52/54] Update Changes --- Changes | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 0cb130d1b..a1efaea1d 100644 --- a/Changes +++ b/Changes @@ -85,8 +85,9 @@ Working version - #8713: Introduce a state table in the runtime to contain the global variables which must be duplicated for each domain in the multicore runtime. - (KC Sivaramakrishnan and Stephen Dolan review by David Allsopp, Alain Frisch, - Nicolas Ojeda Bar, Gabriel Scherer and Damien Doligez) + (KC Sivaramakrishnan and Stephen Dolan, compatibility header hacking by + David Allsopp, review by David Allsopp, Alain Frisch, Nicolas Ojeda Bar, + Gabriel Scherer and Damien Doligez) ### Tools: From fae3345930849a4670320d4289ff049f8aa9475a Mon Sep 17 00:00:00 2001 From: David Allsopp Date: Sat, 24 Aug 2019 13:00:41 +0200 Subject: [PATCH 53/54] Compatibility test --- testsuite/tests/compatibility/main.ml | 16 ++++++++++++++++ testsuite/tests/compatibility/main.reference | 1 + testsuite/tests/compatibility/ocamltests | 1 + testsuite/tests/compatibility/stub.c | 18 ++++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 testsuite/tests/compatibility/main.ml create mode 100644 testsuite/tests/compatibility/main.reference create mode 100644 testsuite/tests/compatibility/ocamltests create mode 100644 testsuite/tests/compatibility/stub.c diff --git a/testsuite/tests/compatibility/main.ml b/testsuite/tests/compatibility/main.ml new file mode 100644 index 000000000..42102ba29 --- /dev/null +++ b/testsuite/tests/compatibility/main.ml @@ -0,0 +1,16 @@ +(* TEST +modules = "stub.c" +* setup-ocamlc.byte-build-env +** bytecode +** native +* setup-ocamlc.byte-build-env +flags = "-ccopt -DCAML_NAME_SPACE" +** bytecode +** native +*) + +external retrieve_young_limit : 'a -> nativeint = "retrieve_young_limit" + +let bar = + let foo = Bytes.create 4 in + retrieve_young_limit foo diff --git a/testsuite/tests/compatibility/main.reference b/testsuite/tests/compatibility/main.reference new file mode 100644 index 000000000..3e18d56d4 --- /dev/null +++ b/testsuite/tests/compatibility/main.reference @@ -0,0 +1 @@ +v is young diff --git a/testsuite/tests/compatibility/ocamltests b/testsuite/tests/compatibility/ocamltests new file mode 100644 index 000000000..d389d1566 --- /dev/null +++ b/testsuite/tests/compatibility/ocamltests @@ -0,0 +1 @@ +main.ml diff --git a/testsuite/tests/compatibility/stub.c b/testsuite/tests/compatibility/stub.c new file mode 100644 index 000000000..cbe39bb4e --- /dev/null +++ b/testsuite/tests/compatibility/stub.c @@ -0,0 +1,18 @@ +#include +#include +#include +#include +#include +/* see PR#8892 */ +typedef char * addr; + +CAMLprim value retrieve_young_limit(value v) +{ + CAMLparam1(v); + printf("v is%s young\n", (Is_young(v) ? "" : " not")); +#ifdef CAML_NAME_SPACE + CAMLreturn(caml_copy_nativeint((intnat)caml_young_limit)); +#else + CAMLreturn(copy_nativeint((intnat)young_limit)); +#endif +} From f61bb77691897bdc978b0ec7be84fe863feedcf0 Mon Sep 17 00:00:00 2001 From: David Allsopp Date: Mon, 26 Aug 2019 17:27:35 +0200 Subject: [PATCH 54/54] Fix compatibility test recipe --- testsuite/tests/compatibility/main.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testsuite/tests/compatibility/main.ml b/testsuite/tests/compatibility/main.ml index 42102ba29..c2e207126 100644 --- a/testsuite/tests/compatibility/main.ml +++ b/testsuite/tests/compatibility/main.ml @@ -1,9 +1,9 @@ (* TEST modules = "stub.c" -* setup-ocamlc.byte-build-env +* pass ** bytecode ** native -* setup-ocamlc.byte-build-env +* pass flags = "-ccopt -DCAML_NAME_SPACE" ** bytecode ** native