You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
new mode flag File::SHARE_DELETE is available.
this flag means to permit deleting opened file on Windows, but currently
this affect only files opened as binary. (https://bugs.ruby-lang.org/issues/11218)
IO#advise no longer raises Errno::ENOSYS in cases where it was
detected at build time but not available at runtime. (https://bugs.ruby-lang.org/issues/11806)
Proc
Testing of Proc#call optimizations
RubyVM::InstructionSequence (May or may not be supportable in JRuby; very specific to MRI)
add the following methods as a primitive tool of iseq loader.
See sample/iseq_loader.rb for usage.
Note that loader does not have verifier so it is easy to cause
critical problem by loading modified/broken binary data.
See https://bugs.ruby-lang.org/issues/11788 for more details. (experimental feature)
ObjectSpace (objspace) (Most of these are specific to MRI and not relevant to JRuby)
ObjectSpace.count_symbols is added.
ObjectSpace.count_imemo_objects is added.
ObjectSpace.internal_class_of is added.
ObjectSpace.internal_super_of is added.
StringIO
In read-only mode, StringIO#set_encoding no longer sets the encoding
of its buffer string. Setting the encoding of the string directly
without StringIO#set_encoding may cause unpredictable behavior now.
(https://bugs.ruby-lang.org/issues/11827)
Instance variables on non-pure Ruby classes (T_DATA, T_FILE,
etc..) is less expensive to store than before. (https://bugs.ruby-lang.org/issues/11170) (We have enabled reified instance variables in this release, where up to ten variables will be represented as Java fields. There is likely more we can do here.)
All accesses to members of big Struct objects are performed in
constant-time. Previously, Struct elements beyond the first 10
10 elements used a linear scan. (https://bugs.ruby-lang.org/issues/10585) (We should do a pass over our Struct class to look for opportunities. Most operations should already be constant time. A quick exploration revealed that #[] currently still does a linear search.)
Here's the remaining checklist of changes needed to support Ruby 2.3. The original bulk was implemented in JRuby 9.1 for #3479.
This list is currently based on https://github.com/ruby/ruby/blob/v2_3_0/NEWS
Language changes
Core classes updates (outstanding ones only)
this flag means to permit deleting opened file on Windows, but currently
this affect only files opened as binary. (https://bugs.ruby-lang.org/issues/11218)
detected at build time but not available at runtime. (https://bugs.ruby-lang.org/issues/11806)
See sample/iseq_loader.rb for usage.
Note that loader does not have verifier so it is easy to cause
critical problem by loading modified/broken binary data.
See https://bugs.ruby-lang.org/issues/11788 for more details. (experimental feature)
Core classes compatibility issues (excluding feature bug fixes)
BY_HANDLE_FILE_INFORMATION.nFileIndexHigh/Low.
Stdlib updates (outstanding ones only)
Only items relevant to JRuby
of its buffer string. Setting the encoding of the string directly
without StringIO#set_encoding may cause unpredictable behavior now.
(https://bugs.ruby-lang.org/issues/11827)
Implementation improvements
Only items relevant to JRuby
including nil, true, and false. Previously, only literal strings,
symbols, integers and floats compiled to optimized case dispatch.
(https://bugs.ruby-lang.org/issues/11769) (We have implemented the Fixnum part of this in JRuby for case/when eqq calls do not cache #3513 and JRuby is super-slow to execute a big and trivial case-when statement #3672 but are missing other types that MRI optimizes).
etc..) is less expensive to store than before. (https://bugs.ruby-lang.org/issues/11170) (We have enabled reified instance variables in this release, where up to ten variables will be represented as Java fields. There is likely more we can do here.)
constant-time. Previously, Struct elements beyond the first 10
10 elements used a linear scan. (https://bugs.ruby-lang.org/issues/10585) (We should do a pass over our Struct class to look for opportunities. Most operations should already be constant time. A quick exploration revealed that
#[]
currently still does a linear search.)Optimize CGI.escapeHTML for ASCII-compatible encodings ruby/ruby#1164 (JRuby may want to follow suit if this is a commonly-called method.)
The text was updated successfully, but these errors were encountered: