Jacques Garrigue
9229b15aaa
Fix PR#6980 and remove unused Ctype.iterative_generalization
2015-11-30 13:49:30 +09:00
Gabriel Scherer
9d7ea1a9f2
Merge pull request #313 from chambart/quadratic_behavior_in_CSE
...
Prevent quadratic cases in CSE
2015-11-29 22:37:33 +01:00
Gabriel Scherer
df69745553
user-defined indexing operators: revert Changes
2015-11-29 21:01:31 +01:00
Gabriel Scherer
894d76d2f1
manual: Changes entry
2015-11-29 08:50:01 +01:00
Pierre Chambart
547ae2e2a2
Update Changes
2015-11-28 21:57:14 +01:00
Gabriel Scherer
312d977037
testsuite for formatting of hexadecimal floats
2015-11-28 19:14:08 +01:00
Vincent Laporte
abb35cbdb1
ocamlbuild: use ocamlfind to discover camlp4 path
...
and default to `+camlp4`
2015-11-27 22:04:58 +01:00
Jeremie Dimino
4ffefb4183
update Changes
2015-11-27 18:23:48 +00:00
Xavier Leroy
906558a155
PR#7038: out of memory condition in caml_io_mutex_lock
...
Check the return code of st_mutex_create so that, in particular, out-of-memory conditions cause an exception.
2015-11-27 15:33:15 +01:00
Xavier Leroy
bf87415c1c
PR#7024: in documentation of Str regular expressions, clarify what "end of line" means for "^" and "$" regexps.
2015-11-26 15:08:34 +01:00
Damien Doligez
2512b48307
arg: add changelog entry and test
2015-11-25 22:22:24 +01:00
Sergei Lebedev
9dc2b25a0e
PR#4518: change location format for reporting errors in ocamldoc
2015-11-24 00:47:31 +03:00
Alain Frisch
4788ab33d6
Merge pull request #283 from mlasson/trunk
...
Fix memory leaks in intern.c when OOM is raised
2015-11-23 13:25:34 +01:00
Gabriel Scherer
264bc665de
minor Changes: renaming whitequark
2015-11-23 10:43:03 +01:00
iguer
2b25384df5
simple sharing in maps: update Changes
2015-11-22 18:36:37 +01:00
Gabriel Scherer
5db98d0074
Merge pull request #298 from lijunsong/trunk
...
PR#6935:ocamldebug:load_printer raise uncaught exception when passing directory
2015-11-22 17:23:04 +01:00
lijunsong
99a552926e
Add an entry in Changes.
2015-11-22 07:41:45 -08:00
Marc Lasson
448d365d32
Update changelog & remove useless vertical spaces
2015-11-20 17:51:43 +01:00
Damien Doligez
274be1bdc2
remove duplicate entry for GPR#171 in Changes
2015-11-20 15:51:05 +01:00
Xavier Leroy
93735adf47
z port: dedication.
2015-11-19 17:01:06 +01:00
Xavier Leroy
32def141e5
z port: update Changes
2015-11-19 08:26:59 -05:00
Xavier Leroy
0c5e862a3e
GPR#268: Hexadecimal notation for floating-point numbers
...
Merge of branch 'hex-float'.
- Add support in byterun/floats.c for conversions between floats and strings in hex notation. We cannot rely on the C standard library here because Microsoft consistently fails at supporting hex notation as standardized in C99. Instead, the conversions are implemented from scratch.
- Add support in the lexer so that hex float literals are recognized in OCaml sources.
- Add support in formats. The ISO C99 format letters for hex floats are %a and %A, but %a is already taken. I chose %h and %H, which are rejected today as bad formats (hence no backward incompatibility) and don't mean anything in C either (h is a modifier, not a format letter).
- Add support in printf. All the trimmings are there in the implementation of %h and %H, including sign modifier and fixed precision.
- Benoit Vaugon contributed support in scanf.
Resolved conflicts:
boot/ocamlc
boot/ocamldep
boot/ocamllex
parsing/lexer.mll
2015-11-19 10:37:20 +01:00
Xavier Leroy
2641daf1fe
PR#6910 and GPR#224: extend marshaling to support data encodings beyond 4 Gb
...
- Update Changelog
- #define inline in config/m-nt.h to support MSVC (to be tested).
2015-11-19 09:59:40 +01:00
Xavier Leroy
6cd8656249
PR#7024 and GPR#295: CSE confuses +0.0 and -0.0
...
The fix consists in representing float literals by their bit patterns (int64) in the Mach and Linear intermediate languages.
A regression test was added to the test suite.
2015-11-19 09:25:02 +01:00
Thomas Refis
ce793e16ef
update Changes
2015-11-16 11:06:09 +01:00
Xavier Leroy
e7f339e6bd
Improve speed of classify_float
...
As suggested in the discussion of GPR#272:
- Do not go through fpclassify() (speedup: 2 to 3)
- Add 64-bit variant of the code (additional speedup: 10%-20%)
2015-11-15 16:43:46 +01:00
Xavier Leroy
50648ed2b7
PR#4023 and GPR#68: add Unix.sleepf and improve Unix.sleep
...
Unix.sleepf provides sleep with sub-second resolution.
Unix.sleep is implemented on top of Unix.sleepf.
If a handled signal causes the sleep to return early with an EINTR
error, catch it and restart the sleep for the remaining time.
2015-11-15 15:34:45 +01:00
Jacques Garrigue
eb0de16ee0
Fix PR#4166, PR#6959: force linking when calling external C primitives
2015-11-13 13:59:14 +09:00
Xavier Leroy
dc043a7b62
PR#6945 and GPR#227: protect Sys and Unix functions against string arguments containing the null character '\000'
...
Implementation notes:
- Based on c-cube's GPR#227 code, but many Unix functions were missing.
- For Unix.bind and Unix.connect to a PF_UNIX address, tolerate
file names whose first character is '\000': in Linux, these have
a meaning as "abstract socket addresses", and in other operating
systems, the resulting empty path name causes a EINVAL error
(tested under MacOS X).
- Very lightly tested.
- win32unix remains to be fixed.
2015-11-11 17:07:44 +01:00
Xavier Leroy
23ed29da6b
Merge branch 'trunk' of ssh://github.com/ocaml/ocaml into trunk
2015-11-11 11:40:47 +01:00
Xavier Leroy
ed0a785f02
PR#7039: Unix.getsockname returns garbage for unnamed PF_UNIX sockets.
...
Fix implemented: return ADDR_UNIX "" in this case (the file name is the empty string).
2015-11-11 11:39:10 +01:00
Xavier Leroy
b09f3ff9b1
Merge pull request #280 from mshinwell/parallel-make-fixes
...
Fix stdlib dependencies for .p.cmx
2015-11-11 10:29:59 +01:00
Gabriel Scherer
1fb2a8166c
update Changes for GPR#279
2015-11-05 16:52:03 +01:00
François Bobot
26b8189fe8
Update Changes
2015-11-05 13:09:27 +01:00
Leo White
44306923a8
Merge pull request #261 from lpw25/fix-pr6998
...
Fix PR6998
2015-11-05 11:35:55 +00:00
Jeremie Dimino
5ed4d5bb4b
add missing author in Changes
2015-11-05 10:41:13 +00:00
Jeremie Dimino
6676784f63
PR#6806: Allow type annotations before the "->" in "fun <args> -> <expr>"
...
Patch by Valentin Gatien-Baron
2015-11-05 10:41:13 +00:00
Jeremie Dimino
26657d5736
PR#6806: Syntactic sugar for type annotations on record fields
...
Add the following syntactic sugars, in both expressions and patterns:
- { f : typ = x } to mean { f = (x : typ) }
- { f : typ } to mean { f = (f : typ) }
In expressions, the type annotation can also be a coercion. For
instance: { f :> typ } to mean { f = (f :> typ) }.
Patch by Valentin Gatien-Baron
2015-11-05 10:41:13 +00:00
Jacques Garrigue
f32db119ce
Fix PR#7036: Module alias and package type equality
2015-11-05 14:20:50 +09:00
Mark Shinwell
211791a409
Changes
2015-11-04 11:09:48 +00:00
Leo White
e714e25a01
Take the P out of my name
2015-11-04 11:01:34 +00:00
Leo White
c0ea8bf779
Add Changes entry
2015-11-04 11:01:34 +00:00
alainfrisch
6e0352187b
Changelog.
2015-11-03 21:05:07 +01:00
Jérémie Dimino
8fee9d45e1
Merge pull request #277 from diml/more-unboxed-on-externals
...
Switch a few externals to [@@unboxed]
2015-11-03 17:59:21 +00:00
Jeremie Dimino
770c0531c8
Update Changes
2015-11-03 17:22:05 +00:00
Gabriel Scherer
9e190ed926
update Changes for GPR #276
2015-11-03 14:31:25 +01:00
Mark Shinwell
bbd0ac54ab
Changes entries for GPR#270 and GPR#271
2015-11-02 14:51:03 +00:00
Gabriel Scherer
6ca3ce56ee
Changes elaboration
2015-10-31 16:58:17 +01:00
Gabriel Scherer
b2e81d7800
Merge pull request #267 from yallop/faster-ifprintf
...
A more efficient implementation of ifprintf
2015-10-31 16:54:40 +01:00
Jeremy Yallop
afccdb3609
Changelog entry for PR7034.
2015-10-31 12:27:01 +00:00
Xavier Leroy
4bd9adbdc7
PR#7030: libasmrun_shared.so fails to build on SPARC Solaris
2015-10-27 18:16:08 +01:00
Gabriel Scherer
54e039901e
GPR#42: Add simpler functor type syntax
...
(Leo White)
Add support for simple functor types of the form:
S -> T
equivalent to:
functor (_ : S) -> T
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16546 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 16:24:47 +00:00
Gabriel Scherer
8afbaa5747
New representation for queues, avoiding Obj.magic
...
(Jérémie Dimino)
- use inline-records to avoid using Obj.magic while keeping
indirections to the minumum
- change the representation from a cyclic list to a simply-linked
list. The drawback is one more word per queue, but it makes the
implementation clearer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16545 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 13:39:07 +00:00
Gabriel Scherer
2d9ff61b02
Improve the code generation for if equivalent to seqand or sequor
...
(Pierre Chambart)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16544 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 13:39:05 +00:00
Gabriel Scherer
1ee366e423
Changes: rename 'octachron' into Florian Angeletti
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16541 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 12:06:36 +00:00
Xavier Leroy
6054bcb3dd
GPR#164: more efficient (branchless) implementation of Pervasives.compare
...
specialized at type 'float'.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16539 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 10:21:13 +00:00
Mark Shinwell
ca39ac766e
GPR#262: Multiple GC roots per compilation unit
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 15:16:22 +00:00
Jacques Garrigue
a335b18a45
merge branches/gadt-warnings
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16532 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 08:33:44 +00:00
Mark Shinwell
e27e699fca
GPR#173: Attributes to control inlining
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 08:18:08 +00:00
Alain Frisch
4984cd0f8f
PR#7022, GPR#259: unbox float and boxed ints earlier, avoid second pass.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-20 15:11:11 +00:00
Damien Doligez
587e2d9cbb
remove duplicate entry in Changes
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-19 15:50:12 +00:00
Damien Doligez
659615c7b1
fix PR#7003 and a few other bugs caused by misuse of Int_val
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16525 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-19 15:47:33 +00:00
Damien Doligez
be79451d83
PR#7008: Fatal error in ocamlc with empty compilation unit name
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16523 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-19 13:01:28 +00:00
Gabriel Scherer
67fcfe0104
GPR#258: add missing Changes entry
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16521 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 14:21:21 +00:00
Gabriel Scherer
41a8aa5771
PR#7012: hint when using [ 'A | 'B ] instead of [ B ]
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 13:46:02 +00:00
Gabriel Scherer
c23132d6fc
Revert "PR#7012: hint when using [ 'A | 'B ] instead of [ B ]"
...
(Sent the wrong patch version)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16518 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 13:46:00 +00:00
Gabriel Scherer
88fe01cc5b
PR#7012: hint when using [ 'A | 'B ] instead of [ B ]
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 13:42:00 +00:00
Jacques Garrigue
211888ed03
Fix PR#6907: always mark all loops...
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 15:00:46 +00:00
Jacques Garrigue
8ff158b81c
Fix PR#6954: subtleties of expansion...
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16509 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 14:03:04 +00:00
Jacques Garrigue
bea2f16ec8
Fix PR#7016: occur check must handle existing recursive types
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 10:25:08 +00:00
Alain Frisch
6335c01389
Typo.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16503 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-15 13:29:35 +00:00
Alain Frisch
a21eaeaa40
GPR#254: @ocaml.arg_on_literal_pattern attribute on constructors
...
to warn when the argument is matches against a constant pattern.
This attributes is applied on predefined exception constructors
which take an purely informational (with no stability guarantee)
message.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16502 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-15 12:30:10 +00:00
Alain Frisch
aaeda7763b
#4800 : better compilation of tuple assignment (joint work Gabriel Scherer / Alain Frisch).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16501 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-15 12:07:08 +00:00
Alain Frisch
1c6229235b
#7018 : fix missing identifier renaming during inlining.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16499 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-14 20:05:38 +00:00
Xavier Leroy
307f55ade9
PR#7013: spurious wake-up in the Event module.
...
Tentative fix, to be tested.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16490 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-11 08:55:26 +00:00
Jacques Garrigue
0a4f57d5b7
Fix PR#7012
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16489 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-10 07:22:35 +00:00
Gabriel Scherer
3fcdc06ae8
add missing LIB and INCLUDE variables from MS environment export in README
...
(Philip Daian)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16487 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:42:00 +00:00
Gabriel Scherer
e27c4df33b
Fix cross-compilation with ocamldoc enabled.
...
(Peter 'whitequark' Zotov)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:58 +00:00
Gabriel Scherer
bedb4e3ac1
Build system: fix a few hardcoded ar commands.
...
(Daniel Bünzli)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16485 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:57 +00:00
Gabriel Scherer
961622faad
Changes entry for comment translation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16484 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:55 +00:00
Gabriel Scherer
917a9c1c51
safe Stream changelog entry
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16473 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:36 +00:00
Gabriel Scherer
e60b6f423e
fleshing out the CONTRIBUTING document
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16468 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:28 +00:00
Damien Doligez
3397e7ff16
GPR#243: Faster test suite
...
(Xavier Leroy)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16466 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 15:45:37 +00:00
Jérémie Dimino
fa457b3b6a
Update Changes
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16462 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 11:12:38 +00:00
Alain Frisch
12f6a53937
GPR#250: Check for negative start element in Array.sub.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-05 09:02:05 +00:00
Jacques Garrigue
cf303fcc8b
Fix PR#6992
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-18 13:46:56 +00:00
Jacques Garrigue
f5bf4bdce1
Fix PR#6993: allow recursive types when doing unification on GADT indices
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16426 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-18 09:55:18 +00:00
Damien Doligez
b860d63145
whitespace cleanup, cut long lines, add some missing headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-11 11:58:31 +00:00
Alain Frisch
cf9002cfd8
PR#6979: better code generation in x86-32 backend for copying floats to the stack (Marc Lasson, review by Xavier Leroy).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16414 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-10 09:47:37 +00:00
Jacques Garrigue
ceb8ceca82
Fix PR#6985
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16413 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-10 02:34:04 +00:00
Jacques Garrigue
a0f6145be5
Fix PR#6944
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16412 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-09 09:17:02 +00:00
Jacques Garrigue
8873757fb1
partial fix of PR#5780
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16411 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-09 08:51:02 +00:00
Jacques Garrigue
65435149d2
Fix PR#6982
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-09 06:37:16 +00:00
Jérémie Dimino
6d334073f6
Update changelog for GPR#167
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16395 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 16:18:56 +00:00
Xavier Leroy
d55c7c8e9a
GPR#226: select higher levels of optimization for GCC and Clang when
...
compiling the run-time system and C stub code.
Also: select "gnu99" mode (= ISO C99 + GNU extensions).
Also: gcc/clang warnings are errors when in development mode.
(Turned off for release builds.)
Also: clean up and modernize the autoconf tests in config/auto-aux
(Merge of branch 'cc-optim'.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16379 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 14:47:46 +00:00
Xavier Leroy
ced9a95098
Mention the new PPC 64 bits code generator (follow-up to r16374).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 14:40:21 +00:00
Gabriel Scherer
a01ff57130
Added .dylib and .so as extensions for ocamlmklib
...
(Edgar Aroutiounian, Peter Zotov)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16373 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-22 21:54:14 +00:00
Mark Shinwell
c4e3173807
Fix GPR#233: Make CamlinternalMod.init_mod robust to optimization
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16364 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-21 14:37:11 +00:00
Gabriel Scherer
d020ae12af
Handle custom block with finalizers in deserialization. Fix PR#3612
...
(Pierre Chambart)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-16 21:23:49 +00:00
Gabriel Scherer
ceb5e0baa8
Move bytecode debug info from the OCaml heap to static allocations
...
There is currently a GC bug in the bytecode debug-info handling, due
to the fact that
void read_main_debug_info(struct debug_info *di)
is passed a internal pointer in the middle of a custom block inside
the OCaml heap. I could only observe the bug when such custom blocks
are allocated on the minor heap -- which does not happen with the
current implementation, but becomes possible after GPR#92 for example
(which let custom blocks with finalizer be allocated in the
minor heap).
This commit fixes this issue by moving debug_info chunks from the
OCaml heap to the C land, stored in a dynamic table. They are
allocated when caml_add_debug_info is called, and removed when
caml_remove_debug_info is called.
(Another approach would be to keep the debug_info inside the OCaml
heap, but make sure that there are no dangling internal pointers. See
GPR#228 for an attack of this by Mark Shinwell.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16356 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-16 20:56:12 +00:00