Skip to content
This repository

Aug 20, 2009

  1. Ari Brown

    fixed an unecessary variable scope dohickey setting thing.

    seydar authored
  2. Ari Brown

    Merge git@github.com:evanphx/rubinius into literate

    seydar authored
  3. Ari Brown

    Add support for literate ruby files like GHC

    GHC, of Haskell fame, supports .lhs files that either use code marked with
    'bird feet' (> puts 5) or LaTeX style (\begin{code}...\end{code}). These files
    can be either run directly or required, but if run directly, the .lrb ending
    is mandatory, and if required, .rb and .rbc files have higher precedence
    over .lrb files. See http://www.haskell.org/haskellwiki/Literate_programming
    for minformation. N.B. not all of Haskell's literate programming features are
    implemented.
    seydar authored

Aug 19, 2009

  1. Add todo

    Evan Phoenix authored
  2. Float prims, Inline interface cleanup

    * Inlining code doesn't manipulate the operand stack, it requires
      the caller of the inliner to properly make user of the inliners
      exported value.
    Evan Phoenix authored
  3. Updated todo

    Evan Phoenix authored
  4. whitespace fixes

    Evan Phoenix authored

Aug 17, 2009

  1. Brian Shirai

    Import ensure bytecode.

    brixen authored
  2. Brian Shirai

    Added bytecode for rescue.

    brixen authored

Aug 12, 2009

  1. Brian Shirai

    Fixed svalue, splat bytecode.

    Some compiler specs fail, but they are broken and need to be
    fixed. As a consequence of wrapping splat nodes in array nodes
    in the rewriter, literals of the form [*[something]] were
    causing the bytecode sequence to be emitted:
    
      make_array 0     # yup, create an empty array
      push something   # ie push each elt of the literal array
      make_array size  # size of the inner literal array
      send :+          # put all the inner elts in the empty array
    
    This is totally unnecessary since
    
      [] + [something] == [something]
    
    The specs will be updated once the compiler changes are made
    active.
    brixen authored
  2. Brian Shirai

    Misc fixes for errors in compiler spec, only failures remain.

    brixen authored
  3. Brian Shirai

    Improved argument mapping for defines.

    brixen authored

Aug 11, 2009

  1. Brian Shirai

    Some fixes for defn, defs, case.

    brixen authored
  2. Brian Shirai

    Simplistic ascii node grapher.

    brixen authored
  3. Brian Shirai

    Import while/until bytecode.

    brixen authored

Aug 10, 2009

  1. Brian Shirai

    Added Sends to AST.

    brixen authored
  2. Brian Shirai

    Simplify If bytecode generation.

    brixen authored
  3. Brian Shirai

    Imported or stubbed all #bytecode methods.

    brixen authored
  4. Brian Shirai

    Removed use of #args while generating the AST.

    brixen authored
  5. Brian Shirai

    Misc cleanups.

    brixen authored
  6. Work on my todo list

    Evan Phoenix authored
  7. Use a simple while loop for Range#each

    Evan Phoenix authored

Aug 07, 2009

  1. Brian Shirai

    Fixed module opening toplevel constant.

    brixen authored
  2. Brian Shirai

    Reworked nodes for defining modules.

    brixen authored
  3. Brian Shirai

    Spec for module with local var in name.

    brixen authored
  4. Brian Shirai

    Reworked nodes related to defining classes.

    ClassWrapper will probably be renamed to Class once all specs are
    passing an the old compiler is replaced. The idea is to have the
    AST represent the actual structure (eg using ClassName) rather
    than having aspects of the AST structure represented in conditional
    logic.
    
    Some logic is necessary to distinguish different structures at the
    top levels, but that logic is easy to follow because it results in
    concrete forms (at a lexical level) rather than resulting in different
    forms of output from running the code. This also enables better
    processing phases. For example, an EmptyClass can be processed by
    either form recognition (if node.kind_of? EmptyClass) or by adding
    methods to it rather that trying to inject logic into places that
    already do something like:
    
      if @body.empty?
        handle empty body
      end
    brixen authored
  5. Brian Shirai

    More lasgn specs involving classes.

    brixen authored
  6. Cezar Sá Espinola

    Fixing Kernel.String, all specs passing.

    cezarsa authored
  7. Cezar Sá Espinola

    Fixing up Kernel.Integer, all specs passing.

    cezarsa authored
  8. Cezar Sá Espinola

    Fixing Kernel.Float, all specs passing.

    cezarsa authored

Aug 06, 2009

  1. Disable using restart_interp based on usage

    Evan Phoenix authored
  2. Add fast exit for failing guards at the beginning of methods

    * Using restart rather than continue eliminates the need for the
      CallFrame to be created by the JIT when it's not needed.
    Evan Phoenix authored
  3. Adjust the call_count of inlined methods

    Evan Phoenix authored
  4. Brian Shirai

    More work on defn and args nodes.

    brixen authored

Aug 04, 2009

  1. Brian Shirai

    Resurrect ConcatArgs. All array compiler specs pass.

    Like a nauseatingly sweet cake, the compiler currently has
    3 thick layers of obfuscating logic: 1) the sexp rewriting,
    2) the sexp consumption and args methods, 3) the bytecode
    generation. The compiler is a bad marriage between a sexp
    processor and an object-oriented compiler. All this is built
    on the often confusing foundation of MRI's parse tree.
    
    I mean, seriously, rewrite argscat into splats that are wrapped
    in arrays so other nodes can take them apart again? Seriously?
    
    So I am the divorce judge and this union is being destroyed.
    Sorry, sexps, you get nothing. Dismissed. Goodbye. Objects,
    you get stripped of your twisty internal logic, to the extent
    reasonable. How? By creating more classes as appropriate that
    each do their own simple thing.
    
    Again, this is a WIP, but the general principle is that if a
    thing needs a particular form, it should be a particular thing,
    not some murky shape-shifter.
    brixen authored
Something went wrong with that request. Please try again.