[dylan-lang/opendylan] b6bec3: Bug 7458: Fix primitive-function type errors in ru...
GitHub <[email protected]>
| Newsgroups | gmane.comp.lang.dylan.gwydion.cvs |
|---|---|
| Message-ID | <54f881817e808_24613fd3be16f2c032244@hookshot-fe1-cp1-prd.iad.github.net.mail> |
Branch: refs/heads/master
Home: https://github.com/dylan-lang/opendylan
Commit: b6bec30c2bae4580f11fbdb0f6f5d35900710b61
https://github.com/dylan-lang/opendylan/commit/b6bec30c2bae4580f11fbdb0f6f5d35900710b61
Author: Peter S. Housel <[email protected]>
Date: 2015-03-04 (Wed, 04 Mar 2015)
Changed paths:
M sources/common-dylan/byte-vector.dylan
M sources/common-dylan/darwin-common-extensions.dylan
M sources/common-dylan/freebsd-common-extensions.dylan
M sources/common-dylan/timers.dylan
M sources/common-dylan/unix-common-extensions.dylan
M sources/io/streams/buffer.dylan
M sources/io/unix-interface.dylan
M sources/lib/c-ffi/memory-functions.dylan
M sources/system/file-system/unix-ffi.dylan
M sources/system/file-system/unix-interface.dylan
M sources/system/unix-operating-system.dylan
Log Message:
-----------
Bug 7458: Fix primitive-function type errors in runtime code
The LLVM type system doesn't permit treating integers as pointers, or
pointers as integers, without a cast. This commit adds needed calls to
cast primitives, and removes unneeded ones.
* sources/io/unix-interface.dylan
(unix-read, unix-write): Remove unneeded cast.
* sources/system/file-system/unix-interface.dylan
(unix-file-exists?): Remove unneeded cast.
* sources/common-dylan/byte-vector.dylan
(byte-storage-address): Cast a <raw-pointer> to <raw-address>
before storing in a <machine-word>.
* sources/common-dylan/darwin-common-extensions.dylan
(darwin-sysctl): Ensure integer-as-raw is called on a value that is
known to be an <integer>. Use the proper raw type for passing a
NULL pointer. Remove some unneeded casts.
* sources/common-dylan/freebsd-common-extensions.dylan
(get-application-commandline): Ensure integer-as-raw is called on a
value that is known to be an <integer>.
* sources/common-dylan/unix-common-extensions.dylan
(write-console): Ensure integer-as-raw is called on a value that is
known to be an <integer>.
(default-random-seed): Remove unneeded cast.More primitive-* fixes.
* sources/common-dylan/timers.dylan
(with-storage): Add declarations to ensure inlining.
* sources/io/streams/buffer.dylan
(byte-storage-address, byte-storage-offset-address): Add needed casts.
* sources/io/unix-interface.dylan
(unix-read, unix-write): Remove unneeded cast.
* sources/system/file-system/unix-ffi.dylan
(dirent-name): Remove unneeded cast.
* sources/system/file-system/unix-interface.dylan
(unix-file-exists?): Remove unneeded cast.
* sources/system/unix-operating-system.dylan
(make-pipe, run-application, run-outputter, make-envp, load-library): Fix
raw type mismatches.
* sources/lib/c-ffi/memory-functions.dylan
(clear-memory!): Add a missing pointer cast.
Commit: 24d19c10aa68ee8b2cc1106c6acdbaaeccb42a24
https://github.com/dylan-lang/opendylan/commit/24d19c10aa68ee8b2cc1106c6acdbaaeccb42a24
Author: Peter S. Housel <[email protected]>
Date: 2015-03-04 (Wed, 04 Mar 2015)
Changed paths:
M sources/lib/run-time/llvm-nlx.c
Log Message:
-----------
Bug 7458: Fix personality function cleanup handling
* sources/lib/run-time/llvm-nlx.c
(__opendylan_personality_v0): Handle a call site table action entry
value of 0 as indicating that a cleanup is available.
Commit: 6e646583738cdf5a75294c47963cfebefb9ca06e
https://github.com/dylan-lang/opendylan/commit/6e646583738cdf5a75294c47963cfebefb9ca06e
Author: Peter S. Housel <[email protected]>
Date: 2015-03-04 (Wed, 04 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-ops.dylan
Log Message:
-----------
Bug 7458: Add op--{likely,unlikely}
* sources/dfmc/llvm-back-end/llvm-ops.dylan
(op--likely, op--unlikely): New utility branch optimization hint
emitter methods.
Commit: 7878b65acd3bf20dd0b73ea1718c62eb7284a71a
https://github.com/dylan-lang/opendylan/commit/7878b65acd3bf20dd0b73ea1718c62eb7284a71a
Author: Peter S. Housel <[email protected]>
Date: 2015-03-04 (Wed, 04 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
Log Message:
-----------
Bug 7458: Ensure bit-counting primitives are defined for 0
* sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
(primitive primitive-machine-word-count-low-zeros,
primitive primitive-machine-word-count-high-zeros): Mark calls to the
llvm.cttz and llvm.ctlz intrinsics as requiring that they be defined
for 0.
Commit: 9e9ede2969949aa52b987ea1799089c2b8416eda
https://github.com/dylan-lang/opendylan/commit/9e9ede2969949aa52b987ea1799089c2b8416eda
Author: Peter S. Housel <[email protected]>
Date: 2015-03-04 (Wed, 04 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
M sources/dfmc/llvm-back-end/llvm-primitives-thread.dylan
M sources/lib/run-time/llvm-posix-threads.c
M sources/lib/run-time/llvm-runtime-init.c
Log Message:
-----------
Bug 7458: Improve thread-local storage GC root handling
* sources/dfmc/llvm-back-end/llvm-primitives-thread.dylan
(%tlv-initializations, %tlv-initializations-cursor): Put in proper
sections.
(%tlv-initializations-local-cursor): New variable for recording
which TLV initializations have been performed in the current
thread.
(primitive primitive-initialize-thread-variables): New auxiliary
primitive declaration.
(op--initialize-thread-variables): New auxiliary function to ensure
that initializations have been performed.
* sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
(emit-computation on <variable-reference>): Ensure that thread-local
variables are initialized and registered as GC roots before reading.
(emit-computation on <assignment>): Ensure that thread-local
variables are initialized and registered as GC roots before writing.
(emit-computation on <definition>): Rely on
primitive-allocate-thread-variable to perform the assignent.
(emit-binding-initializer-function): Change initializer functions
to return the address of the global instead of receiving the
initialization value as an argument.
* sources/lib/run-time/llvm-posix-threads.c
(primitive_register_thread_variable_initializer): Utilize
primitive_initialize_thread_variables() to register TLV storage as
a GC root and perform the initialization assignment.
(primitive_initialize_thread_variables): New function to initialize all
TLVs (beyond the current %tlv-initializations-local-cursor watermark)
found in the %tlv-initializations vector, and register their addresses
in the current thhread as GC roots.
(deinitialize_thread_variables): New function to deregister as GC roots
the addresses in the current thread of all TLVs found in the
%tlv-initializations vector.
(trampoline): Call primitive_initialize_thread_variables and
deinitialize_thread_variables.
(primitive_initialize_current_thread): Remove TLV initialization code.
* sources/lib/run-time/llvm-runtime-init.c
(_Init_Run_Time): Remove Darwin-specific code for registering
TLV memory areas as GC roots, and call
primitive_initialize_thread_variables instead.
Commit: 7506b7f9d9892cb5fe19afb2eeacee62232ca75e
https://github.com/dylan-lang/opendylan/commit/7506b7f9d9892cb5fe19afb2eeacee62232ca75e
Author: Peter S. Housel <[email protected]>
Date: 2015-03-05 (Thu, 05 Mar 2015)
Changed paths:
M sources/dfmc/llvm-back-end/llvm-primitives-alloc.dylan
M sources/lib/run-time/collector.c
Log Message:
-----------
Bug 7458: Implement allocation tracking primitives
* sources/dfmc/llvm-back-end/llvm-primitives-alloc.dylan
(runtime-variable %allocation-count): New thread-local runtime variable.
(primitive primitive-allocation-count,
primitive primitive-initialize-allocation-count): Fill in implementation.
* sources/lib/run-time/collector.c
(update_allocation_counter): Declare and update %allocation-count.
Compare: https://github.com/dylan-lang/opendylan/compare/f597d967b087...7506b7f9d989
_______________________________________________
chatter mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/chatter