[dylan-lang/opendylan] cbd9d4: Linux: Fix linking HARP output using Clang
GitHub <[email protected]>
| Newsgroups | gmane.comp.lang.dylan.gwydion.cvs |
|---|---|
| Message-ID | <54fe75f7bf467_3053fe24042f2b810971f@hookshot-fe3-cp1-prd.iad.github.net.mail> |
Branch: refs/heads/master
Home: https://github.com/dylan-lang/opendylan
Commit: cbd9d40c1ea8b25b8e06d02412cc0374f3c39e2d
https://github.com/dylan-lang/opendylan/commit/cbd9d40c1ea8b25b8e06d02412cc0374f3c39e2d
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/jamfiles/posix-build.jam
Log Message:
-----------
Linux: Fix linking HARP output using Clang
* sources/jamfiles/posix-build.jam (LINKFLAGSDLL, LINKFLAGSEXE): Specify
link scripts using -Wl,-T since Clang doesn't handle directly
supplying the -T.
Commit: b8582cebdc514703a3c937619be266cbe9158080
https://github.com/dylan-lang/opendylan/commit/b8582cebdc514703a3c937619be266cbe9158080
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/lib/run-time/collector.c
Log Message:
-----------
Bug 7458: Don't include HARP exception runtime
* sources/lib/run-time/collector.c: Don't include exception.c when
building the LLVM run-time.
Commit: ca31d125c506be1563d617b23781568ae8fa689d
https://github.com/dylan-lang/opendylan/commit/ca31d125c506be1563d617b23781568ae8fa689d
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/app/llvm-runtime-generator/llvm-runtime-generator.dylan
M sources/dfmc/llvm-back-end/llvm-back-end.lid
A sources/dfmc/llvm-back-end/llvm-exceptions.dylan
Log Message:
-----------
Bug 7458: Add arithmetic exception handlers
* sources/dfmc/llvm-back-end/llvm-exceptions.dylan: New file
containing definitions for arithmetic exception handling auxiliary
runtime primitives.
* sources/dfmc/llvm-back-end/llvm-back-end.lid:
Reference llvm-exceptions.dylan.
* sources/app/llvm-runtime-generator/llvm-runtime-generator.dylan
($runtime-referenced-functions): Add Dylan library exception
handling functions to the list of functions referenced within the
generated runtime.
Commit: b47008e6374cf41fcc5a7c4891d4a1996b6b76d1
https://github.com/dylan-lang/opendylan/commit/b47008e6374cf41fcc5a7c4891d4a1996b6b76d1
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-exceptions.dylan
M sources/lib/run-time/Makefile.in
A sources/lib/run-time/llvm-exceptions.c
M sources/lib/run-time/llvm-posix-threads.c
M sources/lib/run-time/llvm-runtime-init.c
M sources/lib/run-time/llvm-runtime.h
Log Message:
-----------
Bug 7458: Trap arithmetic exceptions on Linux and FreeBSD
* sources/dfmc/llvm-back-end/llvm-exceptions.dylan
(primitive-reset-float-environment): New auxiliary C primitive
definition.
(dylan-float-divide-by-0-error, dylan-float-overflow-error,
dylan-float-underflow-error): Call primitve-reset-float-environment
to reset the floating point exception state before invoking
error handling code.
* sources/lib/run-time/llvm-exceptions.c: New source file with
exception handling code for Linux and FreeBSD.
(primitve_reset_float_environment, SetIP, DylanFPEHandler,
DylanSEGVHandler, EstablishDylanExceptionHandlers,
RemoveDylanExceptionHandlers): New functions.
* sources/lib/run-time/Makefile.in (LLVM_RUNTIME_OBJS): Reference
llvm-exceptions.c
* sources/lib/run-time/llvm-runtime.h: Declare
EstablishDylanExceptionHandlers and RemoveDylanExceptionHandlers.
* sources/lib/run-time/llvm-runtime-init.c
(_Init_Run_Time): Call EstablishDylanExceptionHandlers.
* sources/lib/run-time/llvm-posix-threads.c (trampoline):
Call EstablishDylanExceptionHandlers and RemoveDylanExceptionHandlers.
Commit: 41b61c7f44f5625cda721588ec746c1b2e56021f
https://github.com/dylan-lang/opendylan/commit/41b61c7f44f5625cda721588ec746c1b2e56021f
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
M sources/dfmc/llvm-back-end/llvm-emit-type-check.dylan
M sources/dfmc/llvm-back-end/llvm-entry-points.dylan
M sources/dfmc/llvm-back-end/llvm-primitives-basic.dylan
Log Message:
-----------
Bug 7458: Add branch prediction for error checks
* sources/dfmc/llvm-back-end/llvm-emit-type-check.dylan
(do-emit-type-check): Add branch prediction hints for type
check errors.
* sources/dfmc/llvm-back-end/llvm-entry-points.dylan
(apply-mep, xep, rest-xep, rest-key-xep, gf-xep, gf-optional-xep,
op--slotacc-xep, implicit-keyed-single-method,
boxed-repeated-instance-slot-getter,
boxed-repeated-instance-slot-setter,
raw-byte-repeated-instance-slot-getter,
raw-byte-repeated-instance-slot-setter): Add branch prediction
hints for argument count and other errors.
* sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
(emit-computation on <slot-value>): Add branch prediction for
unbound slot checks.
* sources/dfmc/llvm-back-end/llvm-primitives-basic.dylan
(primitive primitive-slot-value): Add branch prediction for unbound
slot checks.
Commit: e29001d7afb5c7c26619e1e78cb8382fe1bbcf1e
https://github.com/dylan-lang/opendylan/commit/e29001d7afb5c7c26619e1e78cb8382fe1bbcf1e
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
Log Message:
-----------
Bug 7458: Fix primitive-machine-word-shift-left-signal-overflow
* sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
(primitive primitive-machine-word-shift-left-signal-overflow): Change
left shift overflow detection to match the method used by
primitive-machine-word-shift-left-with-overflow.
Commit: be1a03bc68b667bbefa6f89f42e48205efa9fc6e
https://github.com/dylan-lang/opendylan/commit/be1a03bc68b667bbefa6f89f42e48205efa9fc6e
Author: Peter S. Housel <[email protected]>
Date: 2015-03-09 (Mon, 09 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-ops.dylan
M sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
M sources/dfmc/llvm-linker/llvm-linker.dylan
Log Message:
-----------
Bug 7458: Implement op--overflow-trap for non-x86
* sources/dfmc/llvm-back-end/llvm-ops.dylan
(op--overflow-trap): On platforms other than 32-bit x86, implement the
overflow trap by calling machine-word-overflow()
directly. Incorporate the unreachable instruction directly into the op.
* sources/dfmc/llvm-linker/llvm-linker.dylan
($code-extern-names): Ensure that machine-word-overflow is referenced
as an extern.
* sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
(primitive primitive-machine-word-add-signal-overflow,
primitive primitive-machine-word-subtract-signal-overflow,
primitive primitive-machine-word-multiply-signal-overflow,
primitive primitive-machine-word-negative-signal-overflow,
primitive primitive-machine-word-abs-signal-overflow,
primitive primitive-machine-word-shift-left-signal-overflow): Adapt
to the moving of the basic block end (via ins--unreachable) into
op--overflow-trap().
Compare: https://github.com/dylan-lang/opendylan/compare/848b9a751ba1...be1a03bc68b6
_______________________________________________
chatter mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/chatter