Vincent Laviron

Results 114 comments of Vincent Laviron

If I'm not mistaken, this will remove the ability to stop the debugger after the function was applied to its first argument but before it's applied to the second one....

Does the following alternate approach look realistic ? ```ocaml (* Before instrumentation *) (fun x y : t -> body) (* With current Landmark *) (fun x y : t...

> (One invariant I rely on is that `b.length = t` the inequality `b.length

> I'm not sure why there is this difference in spilling decisions, but I think that it is related to the fact that, after the join point after the conditional,...

I've digged a bit further, and found more details. Here are the basic steps leading to the segfault: - The OCaml code allocates a closure bigger than `M̀AX_YOUNG_SIZE`. This means...

> So, the mystery remains: how comes the major GC sees an uninitialized closure block? It's passed as parameter to `caml_check_urgent_gc` by `caml_alloc` ([here](https://github.com/ocaml/ocaml/blob/d98fd806573088994b0ab60de032d7d54221488f/runtime/alloc.c#L54)) and `caml_check_urgent_gc` registers it as a...

I thought about setting the start of env to the size of the block when allocating a closure with `caml_alloc`. It will get overwritten to the correct value by the...

> @dra27: If I am not mistaken, the exceptions can only be raised by OCaml code that links Effect, thus it seems fine to do the initialization only when linking...

> More precisely I was wondering whether there could be a path towards the compiler (e.g. flambda) not having to consider that any mutable field could be read or written...

My take on this issue: - When the switch cannot be compiled to a constant table, sharing constants is better. In the native backend, each lost sharing opportunity will cost...