Skip to content

Wish: configure ocaml so that old caml_modify is used #6084

Description

@vicuna

Original bug ID: 6084
Reporter: gerd
Status: closed (set by @xavierleroy on 2015-12-11T18:23:57Z)
Resolution: fixed
Priority: normal
Severity: feature
Fixed in version: 4.01.0+dev
Category: runtime system and C interface
Monitored by: @gasche @hcarty @yakobowski @alainfrisch

Bug description

This actually refers to the upcoming 4.01 version: Apparently, caml_modify was recently changed in the svn tree so that no out-of-heap values are supported anymore. I guess this gives better performance, as the page table lookup can be avoided. So far I understand the new code, the avoided Is_in_heap check makes it impossible to have out-of-heap values (i.e. neither in the minor nor the major heap).

I have a siginificant code base using out-of-heap values for managing shared memory, and it is non-trivial to change it so that it complies again to the rules (which will require some form of alternate code generator). This is not impossible, but I need some time to do it, and it would be nice to have a configure-time option for building ocaml with the old caml_modify behavior (maybe "-out-of-heap-values"), in order to smoothen the transition.

Steps to reproduce

The patch changing caml_modify: http://caml.inria.fr/cgi-bin/viewvc.cgi?view=revision&revision=13723

Additional information

This affects Netmulticore (a multi-processing manager supporting shared memory), and software using it, e.g. Plasma Map/Reduce.

I'd happily provide a patch if the suggestion is accepted.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions