Updated CI specs to RubySpec d906aaf0.
Ivar reading only reads memory and doesn't modify
Print class name we read ivar from in JIT debugging

Make it easier to see what the class is we guard the ivar read against.
Setup self class for block based on creator info

This allows the JIT to inline ivar reads inside inlined blocks, for
example in cases like this:

def foo
  ary.each {|e| e == @bar }
end
Allow for compiled blocks to also have a receiver class

Before the additional data was either a block environment or a receiver
class, but having a receiver class is also useful for compiling blocks.
This matters for example for inlining instance variable reads if just a
block is compiled.

Improves benchmark/tiers/0/bm_vm1_ivar.rb significantly:

Before:
=== bin/rbx ===
  ivar read 58492061.6 (±3.0%) i/s -  289205872 in   4.948913s
   ivar set 41165744.5 (±2.6%) i/s -  204915000 in   4.982051s

After:
=== bin/rbx ===
  ivar read 266371814.2 (±5.6%) i/s - 1283690000 in   4.836606s
   ivar set 224551559.4 (±4.0%) i/s - 1110346272 in   4.953298s
Remove unused extra_ field
Optimize performance of Kernel#rand
Convert a bunch of tier1 benchmarks to Benchmark.ips
Add a blog post for profiling JIT-ted code with OProfile
Merge pull request #2216 from ryoqun/oprofile-blog-post-final

Add a blog post for profiling JIT-ted code with OProfile
Sort CompiledCode init code and use LLVM guard
Fix mis-aligned text
Regen'd website.
Emit block in uncommon exit path when inside an inlined block
Setup type guards for reading and writing ivars

We must ensure that the self object we see is actually of the same class
that we optimized for. These types can be different, for example for
subclasses of a certain class that might end up with a different memory
layout for variables.
Show current_module in ConstantScope#inspect
Specs for Range#last with argument.
Style improvements for Range#first specs.
Fixed Range#last for 1.9.
Fix link to Generational Gabarge Collector