[Truffle] Tidy up some exception stuff.
[Truffle] Correct implementations of div and mod.
1.9 timeframe semantic change where non-special nodes are just expression and are not evaluated
Implement 1.9+ defined? ARRAY
Should be a constant string literal
[Truffle] Use existing nodes for the dup and push sometimes involved in an argument splat.
[Truffle] Clear Hash#values with small linear storage for fast path.
Death to rubyclass stack: Part 1 of 2

* When methods are defined, aliased, undefined, the runtime has to
  determine the method container that is affected by the changes.

  Thus far, this was done by manipulating a rubyclass stack that
  is updated at several places in the runtime and weaves its way
  through frame, binding, yield, instance/module/binding evals,
  and is updated on every call.

* This patch implements a fairly straightforward algorithm for
  determining the method container at the time it is needed by
  examining the contents of the lexical scoping tree starting at
  the scope where the method is manipulated. This examination is
  affected by runtime flags set on lexical scopes (always blocks)
  based on whether any of them are being executed in the context of
  instance/module/binding evals. There are couple special cases to
  this algorithm. Nevertheless, it is far more straightforward and
  easy to grok than the existing runtime implementation.

  In this patch, the rubyclass stack manipulation code is turned off
  in ThreadContext.java but the rubyclass stack and its traces in
  the various parts of the runtime are left behind.

  The algorithm relies on annotation of block scopes when they are
  being executed in the context of evals. The bulk of this patch
  involves setting up these annotations in RubyModule, RubyObject,
  RubyBasicObject and passing them to DynamicScope via Block, BlockBody,
  IRBlockBody, and InterpretedIRBlockBody.

  The algorithm also relies on annotation of static scopes with the
  IR scope type. The other bulk of this patch is in setting up those
  annotations on IR static scopes.

* The algorithm itself is in ir/runtime/IRRuntimeHelpers.java
  - findInstanceMethodContainer(..)

  It is easy to split this up into static/dynamic since there are
  scenarios where the container is statically determined. But, there
  is no real benefit that we foresee from the static resolution
  scenarios, and the algorithm is simpler the way it is currently
  coded up.

* This passes all MRI tests and Rubyspecs plus other contrived
  tests (they need cleaning up -- will probably add them in a later
  patch).
Death to rubyclass stack: Part 2 of 2

* This patch builds on the previous commit and eliminates all
  traces of rubyclass stack from the codebase.

  - Remove the push/pop/get from thread-context and use sites.
  - Removed klass arg from method calls.

* TODO: embed used to inject values into the current-module obtained
  from the rubyclass stack. That code needs investigation.

* Replaced the hacky if (klass==null) prepareSelf(binding) calls
  with information about actual execution context. The primary reason
  to use binding.self instead of self argument in blocks is when
  the block is being used in a binding-eval context. The same soln.
  is applicable in other contexts where this pattern was used (and
  currently marked with SSS FIXME annotations in code comments).

* All tests continue to pass.
Urgh! Committing missing EvalType.java file
Merge branch 'master' of jruby.org:jruby
Fix test broken by rubyclass stack removal - I think.
Fix ServerSocket#accept_nonblock to return a correct Sockaddr

ServerSocket#accept_nonblock should return a Sockaddr with the remote port, not the local port.

This closes #1777
[Truffle] Clear some more hash stuff for compilation.
[Truffle] Off by one in small hash size when pushing.
[Truffle] Fasters paths for some array stuff.
Merge pull request #1766 from k77ch7/GH-1745

Fix for issue #1695 ; DateTime#jd’ should return chronological Julian day number
Merge branch 'jruby-1_7' into master

Conflicts:
	core/pom.xml
	core/src/main/java/org/jruby/RubyInstanceConfig.java
	docs/man/pom.xml
	docs/pom.xml
	ext/openssl/lib/jopenssl18/openssl/bn.rb
	ext/openssl/lib/jopenssl18/openssl/buffering.rb
	ext/openssl/lib/jopenssl18/openssl/cipher.rb
	ext/openssl/lib/jopenssl18/openssl/config.rb
	ext/openssl/lib/jopenssl18/openssl/digest.rb
	ext/openssl/lib/jopenssl18/openssl/pkcs7.rb
	ext/openssl/lib/jopenssl18/openssl/ssl-internal.rb
	ext/openssl/lib/jopenssl18/openssl/ssl.rb
	ext/openssl/lib/jopenssl18/openssl/x509-internal.rb
	ext/openssl/lib/jopenssl18/openssl/x509.rb
	ext/openssl/lib/jopenssl19/openssl.rb
	ext/openssl/lib/jopenssl19/openssl/bn.rb
	ext/openssl/lib/jopenssl19/openssl/cipher.rb
	ext/openssl/lib/jopenssl19/openssl/digest.rb
	ext/openssl/lib/jopenssl19/openssl/ssl-internal.rb
	ext/openssl/lib/jopenssl19/openssl/ssl.rb
	ext/openssl/lib/jopenssl19/openssl/x509-internal.rb
	ext/openssl/lib/jopenssl19/openssl/x509.rb
	ext/openssl/lib/jopenssl21/openssl.rb
	ext/openssl/lib/jopenssl21/openssl/bn.rb
	ext/openssl/lib/jopenssl21/openssl/buffering.rb
	ext/openssl/lib/jopenssl21/openssl/config.rb
	ext/openssl/lib/jopenssl21/openssl/digest.rb
	ext/openssl/lib/jopenssl21/openssl/ssl.rb
	ext/openssl/lib/openssl/bn.rb
	ext/openssl/lib/openssl/buffering.rb
	ext/openssl/lib/openssl/cipher.rb
	ext/openssl/lib/openssl/config.rb
	ext/openssl/lib/openssl/digest.rb
	ext/openssl/lib/openssl/pkcs7.rb
	ext/openssl/lib/openssl/ssl-internal.rb
	ext/openssl/lib/openssl/ssl.rb
	ext/openssl/lib/openssl/x509-internal.rb
	ext/openssl/lib/openssl/x509.rb
	ext/openssl/pom.xml
	ext/openssl/src/main/java/org/jruby/ext/openssl/ASN1.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/Attribute.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/BN.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/BouncyCastlePEMHandler.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/Cipher.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/Digest.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/HMAC.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/NetscapeSPKI.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/OSSLLibrary.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/OpenSSLImpl.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/OpenSSLReal.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/PEMHandler.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/PKCS7.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/PKey.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/PKeyDH.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/PKeyDSA.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/PKeyRSA.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/Random.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/Request.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/SSL.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/SSLContext.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/SSLSocket.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/Utils.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509CRL.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509Cert.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509Extensions.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509Name.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509Revoked.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509Store.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/X509StoreCtx.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/ASN1Registry.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/EVP.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/Envelope.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/PKCS10Request.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/PKCS7.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/PKey.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/RecipInfo.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/SMIME.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/Signed.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/impl/SignerInfoWithPkey.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Certificate.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Function0.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Function1.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Function2.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Function3.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Function4.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Function5.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Lookup.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/LookupMethod.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Name.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/PEMInputOutput.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Purpose.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Store.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/StoreContext.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/Trust.java
	ext/openssl/src/main/java/org/jruby/ext/openssl/x509store/X509AuxCertificate.java
	ext/pom.xml
	ext/readline/pom.xml
	ext/ripper/pom.xml
	lib/pom.rb
	lib/pom.xml
	lib/ruby/1.9/date.rb
	maven/jruby-complete/pom.xml
	maven/jruby-dist/pom.xml
	maven/jruby-jars/pom.xml
	maven/jruby-jars/src/it/helloworld/pom.xml
	maven/jruby-noasm/pom.xml
	maven/jruby-rake-plugin/pom.xml
	maven/jruby-stdlib/pom.xml
	maven/jruby/pom.xml
	maven/pom.xml
	pom.xml
	spec/ffi/managed_struct_spec.rb
	spec/ffi/spec_helper.rb
	spec/regression/gh-801_date_inspect_spec.rb
	test/externals/ruby1.9/openssl/test_integration.rb
	test/externals/ruby1.9/openssl/test_x509cert.rb
	test/pom.xml
use right JODA method to calculate Julian day number
SClass with no body is not adding return nil instruction