Commit Graph

11099 Commits (7f8019fe309b2059d66813c4b0b8abaf851ad104)

Author SHA1 Message Date
Mark Shinwell 248328024b fix stdlib dependencies for .p.cmx 2015-11-04 11:04:34 +00:00
Leo White 278efc9196 Use ignore because its less fragile than _ 2015-11-04 11:01:34 +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
Leo White 6ee0712423 Put back option in persistent struct hashtable 2015-11-04 11:01:33 +00:00
Leo White 74215da003 Fix PR6998 2015-11-04 11:01:33 +00:00
alainfrisch 10b4f8d213 Attempt to fix a probable bug introduced by GPR#156. 2015-11-03 23:09:33 +01:00
Alain Frisch a1d6739163 Merge pull request #272 from alainfrisch/unbox_classify_float
Avoid boxing floats when calling classify_float
2015-11-03 21:08:56 +01:00
alainfrisch 26c9b9007f Add a note suggesting to switch to the emulation of clasify_float as a faster alternative to calling the libc. 2015-11-03 21:07:33 +01:00
alainfrisch 6e0352187b Changelog. 2015-11-03 21:05:07 +01:00
alainfrisch 364f1cb79f Merge branch 'trunk' of github.com:ocaml/ocaml into unbox_classify_float 2015-11-03 21:03:07 +01:00
alainfrisch 1f3eac9b94 No need to use CAMLprim for native form of primitives. 2015-11-03 21:02:30 +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
Jeremie Dimino 665176d77a Switch a few externals to [@@unboxed]
Switched the following functions:
- {Nativeint,Int32,Int64}.{of,to}_float
- Int{32,64}.float_of_bits
- Int{32,64}.bits_of_float
2015-11-03 17:20:05 +00:00
Damien Doligez 15796e716c update tools/check-typo to work with git attributes instead of svn properties 2015-11-03 17:32:50 +01:00
Gabriel Scherer 9e190ed926 update Changes for GPR #276 2015-11-03 14:31:25 +01:00
Gabriel Scherer 0a33eb4da5 Merge pull request #276 from lpw25/fix-pr6972
Fix PR6972
2015-11-03 14:26:54 +01:00
Leo White bbce6c5768 Put the * back on the doc comments 2015-11-03 12:51:01 +00:00
Xavier Leroy af584b9f1b testsuite: add missing prototypes for C functions
In Suse SLES 12, gcc (by default) emits warnings for unprototyped C functions.  In conjunction with -Werror this makes the test suite unusable.

Also: in tests/unboxed-primitive-args/common.ml, fixed what looks like a harmless typo in the declaration of cleanup_float.
2015-11-03 11:45:11 +01:00
Xavier Leroy 27c467c777 byterun/ yacc/ : replace some K&R function declarations with proper prototypes. 2015-11-03 11:08:01 +01:00
Xavier Leroy 335c53bfd8 otherlibs/*unix: proper declaration of cstringvect()
Share the declaration in "unixsupport.h", and give it a full prototype.
2015-11-03 11:05:10 +01:00
Xavier Leroy 3f3d8342ac otherlibs/unix: don't use 'h_errno' as a local variable
Under Glibc, 'h_errno' is a macro that expands to a system call, like 'errno'.  Here, we just want a local variable.
2015-11-03 11:03:38 +01:00
Mark Shinwell bbd0ac54ab Changes entries for GPR#270 and GPR#271 2015-11-02 14:51:03 +00:00
Mark Shinwell e9d4dc28c7 Merge pull request #270 from mshinwell/immutable_exceptions
GPR#270: Make transl_exception_constructor generate Immutable blocks
2015-11-02 14:50:21 +00:00
Mark Shinwell b5d906778e Merge pull request #271 from mshinwell/record_mutability
GPR#271: Fix incorrect mutability flag when records are built using "with"
2015-11-02 14:48:01 +00:00
pierreweis 468a014650 Merge branch 'trunk' of ssh://github.com/ocaml/ocaml into trunk 2015-11-01 20:55:10 +01:00
Xavier Leroy 770853b3f1 z port: fix up tabs and spaces (cosmetic)
House rules.
2015-11-01 06:30:30 -05:00
Xavier Leroy 0196d724da z port: adjust instruction latencies for basic-block scheduling
The latencies are based on wild guesses for the z10.  Since newer z processors are out-of-order, basic-block scheduling could also be turned off entirely.
2015-11-01 05:51:51 -05:00
Xavier Leroy 8e8835101a z port: simplify caml_start_program (cosmetic) 2015-11-01 05:01:03 -05:00
Gabriel Scherer 2907c4971e Merge pull request #274 from yallop/changelog-order
Request that changelog entries maintain the order.
2015-10-31 17:11:21 +01:00
Jeremy Yallop 1028d0aa44 Request that changelog entries maintain the order. 2015-10-31 16:02:52 +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 99067ad1e7 z port: do not use locgr instruction for Boolean-valued comparisons
The locgr instruction is not available in z10, the baseline for this port.
Instead, generate pedestrian code with a conditional branch.
Pass -march=z10 to the assembler to enforce z10 compliance.
2015-10-31 07:34:27 -04:00
Xavier Leroy 414fc47a3c z port: simpler implementation of multiply-high-signed
Following Hacker's Delight section 8.3.
2015-10-31 06:48:29 -04:00
Xavier Leroy 89475be999 z port: round toward 0 for float -> int conversions. 2015-10-31 06:47:50 -04:00
Xavier Leroy 2cdb50009b z port: update the tests/asmcomp test 2015-10-31 06:44:21 -04:00
Xavier Leroy 1ef188e2b1 tests/asmcomp: improve the arith test
- Test multiply-high
- Less verbose output
- Use our own PRNG instead of rand()
2015-10-31 06:39:27 -04:00
Xavier Leroy 3f26d0e375 z port: reloading must preserve 2-address instructions
Without the special reloading implemented here, a 2-address instruction such as x := x + y' could be reloaded as 'x1 := x2 + y' with two different temporaries x1, x2 for x.
2015-10-30 12:17:56 -04:00
Xavier Leroy 9ff553d9ed z port: update caml_ml_bound_error
To reflect the changes to caml_c_call from commit cc9c12dff3
2015-10-30 12:16:58 -04:00
Xavier Leroy cc9c12dff3 z port: fix issue with PIC code and dynamic loading
In PIC mode, Itailcall_imm should jumpt to the PLT of the called function.

Also: use %r7 rather than %r1 to pass the function pointer argument to caml_c_call.  It can be that caml_c_call is in a different shared object than the caller.  In this case, %r0 and %r1 can be destroyed by PLT stub code, according to the ELF ABI.
2015-10-30 11:30:39 -04:00
Xavier Leroy 88fb625050 z port: revise two-address instructions and integer immediate operations
Use la/lay when possible for add immediate and sub immediate,
because these instructions support the case result <> argument.

Use 'and/or/xor immediate over low 32 bits' instructions.
Do this only if the top 32 bits of the constant are 0 (or/xor) or -1 (and).
2015-10-30 11:02:43 -04:00
Xavier Leroy 39cd68fd0d z port: use unsigned comparison for Icheckbound instructions
This avoids testing the "< 0" case separately.
2015-10-30 10:00:59 -04:00
Xavier Leroy b149f661cd z port: use 'test under mask' instruction for even/odd conditional branches
This saves one instruction.  These cond branches are heavily used by pattern-matching compilation.
2015-10-30 09:47:37 -04:00
Xavier Leroy 54ff5d0377 z port: use lghi when possible to load integer constants
lghi is 4 bytes, lgfi is 6.
2015-10-30 09:33:42 -04:00
Xavier Leroy 88fd26f63c z port: streamline the heap allocation code
Move the cold path (the one that calls the GC when alloc_ptr < alloc_limit)
as much as possible to the end of the function.

Use la and lay to produce shorter code.
2015-10-30 09:26:11 -04:00
Xavier Leroy ad3a967660 zSeries port: factor out adjustments to the stack pointer
New function emit_stack_adjust, which chooses the shortest instruction
that performs the required adjustment.

Later, this will be a good place to put cfi_adjust directives.
2015-10-30 09:00:37 -04:00
Xavier Leroy d6742ea271 zSeries port: hardcode register names (cosmetic)
In emit.mlp, write %rN and %fN directly in `...` strings, instead of going through emit_gpr and emit_fpr.

Justification: for other ports like Power, several concrete asm syntaxes for register names exist, so it makes sense to abstract over them.  This is not the case for z systems under Linux.  Plus, using the concrete syntax directly makes it easier to review emit.mlp.
2015-10-30 08:34:50 -04:00