<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>ff082abcfebb4a76c620f26d2691814a4408fb57</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/cc0452270d0b302ab4cdd4c8522d124c9837678b</url>
    <id>cc0452270d0b302ab4cdd4c8522d124c9837678b</id>
    <committed-date>2009-12-16T18:08:32-08:00</committed-date>
    <authored-date>2009-12-16T15:50:46-08:00</authored-date>
    <message>Moved spec/frozen to spec/ruby. See below.

To simplify working with specs in Rubinius, changes to specs should be
committed in separate commits to the appropriate files in ./spec/ruby.
These changes will be regularly pushed to the RubySpec project. Changes
to RubySpec are regularly sync'd with the files in ./spec/ruby.

The rake tasks for cloning RubySpec inside the Rubinius project have
been removed.</message>
    <tree>bc7491a6e013ef23dbf05290207c89fdbe0d18da</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3e593f90edf4a1b622e366dd5a0be4e39e020d19</id>
      </parent>
    </parents>
    <author>
      <name>Wilson Bilkovich</name>
      <email>wilson@supremetyrant.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/750f10d011ea7d12fea0aabe0473497de269331b</url>
    <id>750f10d011ea7d12fea0aabe0473497de269331b</id>
    <committed-date>2009-12-15T19:08:58-08:00</committed-date>
    <authored-date>2009-12-15T19:08:58-08:00</authored-date>
    <message>Hide a tasty MOP tidbit in the glossary</message>
    <tree>f3659d7f39b96ee7b33450c23092cfc8222ac3b0</tree>
    <committer>
      <name>Wilson Bilkovich</name>
      <email>wilson@supremetyrant.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ddc3c3e35258a9e6a34ee89e4f65b724ac5361d4</id>
      </parent>
    </parents>
    <author>
      <name>Eero Saynatkari</name>
      <email>esaynatkari@attinteractive.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/13e9ab6230a2fbfd0a5ac843b99fd832dfde9865</url>
    <id>13e9ab6230a2fbfd0a5ac843b99fd832dfde9865</id>
    <committed-date>2009-12-11T04:55:29-08:00</committed-date>
    <authored-date>2009-12-11T04:55:29-08:00</authored-date>
    <message>Added note about &quot;developer mode&quot; for crash reporter.</message>
    <tree>d9820b284ef6f6e7000c0f6312a4913f8cf20d3c</tree>
    <committer>
      <name>Eero Saynatkari</name>
      <email>esaynatkari@attinteractive.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d7f2b977f1c1a0223bb6aac4c08e797f22d0bf84</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/17ba3573d1b0d1a9a5a975d4834be4f70a3967ed</url>
    <id>17ba3573d1b0d1a9a5a975d4834be4f70a3967ed</id>
    <committed-date>2009-11-25T11:10:11-08:00</committed-date>
    <authored-date>2009-11-25T11:10:11-08:00</authored-date>
    <message>Updated install instructions.</message>
    <tree>410276d56d98127c9f6a054283b8a4bcf2a734a3</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>2ff9728eea9427126764578d1fbcb6d7bd54c259</id>
      </parent>
    </parents>
    <author>
      <name>Will Leinweber</name>
      <email>will@bitfission.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/d861153ac160a3ffcac97b6684f95301badb2908</url>
    <id>d861153ac160a3ffcac97b6684f95301badb2908</id>
    <committed-date>2009-11-16T16:06:32-08:00</committed-date>
    <authored-date>2009-11-15T22:25:27-08:00</authored-date>
    <message>Documentation patch * remove compiler from bootstrapping guide * add more detailed information on some of the bootstrapping stages * rename subtend to capi in most of the docs ** except the example in rubinius_spec.txt

Signed-off-by: Brian Ford &lt;bford@engineyard.com&gt;</message>
    <tree>9a21d807781c4e30c440b57b9e8011fed39d1b71</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>75246022d9a48c19c92f4bb67e5959870f65eb40</id>
      </parent>
    </parents>
    <author>
      <name>Markus Prinz</name>
      <email>markus.prinz@nuclearsquid.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/11923e8ebe2db2793065bdabbc5bd3442316e807</url>
    <id>11923e8ebe2db2793065bdabbc5bd3442316e807</id>
    <committed-date>2009-11-04T18:43:38-08:00</committed-date>
    <authored-date>2009-10-28T14:21:02-07:00</authored-date>
    <message>You have to run ./configure before running rake when compiling Rubinius for the first time

closes #63.

Signed-off-by: Brian Ford &lt;bford@engineyard.com&gt;</message>
    <tree>20210eb20b4eaf81e0d808518e7a59777baa6c32</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>751deeffba5e585677e02e59e2450e6244a77f31</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/e59317e6ac321b901ee3bc6f25ebbed9b774cf09</url>
    <id>e59317e6ac321b901ee3bc6f25ebbed9b774cf09</id>
    <committed-date>2009-11-02T12:29:44-08:00</committed-date>
    <authored-date>2009-10-31T16:34:52-07:00</authored-date>
    <message>Revert varint changes to .rbc format. See below.

This commit reverts 0322ef88 and e5aee277.

There are several issues with the &quot;packed int&quot; approach to the .rbc
file format:

1. It requires additional complexity. While the complexity is not
   significant, it still needs to pay for itself by either reducing
   complexity somewhere else, or performing better. It does neither.
2. It requires code that is used nowhere else. This means that normal
   code is not used and this use case doesn't exert pressure on
   improving the performance of normal code.
3. The approach is ad hoc. If there is a demonstrated need to compress
   the size of the .rbc files, an appropriate solution is to add a
   standard compression algorithm and a configuration switch to enable
   compression in situations that need it. No such need has been
   demonstrated at this point.
4. The code performs poorly compared to simple String#to_i and Fixnum
   or Bignum#to_s as shown by the benchmark below.
5. The code dominates a profile of running the full CI specs while
   compiling with CompilerNG. Writing the .rbc files should not
   dominate compilation. It is hard to factor out the #to_varint
   contributions to the profile while trying to focus on real hot spots
   in the compiler. See http://gist.github.com/217085 for profile data.
   Reverting the varint change resulted in 10% fewer method calls.

The format of Fixnums and Bignums was changed to hex. This can be converted
from a string a byte at a time with ADD, SHIFT, AND operations. It is unlikely
that any specialty format will be faster, simpler (it's supported by libc for
size_of long and performs well for Bignums), and platform independent.

The following benchmark was run in interpreter-only mode and with the JIT.

require 'benchmark'

total = (ENV['TOTAL'] || 100_000).to_i

srand(42)
fixnums = Array.new(total) { rand(100_000) }
bignums = Array.new(total) { |i| fixnums[i] + Fixnum::MAX+1 }

frings = fixnums.map { |n| n.to_s }
brings = bignums.map { |n| n.to_s }

fex = fixnums.map { |n| n.to_s 16 }
bex = fixnums.map { |n| n.to_s 16 }

class Rubinius::CompiledFile::Marshal
  public :to_varint, :read_varint

  def from_varint(str)
    @data = str
    @start = 0

    read_varint
  end
end

m = Rubinius::CompiledFile::Marshal.new

farints = fixnums.map { |n| m.to_varint n }
barints = bignums.map { |n| m.to_varint n }

Benchmark.bmbm do |x|
  x.report &quot;loop&quot; do
    total.times { |i| fixnums[i] }
  end

  x.report &quot;to_varint(Fixnum)&quot; do
    total.times { |i| m.to_varint fixnums[i] }
  end

  x.report &quot;to_s(Fixnum)&quot; do
    total.times { |i| fixnums[i].to_s }
  end

  x.report &quot;to_s(Fixnum) hex&quot; do
    total.times { |i| fixnums[i].to_s 16 }
  end

  x.report &quot;to_varint(Bignum)&quot; do
    total.times { |i| m.to_varint bignums[i] }
  end

  x.report &quot;to_s(Bignum)&quot; do
    total.times { |i| bignums[i].to_s }
  end

  x.report &quot;to_s(Bignum) hex&quot; do
    total.times { |i| bignums[i].to_s 16 }
  end

  x.report &quot;read_varint(Fixnum)&quot; do
    total.times { |i| m.from_varint farints[1] }
  end

  x.report &quot;to_i(Fixnum)&quot; do
    total.times { |i| frings[i].to_i }
  end

  x.report &quot;to_i(Fixnum) hex&quot; do
    total.times { |i| fex[i].to_i 16 }
  end

  x.report &quot;read_varint(Bignum)&quot; do
    total.times { |i| m.from_varint barints[i] }
  end

  x.report &quot;to_i(Bignum)&quot; do
    total.times { |i| brings[i].to_i }
  end

  x.report &quot;to_i(Bignum) hex&quot; do
    total.times { |i| bex[i].to_i 16 }
  end
end

$ bin/rbx bm_varint.rb
Rehearsal -------------------------------------------------------
loop                  0.011476   0.000000   0.011476 (  0.011441)
to_varint(Fixnum)     0.736448   0.000000   0.736448 (  0.736500)
to_s(Fixnum)          0.038809   0.000000   0.038809 (  0.038885)
to_s(Fixnum) hex      0.040427   0.000000   0.040427 (  0.040479)
to_varint(Bignum)     0.881022   0.000000   0.881022 (  0.881064)
to_s(Bignum)          1.844556   0.000000   1.844556 (  1.844599)
to_s(Bignum) hex      0.780956   0.000000   0.780956 (  0.780999)
read_varint(Fixnum)   0.292000   0.000000   0.292000 (  0.292055)
to_i(Fixnum)          0.042187   0.000000   0.042187 (  0.042236)
to_i(Fixnum) hex      0.032949   0.000000   0.032949 (  0.033026)
read_varint(Bignum)   0.386262   0.000000   0.386262 (  0.386317)
to_i(Bignum)          0.126643   0.000000   0.126643 (  0.126705)
to_i(Bignum) hex      0.033061   0.000000   0.033061 (  0.033152)
---------------------------------------------- total: 5.246796sec

                          user     system      total        real
loop                  0.006812   0.000000   0.006812 (  0.006771)
to_varint(Fixnum)     0.285385   0.000000   0.285385 (  0.285438)
to_s(Fixnum)          0.032994   0.000000   0.032994 (  0.033005)
to_s(Fixnum) hex      0.030820   0.000000   0.030820 (  0.030846)
to_varint(Bignum)     0.861277   0.000000   0.861277 (  0.861274)
to_s(Bignum)          1.500316   0.000000   1.500316 (  1.500324)
to_s(Bignum) hex      0.774484   0.000000   0.774484 (  0.774489)
read_varint(Fixnum)   0.376256   0.000000   0.376256 (  0.174237)
to_i(Fixnum)          0.025325   0.000000   0.025325 (  0.025341)
to_i(Fixnum) hex      0.025602   0.000000   0.025602 (  0.025628)
read_varint(Bignum)   0.571533   0.000000   0.571533 (  0.374191)
to_i(Bignum)          0.115859   0.000000   0.115859 (  0.115883)
to_i(Bignum) hex      0.026308   0.000000   0.026308 (  0.026337)

$ bin/rbx -Xint bm_varint.rb
Rehearsal -------------------------------------------------------
loop                  0.013204   0.000000   0.013204 (  0.013153)
to_varint(Fixnum)     0.917949   0.000000   0.917949 (  0.918003)
to_s(Fixnum)          0.074931   0.000000   0.074931 (  0.075010)
to_s(Fixnum) hex      0.068024   0.000000   0.068024 (  0.068086)
to_varint(Bignum)     1.211573   0.000000   1.211573 (  1.211608)
to_s(Bignum)          1.726354   0.000000   1.726354 (  1.726420)
to_s(Bignum) hex      0.896392   0.000000   0.896392 (  0.896433)
read_varint(Fixnum)   0.404205   0.000000   0.404205 (  0.404259)
to_i(Fixnum)          0.057835   0.000000   0.057835 (  0.057880)
to_i(Fixnum) hex      0.060721   0.000000   0.060721 (  0.060781)
read_varint(Bignum)   0.746133   0.000000   0.746133 (  0.746188)
to_i(Bignum)          0.161963   0.000000   0.161963 (  0.162013)
to_i(Bignum) hex      0.057992   0.000000   0.057992 (  0.058050)
---------------------------------------------- total: 6.397276sec

                          user     system      total        real
loop                  0.013085   0.000000   0.013085 (  0.013042)
to_varint(Fixnum)     0.471418   0.000000   0.471418 (  0.471432)
to_s(Fixnum)          0.063889   0.000000   0.063889 (  0.063920)
to_s(Fixnum) hex      0.063932   0.000000   0.063932 (  0.064852)
to_varint(Bignum)     1.161453   0.000000   1.161453 (  1.161457)
to_s(Bignum)          1.494447   0.000000   1.494447 (  1.494443)
to_s(Bignum) hex      0.798755   0.000000   0.798755 (  0.798801)
read_varint(Fixnum)   0.578633   0.000000   0.578633 (  0.387029)
to_i(Fixnum)          0.060297   0.000000   0.060297 (  0.060339)
to_i(Fixnum) hex      0.059738   0.000000   0.059738 (  0.059775)
read_varint(Bignum)   0.976240   0.000000   0.976240 (  0.785603)
to_i(Bignum)          0.177357   0.000000   0.177357 (  0.177371)
to_i(Bignum) hex      0.057640   0.000000   0.057640 (  0.057644)</message>
    <tree>be55df78fe631cd1f6d4449305c4dd20827df016</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d9ea9009f16a53da7674b5742e1625006f831f1f</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/9b60cfd857847d5355e387ef9b0d81a109cf425c</url>
    <id>9b60cfd857847d5355e387ef9b0d81a109cf425c</id>
    <committed-date>2009-10-29T23:15:52-07:00</committed-date>
    <authored-date>2009-10-26T23:13:50-07:00</authored-date>
    <message>Rework VM instruction parsing and generation.</message>
    <tree>155c2622c0b97c0690697583f06ab277fb44060d</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ef1eabc3a340e61c9d750af50ec2f3cad4d3e73a</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/08c1f976d69e775d598ab2e8faf473fa0f0887f8</url>
    <id>08c1f976d69e775d598ab2e8faf473fa0f0887f8</id>
    <committed-date>2009-10-06T15:30:25-07:00</committed-date>
    <authored-date>2009-10-06T15:30:25-07:00</authored-date>
    <message>Remove old profiling runs</message>
    <tree>e9293cd2a79038f1f994049a174035ccf5d99d33</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e6c264aeef8f3d9f80f2d6509cd911cbc48ecf3a</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/1f045bd5ac8dcc5cf346e04b5133bfd432764b0c</url>
    <id>1f045bd5ac8dcc5cf346e04b5133bfd432764b0c</id>
    <committed-date>2009-09-30T17:45:20-07:00</committed-date>
    <authored-date>2009-09-30T17:45:20-07:00</authored-date>
    <message>Update getting_started.txt with new configure info</message>
    <tree>eacf719a65a8bb01c812df9f84a3ff57e4ea4000</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>db612aa62cad9e5cc41a4a4be645642362029d20</id>
      </parent>
    </parents>
    <author>
      <name>Konstantin Haase</name>
      <email>konstantin.mailinglists@googlemail.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/aad8340d113ff7da8251673e770bc16139c51a29</url>
    <id>aad8340d113ff7da8251673e770bc16139c51a29</id>
    <committed-date>2009-09-17T06:45:20-07:00</committed-date>
    <authored-date>2009-09-17T06:45:20-07:00</authored-date>
    <message>fixed channel exampels [mtomer]</message>
    <tree>d6b5304c312ca11e7eae9bf2ac1a25512c0bc68c</tree>
    <committer>
      <name>Konstantin Haase</name>
      <email>konstantin.mailinglists@googlemail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>34103ab1d899fc0554d1bdce8a13b9d052163751</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/40bfc03201b797c8b8a5926a9a3c6336c0985416</url>
    <id>40bfc03201b797c8b8a5926a9a3c6336c0985416</id>
    <committed-date>2009-08-28T11:30:08-07:00</committed-date>
    <authored-date>2009-08-28T11:29:16-07:00</authored-date>
    <message>Add ability to inline blocks into their creation scope

Use -Xjit.inline.blocks to enable this for now</message>
    <tree>1c4781384beef63a7c2a2f8934b814c0262efe3b</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e103307782b0b974a4ae4a1be3f36ff6e4d859b1</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/edb05f7fad8f4d9f5cc2fde9f014d9a49c9c8d6b</url>
    <id>edb05f7fad8f4d9f5cc2fde9f014d9a49c9c8d6b</id>
    <committed-date>2009-08-24T23:53:48-07:00</committed-date>
    <authored-date>2009-08-24T23:53:48-07:00</authored-date>
    <message>Update todo</message>
    <tree>f8aa1f043bdddb0a283fc2fcf85b9d78c583a796</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>2f666c313049a0a8d1d47419a7cc4935bd8569e2</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/27b2611f10d332c5328ab334098fbada9964a392</url>
    <id>27b2611f10d332c5328ab334098fbada9964a392</id>
    <committed-date>2009-08-21T09:39:21-07:00</committed-date>
    <authored-date>2009-08-21T09:39:21-07:00</authored-date>
    <message>Add inlining to meta_send_*</message>
    <tree>416d72f8285b32ad7ad745ef9ff50af2f14c6991</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>29a692b76e971baeedbd92f6bce374cf44ca88b4</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/98f9534e02fd197bd209933ad7c7403f03e1ebb9</url>
    <id>98f9534e02fd197bd209933ad7c7403f03e1ebb9</id>
    <committed-date>2009-08-20T21:09:25-07:00</committed-date>
    <authored-date>2009-08-20T21:09:25-07:00</authored-date>
    <message>Add new primitive glue for JIT usage

There are special glue functions generated, along with a driver function
that can provide information about the other glue functions, that the
JIT can use to call a primitive directly.

For all non-overloaded primitives that the JIT doesn't have custom code
for, this new dispatch is used.</message>
    <tree>ff88bb89a1d59bda55bbbc8643f7ba33d44685e4</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a44e405af26dd7fcc011fb64e2c8581e33681ae3</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/ccf63f4856a4821a522aac465480791dee00c3e9</url>
    <id>ccf63f4856a4821a522aac465480791dee00c3e9</id>
    <committed-date>2009-08-19T15:32:08-07:00</committed-date>
    <authored-date>2009-08-19T15:32:08-07:00</authored-date>
    <message>Add todo</message>
    <tree>67a3ceede5db42cd35654661b844de016bdb83ab</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>2f832e8980925ab7e746cf79bac15aa8f7321dce</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/abe8386cb41dfff45f2a765f132a500f77f821f7</url>
    <id>abe8386cb41dfff45f2a765f132a500f77f821f7</id>
    <committed-date>2009-08-18T17:18:18-07:00</committed-date>
    <authored-date>2009-08-10T13:54:32-07:00</authored-date>
    <message>Updated todo</message>
    <tree>9f468e969086d3a46cc80f97f80009a45a9f2da4</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>71267592edef080ae99cdb11171238bc738089df</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/7198456d57754dd6b5af1b088d6d95b8b5159b37</url>
    <id>7198456d57754dd6b5af1b088d6d95b8b5159b37</id>
    <committed-date>2009-08-10T11:16:44-07:00</committed-date>
    <authored-date>2009-08-10T11:13:48-07:00</authored-date>
    <message>Work on my todo list</message>
    <tree>83d2af20a79b86b685222bdbe3f37b3c6476b5e2</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>8307757ba749736dccf1d4faa4a74788a903bfaa</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/6bada3e55d028195f7a69d2384405b9cde5723e6</url>
    <id>6bada3e55d028195f7a69d2384405b9cde5723e6</id>
    <committed-date>2009-07-13T15:15:43-07:00</committed-date>
    <authored-date>2009-07-13T14:33:39-07:00</authored-date>
    <message>Remove the runtime stack pointer in the JIT

This code allows the JIT to not maintain a stack pointer at runtime,
instead allowing it to simply access the stack at fixed offsets.</message>
    <tree>fa747be37d2bf21366f484f771471fc77575f405</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ea5bf64d59d05a2ff080dda976dda95e171311a5</id>
      </parent>
    </parents>
    <author>
      <name>Daniel Luz</name>
      <email>dev@mernen.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/bc7320e677778f910801e319fb2f19a31ab64886</url>
    <id>bc7320e677778f910801e319fb2f19a31ab64886</id>
    <committed-date>2009-06-28T18:29:08-07:00</committed-date>
    <authored-date>2009-06-28T18:28:58-07:00</authored-date>
    <message>Added libssl-dev to Debian/Ubuntu dependencies

Closes #14, thanks rhinton.</message>
    <tree>39bfb0aee7c086f43b853a0ba43c9aeba5d88be2</tree>
    <committer>
      <name>Daniel Luz</name>
      <email>dev@mernen.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5da02ef78db4a3371f0e25bb1a849139bf0a0960</id>
      </parent>
    </parents>
    <author>
      <name>Daniel Luz</name>
      <email>dev@mernen.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/ea5bf64d59d05a2ff080dda976dda95e171311a5</url>
    <id>ea5bf64d59d05a2ff080dda976dda95e171311a5</id>
    <committed-date>2009-06-27T23:55:58-07:00</committed-date>
    <authored-date>2009-06-27T23:55:58-07:00</authored-date>
    <message>s/psuedo/pseudo/</message>
    <tree>5c67212a7a4ad0a30d013e56c2b38468533edfe5</tree>
    <committer>
      <name>Daniel Luz</name>
      <email>dev@mernen.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a4d4d458cb62bbe8cc242f7fd30e7fba60a55e2e</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/1e33851f730af4ad257071a44104822c1b4cd6dd</url>
    <id>1e33851f730af4ad257071a44104822c1b4cd6dd</id>
    <committed-date>2009-06-15T15:49:44-07:00</committed-date>
    <authored-date>2009-06-15T14:49:07-07:00</authored-date>
    <message>Improvements to current Hash algorthm.

These experiments are located at doc/experiments/hash/code/chained*.rb.
The code in chained_rev2.rb uses the cleanest code for the Iterator.
Using this code would enable using iteration internally for several
Hash methods thereby removing a layer of blocks. The improvement can
be seen in the spreadsheet on the bm_each benchmark:

  http://spreadsheets.google.com/ccc?key=rdiNYWh0xTGShVHikWVmnUA

However, the Iterator code quality has a tradeoff in performance at
the moment because of the extra read and write to an ivar. This can
be improved with improvements to CompactLookupTable.</message>
    <tree>e4cdb85c25cfba2b97f495a22d044bfd6721370f</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>1191e1382e0a073240fee604ac28004ad1dd296a</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/de9956d25e75d2f9e406d2bf3244ee96690c3595</url>
    <id>de9956d25e75d2f9e406d2bf3244ee96690c3595</id>
    <committed-date>2009-06-10T13:37:04-07:00</committed-date>
    <authored-date>2009-06-10T13:37:04-07:00</authored-date>
    <message>Add gprof results</message>
    <tree>73a641c0e6022e45a075af8875aeac6d300e4126</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3fd6627f7d0a95b69dafb76d864547a4d7e7187f</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/57acca570523981add0752377e58e8f3090415b6</url>
    <id>57acca570523981add0752377e58e8f3090415b6</id>
    <committed-date>2009-06-05T00:18:39-07:00</committed-date>
    <authored-date>2009-06-03T17:31:00-07:00</authored-date>
    <message>Added code, results for Hash performance experiments.</message>
    <tree>822ccd8851025bd42c467ef4bf673c921e6781c8</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>09e96356f7413b3539b30010335aea1a2509b5f7</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/3fd6627f7d0a95b69dafb76d864547a4d7e7187f</url>
    <id>3fd6627f7d0a95b69dafb76d864547a4d7e7187f</id>
    <committed-date>2009-06-05T00:18:39-07:00</committed-date>
    <authored-date>2009-06-03T09:41:56-07:00</authored-date>
    <message>Added place for experiments to the documentation.</message>
    <tree>610e088f127fb66453bf418a20f5fbd3dd3c5780</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0805854813515dcef829c2a9174606b54a11aee8</id>
      </parent>
    </parents>
    <author>
      <name>Gregory Brown</name>
      <email>gregory.t.brown@gmail.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/fb6b228e3d5fe103e83e9718568dac6a03b17613</url>
    <id>fb6b228e3d5fe103e83e9718568dac6a03b17613</id>
    <committed-date>2009-05-22T13:21:59-07:00</committed-date>
    <authored-date>2009-05-22T13:09:30-07:00</authored-date>
    <message>Add note about interactive prompt to docs

Signed-off-by: Brian Ford &lt;bford@engineyard.com&gt;</message>
    <tree>6f271d1529520221509c84bf3e20cf284abafa4a</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>b28627e5b14eccea1565002f1050266d606b7594</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/1143fb283bdc5ed3fd6cdf22aeeebf9fdabedc0f</url>
    <id>1143fb283bdc5ed3fd6cdf22aeeebf9fdabedc0f</id>
    <committed-date>2009-05-10T23:11:50-07:00</committed-date>
    <authored-date>2009-05-10T23:11:23-07:00</authored-date>
    <message>More docs for the profiler.</message>
    <tree>e1e8d6b7d590e5fbd59fd18c15ce52a694c3728b</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>349411c0afef21e4b2cb3bb5aa58605fa9abb397</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/3f6d963a1b98d406d6688dcd97e55ef2091e6eeb</url>
    <id>3f6d963a1b98d406d6688dcd97e55ef2091e6eeb</id>
    <committed-date>2009-04-27T16:13:35-07:00</committed-date>
    <authored-date>2009-04-27T15:58:13-07:00</authored-date>
    <message>Make load order explicit. See doc/bootstrapping.txt.</message>
    <tree>68937f926b6acbe4832e141f625be35bc0845cd2</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>2242394ed8c5c8e7453e4947bf556bcafc0b660b</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/dd65a9826919dea14ef433f3f6abc7428cddc066</url>
    <id>dd65a9826919dea14ef433f3f6abc7428cddc066</id>
    <committed-date>2009-04-22T15:12:51-07:00</committed-date>
    <authored-date>2009-04-22T15:11:53-07:00</authored-date>
    <message>Changed profiler cumulative seconds method.

The profiler now uses two timers to gather stats. One timer, the StackTimer,
maintains a running wall-clock time during the invocation of a method, even
if the method is re-entered. The other timer tracks the time spent in each
invocation of a method and each callee. These timers may be running
concurrently if a method is re-entered. The final self seconds is the total
time spent in all invocations of a method less the time spent in all its
callees.</message>
    <tree>06a994211a46ff0354d5fd117a97d723313f4a3d</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>fa99010985cd549a4b5ac1bf61841715b63da3e7</id>
      </parent>
    </parents>
    <author>
      <name>Tilman Sauerbeck</name>
      <email>tilman@code-monkey.de</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/ef190811650550b4ec8cf1af36bf508ead6bd677</url>
    <id>ef190811650550b4ec8cf1af36bf508ead6bd677</id>
    <committed-date>2009-04-19T09:46:51-07:00</committed-date>
    <authored-date>2009-04-19T09:46:51-07:00</authored-date>
    <message>Removed support for arrays from the RBC (un)marshaller.

These days we only write tuples but not arrays.</message>
    <tree>64ecc1ab94deb20e92aae41f3e2a338dcd45eab2</tree>
    <committer>
      <name>Tilman Sauerbeck</name>
      <email>tilman@code-monkey.de</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e1c69daf1cf89b2a8e8551cdb25d6f7498aa7ae0</id>
      </parent>
    </parents>
    <author>
      <name>Tilman Sauerbeck</name>
      <email>tilman@code-monkey.de</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/0322cf88806f31ceadadf9fb582cf8e825cfa7df</url>
    <id>0322cf88806f31ceadadf9fb582cf8e825cfa7df</id>
    <committed-date>2009-04-17T09:28:06-07:00</committed-date>
    <authored-date>2009-04-16T12:09:55-07:00</authored-date>
    <message>Reworked the RBC format.

We now use a binary format for RBC files. Tags and strings are no longer
delimited by a newline character and integers are encoded in a variable
number of bytes.

This results in much smaller RBC files that can be decoded faster.</message>
    <tree>6ba00e8cb0009c6b6be23655941c5848d5ed6686</tree>
    <committer>
      <name>Tilman Sauerbeck</name>
      <email>tilman@code-monkey.de</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d815cbb872067e6bebba4b63d5ec3dbeae500329</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/63d4267e2668c0cae7139d582051c7d9f85184b1</url>
    <id>63d4267e2668c0cae7139d582051c7d9f85184b1</id>
    <committed-date>2009-04-08T23:54:37-07:00</committed-date>
    <authored-date>2009-04-07T10:29:01-07:00</authored-date>
    <message>Beginning docs for the profiler.</message>
    <tree>15b5a03087b229fe1b3aeaf30e3d88e4ca5cce5d</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>525845b7dbed1f779af54ec0dfaa1c0a911356d0</id>
      </parent>
    </parents>
    <author>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/9840201e80502d28cb300dd0639bddddc6cd3726</url>
    <id>9840201e80502d28cb300dd0639bddddc6cd3726</id>
    <committed-date>2009-03-23T13:01:04-07:00</committed-date>
    <authored-date>2009-03-23T12:58:44-07:00</authored-date>
    <message>Some beginning C-API docs.</message>
    <tree>93154e177aa18fd287691b9f9d282ecb9e411c66</tree>
    <committer>
      <name>Brian Ford</name>
      <email>bford@engineyard.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5e4b292d9b25ad6198827de5500e92171e531420</id>
      </parent>
    </parents>
    <author>
      <name>Eero Saynatkari</name>
      <email>projects@kittensoft.org</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/5e98fe754b8bee931346ef7a5d0c8a2095abf842</url>
    <id>5e98fe754b8bee931346ef7a5d0c8a2095abf842</id>
    <committed-date>2009-03-02T11:46:20-08:00</committed-date>
    <authored-date>2009-02-17T17:17:15-08:00</authored-date>
    <message>Work-in-progress VM component/logic flow document.</message>
    <tree>8565d2f6876ad08bd233227f5757dfc8850f977c</tree>
    <committer>
      <name>Eero Saynatkari</name>
      <email>projects@kittensoft.org</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>77136ef9cd8ad10d61acb55cf96296b648d869b0</id>
      </parent>
    </parents>
    <author>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </author>
    <url>http://github.com/evanphx/rubinius/commit/34efedf95ebe0cf875d9db3797db5bd69c95e4e3</url>
    <id>34efedf95ebe0cf875d9db3797db5bd69c95e4e3</id>
    <committed-date>2009-01-25T00:30:02-08:00</committed-date>
    <authored-date>2009-01-25T00:29:33-08:00</authored-date>
    <message>Fix some scoping usage and constant lookup</message>
    <tree>bab12fbe04e219d4d661a365c4960541e8e0efeb</tree>
    <committer>
      <name>Evan Phoenix</name>
      <email>ephoenix@engineyard.com</email>
    </committer>
  </commit>
</commits>
