On Tue, Dec 25 2018, Jeremy Evans <jer...@openbsd.org> 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