Actually detect Hotspot/OpenJDK 1.8 properly.
pass the file name to the exception factory method
make sure Psych::Syntax error is required, and raise that exception in the case of parse errors
Emitter#initialize takes optional formatting options

Manipulating the options after the emitter object is constructed will
have no impact on the emitter. If the emitter is constructed with the
options, we actually see change in the output (and fix tests).
set the exception message on allocated exceptions.

fixes test/psych/visitors/test_to_ruby.rb -n test_exception
use the path from the IO if no path is provided.

fixes test/psych/test_parser.rb -n test_syntax_error_has_path_for_io
Merge pull request #267 from tenderlove/psych

Various fixes for psych
Fix #266.

We weren't using the "real class", which has the ivar list.
Merge remote-tracking branch 'github/master'
Fix JRUBY-6851: IO#set_encoding doesn't work with Encoding object

We were setting internal, not external, for a single enc passed.
Fix JRUBY-6849

pp Object.new shows 0x0000000 instead of a unique number for each object.

MRI logic appears to want to simply reproduce their "hashy"
inspect value, but this doesn't work in JRuby due to the lack of
the "p" format for Array#unpack. Modified to use a JRuby ext to
get the identityHashCode of the object. It is not unique, but
neither is our inspect output.
* JRUBY-6852 Do not set compile mode to off on ScriptingContainer startup
Fix JRUBY-6810

YAML.load(YAML.dump(lambda{})) should raise TypeError

Proc should not define an allocator (#allocate should raise).
Fix JRUBY-6836

Strange interactions between a break statement and ensure blocks

The current compiler does an "inspection" pass over the AST to
see whether certain optimizations are possible. For the most part,
this inspection just sets a few bits on the inspector that are
used to alter compilation, but there are a few cases like non-
local flow control (e.g. a while loop with a break inside a
closure or rescue/ensure) where we actually alter the AST to
indicate there's something special. The presence of certain AST
nodes disables all optimizations, largely because those nodes are
difficult or impossible to support properly without JVM gymnastics
that make our usual set of optimizations impossible. ensure is one
such case, and the inspector disables all optimizations when an
ensure is encountered. However, it should still run the inspection
of all child nodes, since as mentioned above there are state
changes on the AST itself that still need to happen in order for
those nodes to compile properly.

I audited all places in ASTInspector where we do a hard disable()
call and made sure those locations still proceed to inspect the
downstream AST nodes, which fixes this bug and should prevent
other cases from popping up.
Fix JRUBY-6832

self is wrong in set_trace_func when raising NoMethodErrors

The default method_missing implementations still were being
framed, since they used to need that to get the name of the method
being called. However, at some point they just started to use the
name being passed through the call chain, which meant the frame
was unnecessary. The bug was caused by the fact that the binding's
self also comes from the frame, which in method_missing would be
the object against which the missing method was being called. That
caused both "self" and "s" in the bug report to point at the
String in question, since "self" came from m_m's frame and "s"
came from the caller's scopes (m_m did not get its own scope).
Removing the framing from m_m fixed the issue and did not
introduce others (since that frame was not actually being used
anymore).
Add variants of RubyObject#callInit() that take a ThreadContext
Add RubyClass#getBaseCallSite(int idx) that returns a single callsite instead of the entire array
Convert callInit() to use the init callsite, and update some usages of callInit to use the variant which takes a ThreadContext
Fix JRUBY-6845 - syslog(3) should be attached as a variadic function
Add symlink from ruby to jruby for JRUBY-6847.