Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 18, 2015
  1. @housel

    Merge pull request #884 from waywardmonkeys/cleanup-runtime

    housel authored
    Cleanup runtime build
  2. @waywardmonkeys
  3. @waywardmonkeys

    [run-time] Provide and use LFLAGS for linking LLVM.

    waywardmonkeys authored
    * sources/lib/run-time/ Provide PLATFORM_LFLAGS,
        LLVM_LFLAGS and LFLAGS. Use them when generating .o from .bc
        to avoid warnings about unused arguments from the CFLAGS.
  4. @waywardmonkeys

    [run-time] Do not pass -MMD when doing .bc -> .o

    waywardmonkeys authored
    -MMD is for generating dependency information which isn't needed
    when compiling a bitcode file to an object file as that dependency
    is already correctly tracked by the build system.
  5. @waywardmonkeys

    [run-time] Hide unknown attribute warnings on OS X.

    waywardmonkeys authored
    * sources/lib/run-time/
      (PLATFORM_CFLAGS): Use -Wno-unknown-attributes to hide verbose warnings
        that clang is generating due to an error in the current (7.4.2) release
        of the Boehm GC's headers. This can be removed once there is a new
        release of the Boehm GC.
  6. @waywardmonkeys

    [runtime] Fix default target on Mac OS X.

    waywardmonkeys authored
    * sources/lib/run-time/
      (all): Place near the top and have it build runtime-libraries.
        This makes sure that the all target is before any other target.
        On Mac OS X, there were some targets for the Mach exception
        handling prior to the all target.
      (runtime-libraries): Build the runtime libraries.
Commits on Apr 17, 2015
  1. @waywardmonkeys

    Update .gitignore.

    waywardmonkeys authored
    * .gitignore: Ignore newly generated files from the LLVM runtime
        build process.
  2. @waywardmonkeys

    Fix DUIM test suite issues for upcoming testworks.

    waywardmonkeys authored
    This isn't a complete fix as we have yet to sort out how we will
    handle class-test-function.
    * sources/duim/tests/core/duim-test-suite.lid: Build specification.dylan
      after everything else.
    * sources/duim/tests/core/events.dylan
      (generic test-event-class): No longer open. Fixes a warning.
    * sources/duim/tests/core/gadgets.dylan
      (generic test-gadget-class): No longer open. Fixes a warning.
    * sources/duim/tests/core/styles.dylan
      (constant-test <contrasting-color>): Make this a class-test instead
        as it is testing a class.
  3. @waywardmonkeys

    [harp] Fix typo in comment.

    waywardmonkeys authored
    * sources/harp/x86/flt-branches.dylan
      (make-flags-avail): Fix typo in comment.
Commits on Apr 16, 2015
  1. @housel

    Merge pull request #883 from waywardmonkeys/fpu-exceptions-os-x

    housel authored
    [llvm,run-time] Fix OS X x87 FPU exception handling.
  2. @waywardmonkeys

    [llvm,run-time] Fix OS X x87 FPU exception handling.

    waywardmonkeys authored
    * sources/lib/run-time/llvm-exceptions.c
      (catch_mach_exception_raise_state_identity): Handle EXC_I386_EXTERR
        the same as EXC_I386_SSEEXTERR. When compiling for the x87 FPU
        rather than SSE2 instructions, EXC_I386_EXTERR will happen when
        there is an FPU exception at run-time.
Commits on Apr 15, 2015
  1. @waywardmonkeys

    Update logging library.

    waywardmonkeys authored
    * sources/lib/logging: Update submodule. The update includes
      fixes required for an upcoming version of Testworks as well
      as API changes that were made in 2014 in revision
Commits on Apr 14, 2015
  1. @housel

    Merge pull request #880 from waywardmonkeys/move-format-to-string-par…

    housel authored
    Move format-to-string: part two
Commits on Apr 13, 2015
  1. @housel

    Merge pull request #881 from waywardmonkeys/remove-long-removed-primi…

    housel authored
  2. @waywardmonkeys


    waywardmonkeys authored
    * (BOOTSTRAP_1_PRIMITIVE_LIBS): Update to remove
      entries that are no longer valid library / registry entries.
Commits on Apr 12, 2015
  1. @waywardmonkeys
  2. @waywardmonkeys
  3. @waywardmonkeys
  4. @housel
  5. @waywardmonkeys

    [common-dylan,tests] Add test for float-invalid.

    waywardmonkeys authored
    * sources/common-dylan/tests/classes.dylan
      (class-test <arithmetic-domain-error>): New.
    * sources/common-dylan/tests/specification.dylan
      (module-spec common-extensions): Add <arithmetic-domain-error>.
  6. @waywardmonkeys

    [common-dylan] Remove explicit error check on sqrt.

    waywardmonkeys authored
    * sources/common-dylan/transcendentals.dylan
      (sqrt): Remove explicit error check for an invalid operation.
        This will cause an <arithmetic-domain-error> to be raised.
  7. @waywardmonkeys

    [llvm,rt] LLVM run-time support for float-invalid.

    waywardmonkeys authored
    * sources/lib/run-time/llvm-exceptions.c
       (primitive_reset_float_environment): Request FE_INVALID.
       (DylanFPEHandler): Handle FE_INVALID.
    * sources/dfmc/llvm-back-end/llvm-exceptions.dylan:
       (dylan-float-invalid-error): New.
    * sources/app/llvm-runtime-generator/llvm-runtime-generator.dyla
       ($runtime-referenced-functions): Add #"float-invalid".
  8. @waywardmonkeys

    [rt] Correctly set FP exception mask on FreeBSD.

    waywardmonkeys authored
    * sources/lib/run-time/x86-freebsd-exceptions.c
       (EstablishDylanExceptionHandlers): Call RestoreFPState to set
        up the initial FP exception masks correctly.
       (RestoreFPState): Request float underflow exceptions and move
        to be located before the first call site.
  9. @waywardmonkeys

    [harp] Add HARP support for float-invalid.

    waywardmonkeys authored
    * sources/harp/native-rtg/exception-handlers.dylan
       (dylan-float-invalid-error): New.
    * sources/lib/run-time/harp-support/x86-freebsd/runtime.harp,
      sources/lib/run-time/harp-support/x86-windows/runtime.obj: Update.
    * sources/lib/run-time/x86-freebsd-exceptions.c,
       (DylanFPEHandler): Handle FPE_FLTINV, invoke float-invalid().
    * sources/lib/run-time/x86-windows-exceptions.c:
       (DylanExceptionFilter): Handle EXCEPTION_FLT_INVALID_OPERATION,
        invoke float-invalid().
  10. @promovicz @waywardmonkeys

    Add runtime support for float-invalid exceptions

    promovicz authored waywardmonkeys committed
    This exception is thrown by libm functions, so it should
    be translated to conditions just like the other ones.
    * sources/dfmc/modeling/namespaces.dylan
      (&module dylan-extensions): Export float-invalid and
    * sources/dylan/float.dylan
      (float-invalid): New.
    * sources/dylan/number.dylan
      (<arithmetic-domain-error>): New.
    * sources/common-dylan/library.dylan
      (module common-extensions): Export <arithmetic-domain-error>.
  11. @housel

    Merge pull request #879 from waywardmonkeys/propagate-not-inline-to-g…

    housel authored
    Propagate not-inline to generated code
  12. @waywardmonkeys

    [common-dylan,tests] Improve fp exception test reliability.

    waywardmonkeys authored
    By using not-inline functions, we can be more sure that the compiler
    (either Dylan or the underlying LLVM or C compilers) won't optimize
    away key parts of these tests.
    * sources/common-dylan/tests/classes.dylan
      (class-test <division-by-zero-error>
       class-test <arithmetic-overflow-error>
       class-test <arithmetic-underflow-error>):
         Extract key parts of the tests into not-inline functions.
  13. @waywardmonkeys

    [dfmc] Propagate not-inline to generated code.

    waywardmonkeys authored
    When a function is flagged as not-inline in Dylan, it is useful for
    that information to be passed along to C and LLVM to prevent it from
    being inlined during code generation.
    This is particularly useful in tests where you want to prevent the
    compiler from optimizing away the thing that you're testing.
    * sources/dfmc/llvm-back-end/llvm-emit-code.dylan
      (llvm-function-attributes): New.
      (emit-code): Get function attributes and pass them along to the
    * sources/dfmc/c-back-end/c-emit-object.dylan
      (emit-lambda-interface-using-function): Pass not-inline along to
       the generated C function.
    * sources/lib/run-time/run-time.h
      (OPEN_DYLAN_NO_INLINE): New portability macro.
Commits on Apr 11, 2015
  1. @waywardmonkeys

    [dfmc-testing] no-inline -> not-inline.

    waywardmonkeys authored
    * sources/dfmc/testing/execution-tests.dylan
      (dfmc-execution-suite: tests basic, addition, contstant, variable,
       size): Corrected a typo where no-inline was specified
        instead of not-inline.
Commits on Apr 7, 2015
  1. @housel

    dfmc: Improve identification of local block exits

    housel authored
    Replace an overly simplistic criterion for identifying a local block
    exit with a more sophisticated (but still not perfect) estimate. A full
    solution would likely require performing data-flow analysis, but the DFM
    structures are poorly equipped to support this type of check.
    * sources/dfmc/flow-graph/closure.dylan
      (analyze-block): Replace the original "overly conservative" check with
       one using computations-exit-with-intervening-block?().
       exit-with-intervening-block?): New methods for identifying <block>
       computations whose exits cross other blocks.
Commits on Apr 3, 2015
  1. @housel

    Bug 7458: Fix integer overflow during debug info generation

    housel authored
    * sources/lib/llvm/llvm-debug.dylan
      (llvm-make-dbg-local-variable): Use generic arithmetic to prevent
       integer overflow for high-numbered function argument debug info.
  2. @housel

    Bug 7458: Fix variable-search raw type mismatches

    housel authored
    * sources/lib/variable-search/darwin-variable-value.dylan
      (variable-value): Fix treating <raw-machine-word> as a pointer.
    * sources/lib/variable-search/unix-variable-value.dylan:
      (variable-value): Fix treating <raw-machine-word> as a pointer.
  3. @housel

    Bug 7458: Fix primitive-machine-word-unsigned-double-shift-right

    housel authored
    * sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
      (primitive primitive-machine-word-unsigned-double-shift-right): Return
       the correct value. (Was returning the input rather than the shifted
  4. @housel

    Bug 7458: Fix local MV #rest merges and returns

    housel authored
    * sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
      (emit-local-merge-assignment): Fix determination of whether a
       <llvm-global-mv> can have #rest values or not.
      (do-emit-return on <llvm-local-mv>): Handle copying #rest values
       from a <llvm-local-mv> into the global MV area.
    * sources/dfmc/llvm-linker/llvm-linker.dylan
      ($object-extern-names): New constant listing objects that may be
       referenced from within code generated for computations without
       an entry in heap-referenced-objects.
      (emit-code-externs): Generate extern references for objects when
  5. @housel

    Bug 7458: Fix <make-closure> code emission

    housel authored
    * sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
      (emit-computation on <make-closure>): Generate the proper type
       for references to top-level methods with a dynamic signature,
       and generate a proper return value.
Something went wrong with that request. Please try again.