Permalink
Commits on Dec 16, 2008
  1. Supporting 2 param format for raise.

    Some fixes and support for 2 parameter format for raise.
    committed Dec 16, 2008
  2. Fixing some remaining bugs in raise and rescue.

    More tests now execute properly.
    Setup proper BasicObject.method_missing which was missing and causing
    failure issues.
    Fixed a bug with creating the iseq from the rescue block - it needed a parent
    Implemented some missing methods and support for better exceptions.
    committed Dec 16, 2008
Commits on Dec 15, 2008
  1. Completed implementation of intial raise and rescue.

    Correctly raised and rescued a single exception from a string.
    Doesn't handle raising custom exceptions yet.
    Does propogate the raise through the stack.
    committed Dec 15, 2008
  2. Implement raising a single string argument and global error trap.

    raise will correctly throw a Flash Error (RTag class) when executed.
    Exception will only be properly caught at the outermost execution frame
    of the interpreter.
    committed Dec 15, 2008
Commits on Nov 14, 2008
Commits on Nov 8, 2008
  1. Updating README.

    committed Nov 8, 2008
  2. Fixed respond_to? on Flash objects, implement proc, final slideshow.

    respond_to? was spelled responds_to? on Flash objects, also didn't convert
    underscores to camel case. Both fixed.
    proc AS3 method should have accepted and ignored all params
    Final slide show for RubyConf 2008 presentation of Red Sun
    committed Nov 8, 2008
  3. String each_line and +. instance_exec - preso work.

    Implemented instance_exec to support preso DSL.
    String each_line and + implemented.
    Work on preso DSL.
    committed Nov 8, 2008
Commits on Nov 7, 2008
  1. Bugs in block conversion to Proc fixed.

    One bug comparing StackPointers with == instead of .equals
    Added extra clone() for when copying StackPointers during env copy.
    Fixed in heap test for env.
    committed Nov 7, 2008
  2. More math methods, fixes to passing args to Flash constructor.

    More math methods for mixed type math operations.
    Was incorrectly stripping first argument to Flash constructors (copied
    code from method_missing which has the method name as the first arg)
    Work on slideshow, layout, better DSL, etc.
    committed Nov 7, 2008
  3. Impl. method return multiple values. Fix _ camel event conversion.

    More work on preso framework and demos. Slide show DSL...
    committed Nov 7, 2008
Commits on Nov 6, 2008
  1. Implemented alias_method and some fix and float ops.

    Neede alias_method to access superclass method from another method. Crazy.
    Looks like I need Kernel#define_method to create a new method that gets
    the scope variables. Framework development stresses the VM.
    committed Nov 6, 2008
  2. Critical fixes to include classes and yielding.

    Found bug where include classes had wrong type.
    Found bug where yielding was manipulating the stack incorrectly.
    Work on preso framework.
    committed Nov 6, 2008
  3. More Ruby bytecodes implemented. Presentation framework work.

    Trying to get greater coverage on Ruby bytecodes to have a slide to show how
    close I am.
    Also, working on SlideShow framework.
    committed Nov 6, 2008
  4. Some math and array implementations for RubyConf preso.

    Implemented some operations on mixed type int and float.
    Worked through some missing opcodes from insns.def.
    committed Nov 6, 2008
Commits on Nov 5, 2008
Commits on Nov 4, 2008
  1. Research on callbacks (failed), work on procs, require implemented.

    Researching callbacks. Needs working Proc to be correct. Getting Proc to
    work is a large task, not within current time frame.
    Implemented cheap require support in ramaze by finding opcodes and
    inserting compiled opcodes from other file.
    committed Nov 4, 2008
Commits on Nov 3, 2008
  1. Implement super opcode. Also floating point numbers.

    invokesuper opcode implemented along with required lookups. Skipped
    special section for methods defined at runtime from blocks for now.
    
    Floating point numbers should now be converted between AS3 and Ruby and
    parsed from bytecode correctly. Most operations not enabled.
    committed Nov 3, 2008
  2. Impl basic branching. Enabling Asterism demo.

    Basic branching implemented by searching for destination label. Obviously
    very slow.
    Implementing features needed for Asterism demo plans.
    committed Nov 3, 2008
  3. Fixed to operators and interning and initial hash impl.

    Operator strings had several incomplete and broken methods. Should be mostly
    fixed now. Still having some difficulty knowing what exactly yacc does
    with the %tokens. Thinking it generates incrementing integers.
    
    Initial hash implementation definitely exposing some problems. Hash should
    store actual Ruby objects in some cases, but then lookup will fail if
    the lookup object is not identical. AS3 Hash doesn't use a hashcode, AFAIK,
    so not sure exactly how to work around this yet.
    For now I am pulling out the internals of Strings and Fixnums and using the
    real AS3 value as the hash. This means that an iterate function would need
    to recreate the Ruby object and it would be different than the one put in,
    which would be surprising and likely non-compliant.
    committed Nov 3, 2008
Commits on Oct 31, 2008
  1. Fixed stack error and id check to enable attr_accessor.

    Got attr_accessor to work.
    committed Oct 31, 2008
  2. Implementing some more instance and attr set opcodes.

    Also, fix to setn opcode which was broken.
    committed Oct 31, 2008
  3. Implementing instance vars and attr_* functions.

    Prototypes for various libraries to demo at RubyConf.
    committed Oct 31, 2008
Commits on Oct 29, 2008
  1. Implemented thread pausing and restarting.

    Added wait global function that registers a timer, pauses the thread, then
    restarts the thread when the timer fires. This is a proof of concept for
    the stackless vm thread implementation.
    committed Oct 29, 2008
  2. Adding text support, fixing a bug with putobject.

    Adding mapping for Flash text classes.
    Fixed bug in putobject that was not converting true and false literals.
    Added setn opcode.
    committed Oct 29, 2008
  3. Fixing array access. Added Ruby compiler using Ramaze. AIR app to run…

    … scripts.
    
    Had a bug in array access that I didn't notice since I didn't copy the test
    code into the app properly.
    Added a web-based Ruby compiler using Ramaze. Failed to get Rails or Camping
    running on Ruby 1.9. Didn't feel like shelling out from Ruby 1.8 to 1.9 to
    do the compile, although that might be the only option if I want to run this
    on my web server.
    Updated AIR app to have a TextArea to enter Ruby code into and execute, by
    talking to the Ramaze app. It has some hardcoded local paths to my HD now.
    
    Fixed oversight in variable assignment mapping from Ruby to AS3. Needed
    to detect var= style method calls and do assignment instead.
    
    Fixed oversight in AS3 -> Ruby conversion method that was using == to
    test if a value was == true, which passes for many values. Switched to
    === and maybe should reorder the tests as well to be safe.
    
    duparray is an odd bytecode that asks the compiler to essentially drop
    the array from the opcode onto the stack. Not sure how this would work
    if the array contains local variable access. Assuming that the bytecodes
    would compile differently for [1,true,nil] and [a,b,c].
    committed Oct 29, 2008
Commits on Oct 28, 2008
  1. Implementing Array support.

    Array literals of literals should work.
    Array access should work.
    committed Oct 28, 2008