Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: rubinius/rubinius
head fork: rubinius/rubinius
Commits on Jun 29, 2012
@voxik voxik Simplify mkmf.rb.
There is no need to check for CAPI version in mkmf.rb, since Rubinius already
loaded mkmf.rb from version dependent location.
@rue rue Merge pull request #1789 from voxik/simplify-mkmf
Remove unnecessary CAPI version check from mkmf.rb's.
Commits on Jun 30, 2012
@dbussink dbussink Fix zlib bug when installing bcrypt-ruby b617e6b
@dbussink dbussink Add spec for lookup scope for autoload 7f34805
@dbussink dbussink Use the referring scope for lookup in Autoload
This fixes cases where this scope is different from the scope where the
autoload is defined.
@dbussink dbussink Revert "Use the referring scope for lookup in Autoload"
This reverts commit 2106625.

This has more consequences that take a lot more effort to fix. If we
want to fix this behavior we probably have to review how autoload works
and change it more invasively.
@dbussink dbussink Add tags for failing specs bbf6013
@dbussink dbussink Autoload const removing behavior is the same on 1.8 and 1.9 a9c54b8
@dbussink dbussink Remove unneccesary difference in behavior for Autoload in 1.8 and 1.9 2bb78b5
@dbussink dbussink Add slots for autoload object 6e697dc
@dbussink dbussink Prefer using G(sym_call) over doing a lookup for the symbol 5c3a96f
Commits on Jul 01, 2012
@dbussink dbussink Sleep for 0.1 seconds is long enough 0512d94
@dbussink dbussink Add spec for resolving autoload constant from metaclass scope da39663
@dbussink dbussink Fix Autoload handling by properly reusing the current scope
In the Autoload parts in the VM we now do the lookup again so it's much
easier to do it with the correct current scope and we follow the same
lookup mechanisms as a normal constant lookup.

For this we modify the Helpers for const_get so it can filter a result
so the autoload is filtered and the real class or a class with the same
name higher in the hierarchy is returned.
Commits on Jul 02, 2012
@ryoqun ryoqun Correctly spec rb_str_new_cstr as 1.9-only CAPI
Currently, rb_str_new_cstr is spec'ed as a function available under both 1.8
CAPI and 1.9 CAPI in spec/ruby/optional/capi/ext/rubyspec.h. This is not true.
As a version guard is correctly used in spec/ruby/optional/capi/string_spec.rb,
it is only declared under 1.9 CAPI, not under 1.8 CAPI.

In 1.8 mode, rb_str_new_cstr specs are only compiled, not run, thanks to the
version guard. So, there is no spec failures. However, this commit suppresses
the following warning from clang:

  spec/ruby/optional/capi/ext/string_spec.c:165:12: warning:
    implicit declaration of function 'rb_str_new_cstr' is invalid in C99
      return rb_str_new_cstr(NULL);
  1 warning generated.

Also, #undefs aren't needed in spec/ruby/optional/capi/ext/mri.h, because
rb_str_new_cstr is now correctly declared only in 1.9 CAPI.
@dbussink dbussink Merge pull request #1791 from ryoqun/rb-str-new-cstr
Correctly spec rb_str_new_cstr as 1.9-only CAPI
@ryoqun ryoqun Use -mno-omit-leaf-frame-pointer 9f35409
@dbussink dbussink Make sure to checkpoint while waiting for the world to stop
This prevents a deadlock when another thread was trying to stop the
world while the environment is trying to shut down.
@dbussink dbussink Update current state object with proper VM when forking
Fixes #1678
Commits on Jul 03, 2012
@ryoqun ryoqun Move thread under rubinius::utilities::thread cb9e8b0
@dbussink dbussink Merge pull request #1792 from ryoqun/leaf-frame-pointer
Use -mno-omit-leaf-frame-pointer
@dbussink dbussink Merge pull request #1793 from ryoqun/thread-namespace
Move thread under rubinius::utilities::thread
Commits on Jul 05, 2012
@LTe LTe Added new rubyspec for require_relative in eval environment 300ad87
@LTe LTe Raise LoadError when the script does not have data_path ae997dd
@dbussink dbussink Merge pull request #1794 from LTe/require_relative_base_path
Update behavior of require_relative
@ryoqun ryoqun Fix typo: wihtout => without 09b9e37
@ryoqun ryoqun Make Object constants invisible from BasicObject 2a20dde
@ryoqun ryoqun Remove passing specs a5c96b6
@dbussink dbussink Merge pull request #1795 from ryoqun/basicobject-constant-scope
Make Object constants invisible from BasicObject
@dbussink dbussink Add GCToken for Autoload
Because Autoload calls back into Ruby to load the source file, we should
add a GCToken because it might GC. This adds the token and fixes cases
where there would be variables on the C stack that we need to track.
@brixen brixen Replaced Zlib FFI with C-ext. Closes #1727.
While it saddens me greatly to replace Ruby code with very problematic
MRI C code, the reality is that time is better spent eventually replacing
MRI C code with quality Ruby code rather than wasting time debugging
unmaintained Ruby-ified MRI C code.
@brixen brixen Added RETURN_ENUMERATOR for C-API from MRI. f820169
@brixen brixen Added C-API specs for rb_file_open_str. d713fd2
@brixen brixen Added C-API specs for FilePathValue. 98bc75f
@brixen brixen Added FilePathValue. ea71063
@brixen brixen Added rb_file_open_str. 66c15a6
@brixen brixen Added rb_frame_this_func. 322d2ff
@brixen brixen Added C-API specs for rb_str_inspect. 2aec635
@brixen brixen Added rb_str_inspect. 94ee12f
@brixen brixen Don't use rb_str_resurrect in zlib.c. 39eac82
@brixen brixen C-API spec for rb_str_subseq. 9bd8b67
@brixen brixen Added rb_str_subseq. acb9ca7
@brixen brixen Spec for rb_io_addstr return value. bc62e2c
@brixen brixen Fixed rb_io_addstr. 29f26f5
@brixen brixen More specs for rb_scan_args with 1.9 features. 267d050
@brixen brixen Imported MRI 1.9 rb_scan_args. a15fd3d
@brixen brixen Removed CI tags for passing Zlib specs. 1fe7099
@dbussink dbussink Fix zlib issue in 1.8 mode on Lion d24264d
@dbussink dbussink Apply crc_t fixes to zlib extension
We already fixed this issue in the previous FFI version. This is also
fixed in MRI trunk, which is where this change is copied from.
@dbussink dbussink Remove no longer needed crc_t configure check
This is now handled in the extconf.rb for the extension itself.
Commits on Jul 06, 2012
@ryoqun ryoqun Use logical OR for conditionals e9d7209
@ryoqun ryoqun Avoid signed integer overflow in Fixnum#**
Signed integer overflow is undefined. Avoid it.

For example, when compiled by Clang, the following undefined behavior can be

    8 ** 23
    # => 0 (should be 590295810358705651712)

For the record, this bug is found while investigating the following ci spec
failure when built by Clang (it passes after this commit):

    String#% supports octal formats using %o for negative numbers FAILED
    Expected "..-2000000000000000000005"
     to equal "..75777777777777777777773"

              { } in Object#__script__ at spec/ruby/core/string/modulo_spec.rb:572
          Kernel(Object)#instance_eval at kernel/common/eval18.rb:45
         { } in Enumerable(Array)#all? at kernel/common/enumerable.rb:102
                            Array#each at kernel/bootstrap/array.rb:68
                Enumerable(Array)#all? at kernel/common/enumerable.rb:102
                            Array#each at kernel/bootstrap/array.rb:68
                     Object#__script__ at spec/ruby/core/string/modulo_spec.rb:4
                           Kernel.load at kernel/common/kernel.rb:580
          Kernel(Object)#instance_eval at kernel/common/eval18.rb:45
                            Array#each at kernel/bootstrap/array.rb:68
      Rubinius::CodeLoader#load_script at kernel/delta/codeloader.rb:67
      Rubinius::CodeLoader.load_script at kernel/delta/codeloader.rb:109
               Rubinius::Loader#script at kernel/loader.rb:632
                 Rubinius::Loader#main at kernel/loader.rb:835
@ryoqun ryoqun Add a spec for undefined behavior in Fixnum#** b0ce13a
@dbussink dbussink Merge pull request #1802 from ryoqun/fixnum-pow-overflow
Avoid signed integer overflow in Fixnum#**
@dbussink dbussink Make sure to use encoding agnostic methods for Marshal
Fixes #1801
Commits on Jul 07, 2012
@dbussink dbussink Fix warning when compiling with clang a3c1283
@dbussink dbussink Add specs for singleton_method_(added|removed|undefined) 931e0a7
@dbussink dbussink Add specs for Module#method_defined and Module#method_removed to be p…
…rivate methods
@dbussink dbussink Fix handling of method_(added|removed|undefined) and singleton_method…
… versions

Fixes #1803
Commits on Jul 08, 2012
@dbussink dbussink Ensure that the raise_exc instructions sets up a backtrace 37d01c4
@dbussink dbussink Add specs for String#% with single length strings in 1.9 mode eaecce0
@dbussink dbussink Fix handling printing single characters with String#% 41d7d45
@dbussink dbussink We were wrapping pointers inside pointers here for pointer callbacks
Fixes #1695
Commits on Jul 09, 2012
@ryoqun ryoqun Add Sprinter#print_built_method 1fc54c8
@ryoqun ryoqun Merge pull request #1804 from ryoqun/sprinter-debug-method
Add Sprinter#print_built_method
@dbussink dbussink Only setup native debugging symbols by default
Only add -ggdb3 when we build a debug version to provide additional
debug information.
@ryoqun ryoqun Add a work around for clang 2.9
By this a work around, we support clang 2.9.
@dbussink dbussink Prepare Travis config for future Clang support 075e143
@dbussink dbussink Add file and line tracking to registering global handle locations d58d3d4
Commits on Jul 10, 2012
@i0rek i0rek Implement ffi_lib_flags.
Fixes #1797.
@dbussink dbussink Bump CAPI extension version 626aaa9
Commits on Jul 11, 2012
Michael Klishin Lets try compiler: option support on 98f9d90
@dbussink dbussink Merge pull request #1809 from michaelklishin/patch-1
Lets try compiler: option support on
Ryo Onodera Merge branch 'master' of 9837b30
Commits on Jul 12, 2012
@ryoqun ryoqun Correctly update args array size after 267d050 2a02df9
Ryo Onodera Revert "Add a work around for clang 2.9"
This reverts commit 26a7908.
Commits on Jul 13, 2012
@LTe LTe Remove add_feature from ensure block
When require method raise LoadError @feature instance is not set.
We need to check also check that req local variable is set. Because
require method could raise exception.
@dbussink dbussink Merge pull request #1810 from LTe/require_compiled
Remove add_feature from ensure block
@dbussink dbussink Merge pull request #1807 from i0rek/ffi
Implement ffi_lib_flags.
@dbussink dbussink Handle empty command in debugger b924731
Commits on Jul 15, 2012
@ryoqun ryoqun Remove outdated comment for removed &block parameter
After the following commit, the commented parameter called "block" is removed:
  1cc7427 Support Proc subclasses properly. Fixes #645. Fixes #646.
@dbussink dbussink Fix specs for situations where getaddrinfo returns '' and not '' 4dd6c79
@dbussink dbussink Merge branch 'master' into 2.0.testing 53263c0