Skip to content

Instantly share code, notes, and snippets.

apeflame.com [nps-report*] $ rails s puma
/Users/ian/.rvm/rubies/rbx-head/lib/rubygems/custom_require.rb:36:in `require':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
=> Booting Puma
=> Rails 3.2.2 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from __script__ at /Users/ian/Projects/apeflame/apeflame.com/config/environment.rb:5)
Puma 0.9.5 starting...
(gdb) bt
#0 0x00007fff8ef24ce2 in __pthread_kill ()
#1 0x00007fff867157d2 in pthread_kill ()
#2 0x000000010082e846 in abort () at state.cpp:219
#3 0x000000010002a155 in rubinius::abort () at exception.cpp:120
#4 0x000000010014ccdc in rubinius::capi::Handle::object () at /Users/ian/.rvm/src/rbx-head/vm/capi/handle.hpp:84
#5 0x000000010014ccdc in rubinius::ZeroArguments::invoke (state=0x2403, nm=0x6, env=0x0, args=@0x130ec4b88) at nativemethod.hpp:87
#6 0x000000010014bb69 in rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments> (state=0x130f06ed0, call_frame=0x130ec4e00, exec=0x0, mod=0x130ec4e00, args=@0x130ec4e00) at nativemethod.cpp:679
#7 0x000000010002f474 in rubinius::InlineCache::empty_cache (state=0x130f06ed0, cache=0x130ec5450, call_frame=0x130ec4e60, args=@0x10994a9f0) at inline_cache.cpp:375
#8 0x0000000100032a6a in rubinius::VMMethod::interpreter (state=0x130ec5440, vmm=0x130ec5440, call_frame=0x130ec5440) at instructions.cpp:531
(gdb) frame 6
#6 0x000000010014bb69 in rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments> (state=0x130f06ed0, call_frame=0x130ec4e00, exec=0x0, mod=0x130ec4e00, args=@0x130ec4e00) at nativemethod.cpp:679
679 ret = ArgumentHandler::invoke(state, nm, env, args);
rubinius-2.0.0dev :001 > V8::Context.new
Invalid handle usage detected!
handle: 0x7fff73686fb0
checksum: 0x0
references: 0
type: 0
object: 0
Abort!
2 rbx 0x000000010444e150 rubinius::abort() + 48
diff --git a/lib/compiler/ast/sends.rb b/lib/compiler/ast/sends.rb
index 596e3fd..93744c1 100644
--- a/lib/compiler/ast/sends.rb
+++ b/lib/compiler/ast/sends.rb
@@ -72,6 +72,7 @@ module Rubinius
return
end
+ m = g.new_label
f = g.new_label
diff --git a/lib/compiler/ast/sends.rb b/lib/compiler/ast/sends.rb
index 596e3fd..7205c7e 100644
--- a/lib/compiler/ast/sends.rb
+++ b/lib/compiler/ast/sends.rb
@@ -72,6 +72,7 @@ module Rubinius
return
end
+ m = g.new_label
f = g.new_label
module Enumerable
def each_with_is_last
each_with_index { |obj, i| yield(obj, i == size - 1) }
end
end
diff --git a/kernel/delta/ctype.rb b/kernel/delta/ctype.rb
index 5498ecf..97cd004 100644
--- a/kernel/delta/ctype.rb
+++ b/kernel/delta/ctype.rb
@@ -18,11 +18,7 @@ module Rubinius::CType
when 92; '\\\\'
else
if num < 32 || num > 126
- str = "\\000"
- str.modify!
diff --git a/lib/compiler/ast/control_flow.rb b/lib/compiler/ast/control_flow.rb
index f41bebf..4dd63df 100644
--- a/lib/compiler/ast/control_flow.rb
+++ b/lib/compiler/ast/control_flow.rb
@@ -321,6 +321,11 @@ module Rubinius
else_label.set!
@else.bytecode(g)
+ g.push_literal Rubinius::Compiler::Runtime
+ g.push_scope
diff --git a/lib/compiler.rb b/lib/compiler.rb
index 2353d8b..070498b 100644
--- a/lib/compiler.rb
+++ b/lib/compiler.rb
@@ -13,3 +13,4 @@ require path + "/compiler/compiled_file"
require path + "/compiler/evaluator"
require path + "/compiler/printers"
require path + "/compiler/runtime"
+require path + "/compiler/coverage"
diff --git a/lib/compiler/ast/node.rb b/lib/compiler/ast/node.rb