Skip to content

Instantly share code, notes, and snippets.

View k-tsj's full-sized avatar

Kazuki Tsujimoto k-tsj

View GitHub Profile
@k-tsj
k-tsj / app_pentomino.log
Created February 4, 2012 16:12
bm_app_pentomino log
$ make benchmark OPTS='-r 2 -o '${rev}'.log --executables="./ruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext --" --pattern="bm_app_pent"'
b418bc9be47ac63da559cb4bbdf705d83d99cde2.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 18.3015801906586
b418bc9be47ac63da559cb4bbdf705d83d99cde2.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 17.8015170097351
450c2094be9ef5ddf0f5f91f1744e03dac93af31.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 17.7401349544525
450c2094be9ef5ddf0f5f91f1744e03dac93af31.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 17.962229013443
746aa6f74b55b1783242b4f074200105dd7d90bc.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 17.7444908618927
746aa6f74b55b1783242b4f074200105dd7d90bc.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 18.1857919692993
1e79a33e2178202bbc7f08996bfd7cffe30f48f9.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 17.8341698646545
1e79a33e2178202bbc7f08996bfd7cffe30f48f9.log:ruby 2.0.0dev (2011-11-25) [x86_64-linux] 17.9613330364227
@k-tsj
k-tsj / test-all.log
Created February 5, 2012 14:12
r34308 test-all --gc-stress log
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" -vq -j4 --jobs-status -x etc/test_etc.rb -x benchmark -x webrick -x xmlrpc/test_cookie.rb -x cgi/test_cgi_tag_helper.rb -x drb --gc-stress
Run options: "--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" -vq -j4 --jobs-status -x etc/test_etc.rb -x benchmark -x webrick -x xmlrpc/test_cookie.rb -x cgi/test_cgi_tag_helper.rb -x drb --gc-stress
# Running tests:
1465:waiting 1467:waiting 1470=test_rake_task_lib 1472:waiting
1465:waiting 1467:waiting 1470=test_rake_task_lib 1472=test_rake_pseudo_status
1465=test_rake_win32 1467:waiting 1470=test_rake_task_lib 1472=test_rake_pseudo_status
1465=test_rake_win32 1467:waiting 1470=test_rake_task_lib 1472=test_rake_pseudo_status
1465=test_rake_win32 1467:waiting 1470=test_rake_task_lib 1472=test_rake_pseudo_status
@k-tsj
k-tsj / .gdbinit
Created April 22, 2012 10:59
.gdbinit for mruby
define dump_irep
set $i = 0
set $irep = ($arg0)
while ($i < $irep->ilen)
set $code = $irep->iseq[$i]
set $OPCODE = ((mrb_code)($code) & 0x7f)
set $ARG_A = ((((mrb_code)($code)) >> 23) & 0x1ff)
set $ARG_B = ((((mrb_code)($code)) >> 14) & 0x1ff)
set $ARG_C = ((((mrb_code)($code)) >> 7) & 0x7f)
set $ARG_Bx = ((((mrb_code)($code)) >> 7) & 0xffff)
@k-tsj
k-tsj / gist:2601217
Created May 5, 2012 09:45
run boostraptest on mruby
2012-05-05 18:36:59 +0900
Driver is ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
Target is ruby 1.8.7 (2010-08-16 patchlevel 302) [i386-mingw32]
test_attr.rb syntax error, unexpected tLSHFT, expecting ')'
syntax error, unexpected '\n', expecting '{'
FF
test_autoload.rb FFFFFFFFFFFF.F
test_block.rb ..........FF...............F............FF.FFF.F.FFFFF.

Requirements

  • ruby 1.9.3-p0(–prefix=/usr/local/ruby-1.9.3)

  • gnuplot

Usage

cd /tmp
git clone git://github.com/ruby/ruby.git
cd ruby
cp -a benchmark /tmp
sh path/to/bm-run.sh
@k-tsj
k-tsj / gist:4249318
Created December 10, 2012 08:20
CRuby stack overflow detection

前提

  • Ubuntu 12.04 x64(pthread_attr_getstack利用可)
  • 図の上部側が下位アドレス
  • [stack]とあるのは/proc/[PID]/mapsで確認できる[stack]の先頭、末尾アドレス

pthread_attr_getstack由来の値

                                             +--------+ -----------------------------------

| 4KB | | |

@k-tsj
k-tsj / gist:4303292
Last active July 22, 2018 06:59
CRuby ENABLE_TRAP patch
diff --git a/tool/ruby_vm/views/_insn_entry.erb b/tool/ruby_vm/views/_insn_entry.erb
index bae8eae890..08d16882ec 100644
--- a/tool/ruby_vm/views/_insn_entry.erb
+++ b/tool/ruby_vm/views/_insn_entry.erb
@@ -18,6 +18,11 @@ INSN_ENTRY(<%= insn.name %>)
% end
START_OF_ORIGINAL_INSN(<%= insn.name %>);
+if (rb_iseq_eval_main_p && getenv("ENABLE_TRAP")) {
+ rb_vmdebug_stack_dump_raw_current();
@k-tsj
k-tsj / gist:4527691
Created January 14, 2013 04:05
yamy-0.03-alt-tab.patch
diff --git a/hook.cpp b/hook.cpp
index 98b585d..b9a994f 100644
--- a/hook.cpp
+++ b/hook.cpp
@@ -810,6 +810,9 @@ static LRESULT CALLBACK lowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lP
if (g.m_keyboardDetour && g.m_engine) {
unsigned int result;
+ if (nCode == HC_ACTION && pKbll->vkCode == VK_TAB && pKbll->flags & LLKHF_ALTDOWN) {
+ goto through;
@k-tsj
k-tsj / gist:4754297
Last active December 12, 2015 09:49
Bug #7825 調査状況まとめ

r39197に対するパッチ。

diff —git a/vm.c b/vm.c index 36def2c..b646ea7 100644 - a/vm.c + b/vm.c @ -262,7 +262,7 @ ruby_vm_run_at_exit_hooks(rb_vm_t *vm) */ #define ENV_IN_HEAP_P(th, env) \
@k-tsj
k-tsj / gist:4953202
Last active December 13, 2015 18:08
Bug #7825
diff --git a/vm.c b/vm.c
index 36def2c..89314c7 100644
--- a/vm.c
+++ b/vm.c
@@ -1782,7 +1782,14 @@ rb_thread_mark(void *ptr)
if (iseq) {
rb_gc_mark(RUBY_VM_NORMAL_ISEQ_P(iseq) ? iseq->self : (VALUE)iseq);
}
- if (cfp->me) ((rb_method_entry_t *)cfp->me)->mark = 1;
+ if (cfp->me) {