转载

JRuby 9.0.0.0-pre2 发布,Ruby 的 Java 解释器

开源中国的 IT 公司开源软件整理计划介绍

JRuby 社区很高兴的宣布 JRuby 9.0.0.0-pre2 发布了:

  • 首页: http://www.jruby.org/

  • 下载地址: http://www.jruby.org/download

JRuby 9000 是全新的 JRuby 版本,经过多年的开发和大规模重构子系统后推出。

JRuby 9000 的主要新特性:

  • 兼容 Ruby 2.2

  • 基于传统编译器设计的新的优化后的运行时

  • 新的 POSIX 友好的 IO 和进程

  • 来自 MRI 的完全可移植的编码和转码逻辑

Ruby 2.2 的特性中这个版本 JRuby 尚未实现的还有:

  • Refinements (partially finished) #1062

  • Kernel#spawn close-on-exec support

  • ObjectSpace::WeakMap#each and Enumerable inclusion

  • Thread#handle_interrupt is not yet fully functional

与 Pre1 版本比较,值得关注的变化是:

  • Startup time has improved but is a tiny bit slower than 1.7.x.

  • Memory usage has improved but still a ways to go.

  • Straight-line performance has improved since pre1

  • Windows support improved, but still needs further work and testing

  • Many keyword arguments problems fixed

  • 88 issues fixed for 9.0.0.0.pre2

Truffle

JRuby 9000 包含一个开发中的支持 Truffle 语言实现框架和来自 Oracle 实验室的 Graal VM。详情请看 JRuby Wiki .

Github Issues resolved for 9.0.0.0.pre2

  • #2864 - Prepend breaks module "implementer" search

  • #2847 - JRuby not using UTF-8 for source files

  • #2846 - Psych dependency is installing non-JRuby version

  • #2842 - Hash#each_pair should be a true alias of Hash#each

  • #2840 - jrubyc blows with NPE

  • #2833 - Bad nonlocal return with re-wrapped define_method block

  • #2797 - Support respond_to_missing? in respondsTo() lookups

  • #2788 - Autoload broken by path canonicalization

  • #2787 - Returns nil instead of regex match group inside conditional

  • #2784 - rindex() fails on strings read from binary files

  • #2777 - Undefined group option during parse of mri/test_regexp.rb

  • #2776 - IR improperly masks errors in defined-guarded conditional

  • #2771 - unknown type of %string

  • #2767 - Open3.popen3 treats string command differently than MRI

  • #2766 - Open3.capture2e fails with "wrong exec option"

  • #2764 - Encoding::Converter#primitive_convert has trailing null byte

  • #2752 - JRuby doesn't define Process::Tms like MRI does

  • #2751 - Make RUBY_ENGINE_VERSION as companion to RUBY_ENGINE

  • #2736 - early return in each'd enumerator is jumping out of each and not method

  • #2726 - how do I install with Jars? Re: "deprecated. use instead jars/installer" message

  • #2716 - rb_cmpint difference from MRI

  • #2712 - Micro bench is nearly 2x slower with JIT than interp

  • #2692 - Fix for issue 2591 on master : double-quoted UTF8 hash key encoding

  • #2654 - Truffle - Compile Error until when break in case statement

  • #2652 - Truffle - Regex Parsing Error

  • #2637 - Produce a warning on private attribute accessors

  • #2636 - Fix Bignum's bitwise operations

  • #2635 - Object.const_get behaves differently from other implementations

  • #2629 - Mixed-mode execution exposes an unusual bug

  • #2627 - $stdin.tty? reports wrong value on JRuby-9.0.0.0-pre1

  • #2623 - error with bin/jruby -S gem install asd

  • #2615 - Open3 fails with ArrayStoreException after ~50 executions

  • #2598 - Unknown error in child-process gem when trying to open phantomjs browser in webdriver when running on jruby

  • #2593 - Fix IO#write frozen string issue in textmode

  • #2591 - double-quoted UTF8 hash key has the wrong encoding

  • #2589 - Fixed the errors with RubySpec

  • #2587 - simplecov triggers load error when running coverage on jruby-9.0.0.0.pre1

  • #2585 - JavaSupport refactoring API (byte-code) incompatibility with extensions

  • #2584 - Fixed arity issue with RubyMethod

  • #2583 - Make filepaths with null byte fail

  • #2581 - Error handling converting UTF-32 to UTF-8 is broken [9k] [lotus]

  • #2580 - Different Encoding behavior from all other Rubies

  • #2579 - Fix for issue 2182 on master : Struct#inspect with utf8 encode string member

  • #2578 - Binding#receiver is not implemented [9k] [lotus]

  • #2576 - Fix the bug with size with each_slice without block

  • #2574 - Parallel value assignment broken in IR builder (multi-value literals, calls, attr-assign, etc.)

  • #2570 - ClassCastException requiring minitest with JRuby 9000

  • #2569 - Fix required arguments for File.chown

  • #2568 - Exit iterator when `RubyHash#any?` short-circuits

  • #2562 - Skip block-to-proc conversion for explicit block syntax when possible

  • #2560 - Fix uninitialized usage of File::Stat

  • #2553 - Mismatch on Enumerator#size result between JRuby and MRI

  • #2547 - Dir.foreach does not allow encoding

  • #2541 - JRuby+Truffle: Keyword Arguments - "illegal recursive call"

  • #2540 - Fixed arity require in case of required keyword arguments

  • #2537 - Fix for issue 2524 on master: [BigDecimal] Loss of precision with different execution order

  • #2525 - undefined method `invoke_with_build_args' for nil:NilClass on Windows 7

  • #2524 - [bigdecimal] Loss of precision with different execution order

  • #2523 - Modified the make_wstr method so that it appends a null character.

  • #2522 - Implement pack & unpacking ipv6 address in sockaddr

  • #2521 - Require order appears to impact JRuby extensions [9k]

  • #2518 - Keyword arguments incompatibility

  • #2514 - Getting "BUG: $! and exception are not matching up" in RSpec in 9K

  • #2512 - keyword arguments incompatibilities

  • #2511 - Keyword method parameters cannot take a frozen hash

  • #2505 - IO.popen cannot run 'date' on Windows 7

  • #2500 - gem install failure on Windows

  • #2494 - Open3 fails with varying signals on 9.0.0.0.pre1

  • #2493 - Performance issue with invokedynamic + Rack + URI

  • #2492 - Implemented support for keyword and keywordrest proc /lambda parameters

  • #2491 - Minitest rails not working on 9000

  • #2489 - Proc.parameters return an empty array

  • #2486 - Implemented Enumerator#feed method

  • #2474 - truffle artifacts are not on maven central and we have a release repo in jruby-parent.pom

  • #2466 - Package Truffle stdlib files into tarball

  • #2388 - IO#ready? returns incorrect results

  • #2357 - NULL handling inconsistent with Ruby

  • #2312 - Encoding.compatible? affected by call order

  • #2210 - Fix for issue 1069 and 1390 on master: improve handling of non ascii character after backslash

  • #2185 - Bundle fails with Java::JavaLang::StackOverflowError with git-hosted gems

  • #2165 - Truffle: Kill all other threads when the main thread exits

  • #2163 - StringLiteral consumers may not be CR-aware

  • #2137 - Socket.getifaddrs returns incorrect interface list

  • #2033 - Problem with super not passing params with IR

  • #2015 - Method keyword arguments are destructive

  • #1982 - AIOOBE in ThreadContext#postYield

  • #1395 - Pre-compiled methods do not have AST available for re-compilation

  • #779 - Output unreliable from spawned processes

正文到此结束
Loading...