On Tue, Dec 25 2018, Jeremy Evans <[email protected]> wrote: > Ruby 2.6.0 was released today. Release announcement is at > https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/ > > Some highlights: > > * Significant performance improvements > * JIT Compiler
A bit scary at first, but it looks like the approach is reasonably portable: dump C code to disk, compile it, and load the resulting object. > * Endless Ranges > * Function Composition Operators for Procs > * One-shot coverage > * Bundler now included > > Tested on amd64, for about 9 months starting with the first preview > release. OK to import? You could import it but, as is, it's not ready to be hooked up. It doesn't build using base-gcc (on sparc64, but you can test on amd64). You need to either force C99 support, or use the diff below. make test on sparc64: Finished tests in 7349.921578s, 2.7481 tests/s, 310.4749 assertions/s. 20198 tests, 2281966 assertions, 65 failures, 18 errors, 113 skips Lots of errors due to missing symbol '__guard_local' in the JIT tests. Thoughts?
ruby26-test-sparc64.log.gz
Description: Binary data
patches/patch-addr2line_c
--8<--
$OpenBSD$
Index: addr2line.c
--- addr2line.c.orig
+++ addr2line.c
@@ -1207,7 +1207,8 @@ di_find_abbrev(DebugInfoReader *reader, uint64_t abbre
uint64_t form = uleb128(&p);
if (!at && !form) break;
}
- for (uint64_t n = uleb128(&p); abbrev_number != n; n = uleb128(&p)) {
+ uint64_t n;
+ for (n = uleb128(&p); abbrev_number != n; n = uleb128(&p)) {
if (n == 0) {
fprintf(stderr,"%d: Abbrev Number %"PRId64" not found\n",__LINE__,
abbrev_number);
exit(1);
@@ -1555,7 +1556,8 @@ debug_info_read(DebugInfoReader *reader, int num_trace
}
/* ranges_inspect(reader, &ranges); */
/* fprintf(stderr,"%d:%tx: %x ",__LINE__,diepos,die.tag); */
- for (int i=offset; i < num_traces; i++) {
+ int i;
+ for (i=offset; i < num_traces; i++) {
uintptr_t addr = (uintptr_t)traces[i];
uintptr_t offset = addr - reader->obj->base_addr +
reader->obj->vmaddr;
uintptr_t saddr = ranges_include(reader, &ranges, offset);
-->8--
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
