Commit Graph

4 Commits (master)

Author SHA1 Message Date
Nicolás Ojeda Bär 540996d21e Remove Spacetime 2020-10-08 20:28:12 +02:00
Xavier Leroy b18ac65d89
Remove Is_in_code_area and registration of code in page table (#9697)
Previously, code areas from native-code DLLs were registered in the page
table and could be queried with the Is_in_code_area macros.

Following commit e4bf109d1 (PR#9682), the runtime system no longer
queries the page table for code areas (it uses the table of code fragments
instead).

A grep through OPAM package sources shows no uses of Is_in_code_area macro
or the In_code_area flag for pages.

This commit simply removes the Is_in_code_area macro and the registration
of code areas in the page table.
2020-06-22 10:07:28 +02:00
Xavier Leroy 08e58c836e
More efficient management of code fragments (#9654)
* Introducing codefrag: a new runtime module to work with code fragments

This module collects all the operations on code fragments performed in
various places of the runtime systems.  Applies both to bytecode and
to native code.

The implementation is based on skiplists, so that "lookup fragment by
PC" and "lookup fragment by number" are efficient (logarithmic in the
number of code fragments).  "Lookup fragment by digest" remains
linear-time.

The new module also improves the handling of digests: now it is
possible to mark a code fragment as "no digest" i.e. not marshal-able.

* Use the new "codefrag" runtime module for marshaling and for the
  debugger interface

Replace the previous handling of code fragments with calls to the
functions provided by the "codefrag" runtime module.
2020-06-11 10:39:19 +02:00
Sébastien Hinderer d3e73595e5 Merge the asmrun and byterun directories into the runtime directory 2018-06-28 17:50:33 +02:00