summaryrefslogtreecommitdiffstats
path: root/bytecomp
AgeCommit message (Collapse)Author
2015-01-16Resolve PR#6742: remove duplicate virtual_flag information from Tstr_classJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15776 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-22exhauce PR#6367: introduce Asttypes.arg_label to encode labelled argumentsJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21minor: cut too-long linesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21PR#6475: accept -o in ocamlc when compiling C filesGabriel Scherer
(Vincent Laporte, Peter Zotov) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21PR6695: Make sure the compiler only uses ASCII string functions.Gabriel Scherer
This should cover all places involving filenames in the compiler. There are a few more paths still using Latin-1 in other ways, e.g. in ocamldoc. From: Peter Zotov <whitequark@whitequark.org> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15727 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21PR#6616: allow meaningful use of -use-runtime without -custom.Gabriel Scherer
(Peter Zotov) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15720 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Add a special syntax for index operatorsGabriel Scherer
This commit introduces a new syntax for index operators. Six core parenthesis operator are added: .(), .[], .{}, .{,}, .{,,}, .{,..,}. The .{,}/.{,,}/.{,,,} operators are defined for compatibility with the Bigarray syntax extension. Each core index operator is available in a access/assignement versions. For instance, .() is declined in * .() : index operator * .()<- : indexed assignment operator The general syntax for these index operators as implemented in the parser is index_operator::= index_operator_core [<-] From: octachron <octa@polychoron.fr> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15660 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-25correct PR#6674Luc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17specialize_comparison: also specialize bool and all-constant-constructors typesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15596 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17New primitive: caml_alloc_dummy_function ... caml_alloc_dummy_function takes ↵Gabriel Scherer
the function arity as a second argument. This new information can be used by js_of_ocaml to perform better optimization. From: Hugo Heuzard <hugo.heuzard@gmail.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15592 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17Sys: Use constant for some runtime limitations.Gabriel Scherer
It allows to have non-standard limits for non-standard runtime. ie: js_of_ocaml use 32bits integer, and can handle string much bigger than 16Mo. From: Hugo Heuzard <hugo.heuzard@gmail.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15588 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17Translcore.transl_primitive: enable type-directed optimizationsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15583 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17Typedtree: add type information to primitive coercionsGabriel Scherer
This will enable type-directed optimizations during translation of module coercions. WARNING: this breaks Typedtree representation, magic number will have to be adjusted. From: Frederic Bour <frederic.bour@lakaban.net> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15582 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17Printlambda: print array kind with array primitivesGabriel Scherer
From: Frederic Bour <frederic.bour@lakaban.net> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15581 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-07Solve PR#6646, ie avoid introducing huge jump summariesLuc Maranget
and unshared default clauses in the presence of many (>= 32) non-matched constructors. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15570 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-15merge branch 4.02 from release 4.02.0 to release 4.02.1Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14Reintegrate-merge constructors_with_record5 branch.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-04Sync with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev ↵Damien Doligez
15121) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Sync with trunk. Rebinding of inlined extension constructors with free ↵Alain Frisch
variables is not yet supported. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12first part of Benoît Vaugon's format-gadts patchGabriel Scherer
After applying this patch, you should run: make library-cross make promote-cross make partialclean make ocamlc ocamllex ocamltools and then immediately apply the following patches until the "second part of Benoît Vaugon's format+gadts patch"; the bootstrap cycle is not finished yet. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14806 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12Correct PR#6412 by ruling out sharing of LeventsLuc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14804 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09Add reset functions to make modules reentrant when used through compiler-libsFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07re-commit Leo's weak-dependencies pull requestJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05Indent + comment.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14744 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05#6318: Extend match...with with exception cases. (Patch by Jeremy Yallop, ↵Alain Frisch
backend part by A. Frisch). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14743 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-04PR#5584: merge open extensible types, extension-patch-4.0.2Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-04Add support for floating attributes in class structures and class ↵Alain Frisch
signatures. (Patch by Leo White.) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-02add the %int_as_pointer primitiveJérémie Dimino
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14726 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-02revert commit 14719Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-01weak dependencies with -trans-mod (github/ocamllabs/weak-depends ↵Mark Shinwell
45e980a,21856a7,merge) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29merge branch "safe-string"Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-22Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14657 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-15Turn more sig/str items into records. Patch from Leo White.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-14Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14587 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-12fix some of the whitespace problems in the sourceDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14582 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-10Add %loc_* primitives and corresponding values in PervasivesFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14571 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-08Suppressed some useless argument of switcher callsLuc Maranget
(lifted as a functor argument) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14559 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07Folllowup to PR#6359, great cleanup of switch actions sharing.Luc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07Keep inlined records in Typedtree and Types. Synthesize record types when ↵Alain Frisch
inserting in the environment and module components, as for labels and constructors. Following features are not supported: inline record for exceptions, GADTs, polymorphic fields. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-06PR#6270: remove need for -I directives to ocamldebug in common caseGabriel Scherer
(patch by Josh Watzman) Add absolute directory names to bytecode format for ocamldebug to use The need for a long list of -I directives makes interactively using ocamldebug a pain in the butt. Many folks have solved this with various `find` invocations or even Python wrappers, but those lead to other problems when it might include files you weren't expecting (or miss things you were). But all of this is really annoying since the tooling should be able to figure out itself, even heuristically, where your source files are -- gdb gets this right, why can't we? This patch implements one of the more important heuristics from gdb: you typically debug on the same machine you built on, so looking for the source files and built artifacts in the absolute paths where they were during compilation is a good first try. We write out absolute paths into a new structure at the beginning of the debug section and then automatically append those directories into the load path. This means mean that if you happen to be debugging on a machine where the original source and build artifacts are *not* available in their original absolute locations, things will work as before, using the standard load path mechanism. You can also explicitly use -I to prepend directories to the load path and override the defaults located by this new mechanism. I personally find this makes using ocamldebug much more pleasant :) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-04Distinguish explicitly representation of regular records and inlined records ↵Alain Frisch
with tag = 0. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-02Fix PR#6359Luc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14520 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-01Support for record arguments on exceptions.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31Rvert parts of the original commit which are not relevant with the encoding ↵Alain Frisch
approach. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31Revert "PR#6270: remove need for -I directives to ocamldebug in common case ↵Gabriel Scherer
(patch by Josh Watzman)" There seems to be a problematic interaction with backtrace collection. To test this, make world.opt cd testsuite make one DIR=tests/backtrace/ This needs to be sorted out before the patch can go in again. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31Encode record arguments into extra record declarations.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31PR#6270: remove need for -I directives to ocamldebug in common case (patch ↵Xavier Clerc
by Josh Watzman) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14507 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-28Some preparation for record arguments.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-21#PR6269 Optimized string matchingLuc Maranget
Noticed that I had to bootstrap to test on ARM, so I commit a new bootstrap compiler. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02