Fix last failing spec for Kernel#sprintf on 1.9
Merge pull request #2267 from leocassarani/sprintf-negative-hex

Fix last failing spec for Kernel#sprintf on 1.9
Handle multibyte strings for String#insert

Fixes #2268
Add spec for String#insert and multibyte strings
Add benchmarks for Range literals and regular constructors
Use allocate + initialize path for Range.new

MRI also doesn't call Range.new, it doesn't even call Range#initialize.
So this change doesn't break anything in that sense and would still
allow a custom initialize if people would want to hack stuff.

Fixes #2214
Add a comment in the agent help for a starting point

Fixes #2197
Add support for IO.readlines(name, options) with implicit separator

This allows a call such as IO.readlines("foo", :encoding => "utf-8"),
instead of raising a Coercion error as before.
Add spec for IO.readlines with implicit separator and options Hash
Properly setup scope when doing uncommon exit and inlined blocks

This code had a hardcoded assumption that there was only one inlined
block, but there can of course be multiple. This code therefore walks up
the call chain to find the parent machine code to it can setup the scope
in the proper place.

This was causing issues where in case of an uncommon exit and multiple
inlined blocks, it would read bogus locals from another call frame.
Fix an inner method Range#can_iterate_from?

Prefer protected to private
--------------------------------------

* This method is just used by `self.each`.

Replace receiver for X19
------------------------

* `first` is gotten the `self.each`

refer
-----

  * https://github.com/rubinius/rubinius/pull/2272#discussion-diff-3778716
  * #2272
Merge pull request #2273 from kachick/fix-range-can_iterate_from

Fix an inner method Range#can_iterate_from?
Fix typo

#2273
Merge pull request #2274 from kachick/fix-range-can_iterate_from2

Fix typo
JitCompiler::generate_function shouldn't receive LLVMState as argument
Fix `MatchData#values_at` method for a range arguments

Before:
    /(.)(\d+).(\d+)/.match("$10.99").values_at(1..3)
    # => [["$", "10", "99"]]
After:
    /(.)(\d+).(\d+)/.match("$10.99").values_at(1..3)
    # => ["$", "10", "99"]
Add spec for `MatchData#values_at` with a range arguments
Merge pull request #2275 from lexmag/fix-matchdata

Fix `MatchData#values_at` method for a range arguments
Use correct conditional because 2.0 mode behaves like 1.9
Update socket for 2.0 mode and update tags