[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.