Changes:
- Moved
polyglot.h
into theinclude
subdirectory
New features:
- Preliminary support for bitcode produced by LLVM 8.
Changes:
- Various bug fixes.
New features:
- Support for embedded bitcode in Mach-O files.
We support bitcode in the
__bitcode
section of Mach-O object files, as well as bitcode files in an embedded xar archive in the__bundle
section of executables or dylibs.
Changes:
- Update libc++/libc++abi imports to 5.0.2 (no actual code changes).
Removed:
- Removed deprecated
truffle_*
builtin functions. - Dropped binary compatibility to bitcode compiled with very old
polyglot.h
versions (1.0.0-RC2 or older).
Bugfixes:
- Read-only globals are now allocated in read-only memory.
Changes:
- Stack traces report line numbers even if the original source file can not be found.
- Don't allow
polyglot_eval
for internal languages.
Deprecations:
- Deprecate
--llvm.sourcePath
option in favour of the more general--inspect.SourcePath
option.
New features:
- New option
--llvm.sourcePath
to specify search path for source files when debugging. - Make debugging of internal functions possible. This is disabled by default,
enable with the
--inspect.Internal
option.
Changes:
- Uncaught exceptions are now output on stderr (previously stdout).
- Hide internal functions (e.g.
_start
or__cxa_throw
) in stack traces.
No changes.
New features:
- Expert-level option
--llvm.loadC++Libraries=false
to disable automatic loading of C++ standard libraries.
New features:
- New polyglot builtin
polyglot_has_member
.
Changes:
- Removed support for implicit polyglot types for local variables
as the availability of type information is not guaranteed.
Explicit polyglot casts are now strictly required (
polyglot_as_typed
). See docs/INTEROP.md and polyglot.h for more details. - Support for IR-level tracing.
- Preliminary support for LLVM 7.
New features:
- Support for IR-level debugging.
- New polyglot cast functions for primitive array types.
- Support for function pointer members in
polyglot_as_typed
.
New features:
- Support the
__builtin_debugtrap
function based on LLVM's@llvm.debugtrap
intrinsic
Improvements:
- Support "zero-length array at end of struct" pattern when accessing polyglot values as structs.
- Improved performance of global variable access.
- Improved support for vectorized bitcode operations.
No changes.
New features:
- Dynamic polyglot cast functions
polyglot_from_typed
andpolyglot_as_typed
.
New features:
- Use dynamic linker semantics when loading multiple bitcode files.
- Support ELF files with embedded LLVM bitcode.
- Pointers to bitcode functions can now be called from other languages.
New polyglot builtins:
polyglot_eval_file
polyglot_java_type
polyglot_remove_member
polyglot_remove_array_element
polyglot_can_instantiate
polyglot_new_instance
Improvements:
- Support polyglot values in all pointer operations.
New features:
- New API for conversion of user-defined native structs from and to polyglot values.
New features:
- Support for bitcode of LLVM version 6.0.
- New API for accessing polyglot values from C (
polyglot.h
).
Changes:
- The
libc++
dependency is now optional and only required for running C++ code.libc++abi
is no longer required.