* All work done while working to run flexmock and rake * Added Object#clone and fixed Object#dup * Added File::Stat.blksize * Fix private method lookup (should terminate at the private method) * The comparison meta_ops only fire if both values are immediates.
* Extension is based on MRI one from 1.8.4. * Removes some of the autoconf-style stuff it used * Written against 10.5 (which uses editline) * Also fixes defined?() to take scope into account * IRB now picks up and uses readline WITH completion!
* Added a bit more verbose specs to methods_spec.rb, to show specific cases.
* Rubinius can now load config files, in the same format of the RBX env variable, but with newlines seperating definitions. * Added some code to generate runtime/platform.conf in Rakefile, which contains any system dependent data. * Fit DirEntry into this scheme.
* Thread#run was confusing the Thread scheduler, cause things the VM to quit running. * Added corruption detection to .rbc files in the form of a SHA1 hash placed in the .rbc, just after the header.
Moved the entire current compiler to lib/compiler1 and rearchitected how the compiler is loaded. It's much simpiler and more powerful that before.
* New constant lookup specs to test behavior * Added StaticScope object and field on CompiledMethod which stores a StaticScope instance which indicates the lexical scope of the CM.
* The locals tuple is now allocated in the fast context stack. * Refactored the context allocation code for methods and blocks. * Fixed a channel bug
The VM now stores a VM translated version of the CompiledMethods bytecodes in the compiled field. This keeps the InstructionSequence object in the bytecodes field prisitine. It also simplifies detecting which methods need to be translated (this is done lazily, as methods) are executed.
* 'rake build' is all you need now
Machine can load directly from a directory structure of files now. This will be used instead of a .rba since it should conflict less and be easier to manage. Stable versions of things are now in runtime/stable and should only be updated at fixed times.
I'm still a little unhappy with the input buffer situation. (ie, there is none.) Adds IO#sysread and IO#syswrite as well as a bunch of POSIX stuff.
…I fixed. New restrictions for meta-programming in core bodies (not in methods). kernel/platform is now where platform specific code, mainly related to FFI, lives. A bunch of FFI bugs have been fixed and it should be working much better now. FFI Note: you may now only specify :state as your first argument, and you must leave it off when you call the method (rather than passing nil like before).
Rather than having the compiler spread over lib and native, it all lives in compiler now.