Permalink
Commits on Jan 16, 2011
  1. get/setpriority are BSD functions.

    brixen committed with Brian Ford Jan 11, 2011
  2. Haiku specific fix: our dladdr does not take a const void * as the fi…

    …rst param.
    
    This works to get rbx compiling but Haiku should be fixed.
    
    Signed-off-by: Brian Ford <brixen@gmail.com>
    leavengood committed with Brian Ford Jan 11, 2011
  3. Haiku-specific change: Use setjmp instead of _setjmp.

    For some reason while the .cpp files compile when using _setjmp, the
    resulting object files do not link. This seems to be a Haiku issue.
    
    Signed-off-by: Brian Ford <brixen@gmail.com>
    leavengood committed with Brian Ford Jan 11, 2011
  4. Haiku specific fix: add major and minor defines if they aren't there.

    Signed-off-by: Brian Ford <bford@engineyard.com>
    leavengood committed with Brian Ford Jan 11, 2011
  5. Updated config.guess for onig and udis86.

    Brian Ford committed Jan 16, 2011
  6. Account for nil args when running gdb from Agent.

    Brian Ford committed Jan 16, 2011
Commits on Jan 15, 2011
  1. Added lib/rss.

    Brian Ford committed Jan 15, 2011
  2. Use mspec :launch instead of :flags so Agent doesn't start in sub-specs.

    There are specs that unconditionally kill the exe and that does
    not allow the exe to perform any cleanup. This results in numerous
    garbage rbx Agent connection files. It would be nice to have the
    Agent running in all spec processes in case one hangs, but since
    rbx doesn't get a chance to do cleanup when :KILL'd, there's no
    good way to prevent littering these files. So Agent is only started
    for the main process running the specs.
    Brian Ford committed Jan 15, 2011
  3. Added :launch flags for mspec to launch the target.

    Brian Ford committed Jan 15, 2011
  4. Updated CI specs to RubySpec 69255c46.

    Brian Ford committed Jan 15, 2011
  5. Remove CI tags for rb_scan_args.

    Brian Ford committed Jan 15, 2011
  6. Rewrote rb_scan_args specs.

    Brian Ford committed Jan 15, 2011
Commits on Jan 14, 2011
  1. Style cleanups. See below.

    * In the C-API, all VALUEs are handles, so appending _handle to
      variable names helps nothing and just clutters the code.
    * The function declaration is a user-interface element. So variable
      names in the function declaration should be clear and simple and spelled
      correctly. Opt for 'string', 'array', or 'object' over 'str', 'ary', 'obj',
      or 'val'.
    * Since Ruby is an object- oriented language (despite its C beginnings),
      many of the rb_xxx_yyy functions take the equivalent of 'self' as the first
      parameter, so it makes sense to name this self.
    * Inside the function, the C++ object is not 'self', so name it what it is,
      like 'string' or 'array'. If one of the parameters is string and another C++
      variable is needed, use str or something else simple and descriptive.
    Brian Ford committed Jan 14, 2011
  2. More better RSTRING caching.

    Introduce a macro that C extensions can define to disable updating
    and flushing the C-API RString cache for a Ruby string. The default
    is to update and flush the cache.
    
    There are two primary scenarios involved in the C-API:
    
      1. Ruby -> C -> Ruby ...
      2. Ruby -> C -> C++ (ie. vm/builtin/*) -> Ruby
    
    In general, refences to Ruby objects in C code are mediated by a
    separate C++ structure called a Handle. When objects pass the boundary
    from Ruby into C, handles are created for them.
    
    For some objects, notably String, the MRI C extensions are commonly
    coded to access the underlying C structure directly. Since Rubinius
    cannot allow this, we provide a secondary structure that mimics the
    MRI RStruct structure. We term this a cache. There are two operations
    that must be performed on the cache: 1) updating the cache with the
    current contents of the Ruby object; and 2) sync'ing the Ruby object
    with the current contents of the cache (ie RString). By default, the
    update operation occurs when going from Ruby to C, and the sync
    operation occurs when returning from C to Ruby.
    
    However, some of the Rubinius C-API is implemented by calling directly
    into the C++ code that implements the primitive operations for objects
    like String. In these cases, the contents of the cache must be manually
    sync'd to the Ruby object before calling the C++ code and the cache
    must be manually updated after the C++ call before returning to the
    C extension.
    Brian Ford committed Jan 14, 2011
  3. Better RSTRING spec.

    This spec demonstrates that RString caching must be sync'd and
    updated when a call to a rb_xxx function may not pass the Ruby
    <-> C boundary where caching consistency would normally be enforced.
    Brian Ford committed Jan 14, 2011
  4. More better RARRAY caching.

    Brian Ford committed Jan 13, 2011
  5. More better RARRAY specs.

    Brian Ford committed Jan 13, 2011
Commits on Jan 13, 2011
  1. Fix custom separators and **

    Evan Phoenix committed Jan 13, 2011
  2. Add spec for custom seperator with **

    Evan Phoenix committed Jan 13, 2011
  3. Update config.guess

    Evan Phoenix committed Jan 12, 2011
Commits on Jan 12, 2011
  1. translated contributing and communication into Polish

    Signed-off-by: Brian Ford <bford@engineyard.com>
    hosiawak committed with Brian Ford Jan 11, 2011
  2. fixed typos in Polish getting-started docs and regenerated the site

    Signed-off-by: Brian Ford <bford@engineyard.com>
    hosiawak committed with Brian Ford Jan 11, 2011
  3. fixed typos in Polish getting-started docs

    Signed-off-by: Brian Ford <bford@engineyard.com>
    hosiawak committed with Brian Ford Jan 11, 2011
  4. Add Haiku support to the VM rakefile.

    Signed-off-by: Brian Ford <brixen@gmail.com>
    leavengood committed with brixen Jan 11, 2011
  5. Removed std:: prefix for libc functions.

    Brian Ford committed with brixen Jan 12, 2011
Commits on Jan 11, 2011
  1. Convert bstrlib to unix files.

    brixen committed Jan 11, 2011
Commits on Jan 10, 2011
  1. Fix JIT bug creating a block (fancy feast)

    Evan Phoenix committed Jan 10, 2011
  2. Pass rb_ary_delete_at specs.

    brixen committed Jan 10, 2011