For instance when we have the following C file:
#include <time.h>
struct tm x;iwyu generates the following garbage output:
| From 7b6bbba78cb2fcfb2a9def7d2c31aad64c03b5c5 Mon Sep 17 00:00:00 2001 | |
| From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= | |
| <shyouhei@ruby-lang.org> | |
| Date: Wed, 24 Jul 2019 16:29:59 +0900 | |
| Subject: [PATCH] greetings. | |
| MIME-Version: 1.0 | |
| Content-Type: text/plain; charset=UTF-8 | |
| Content-Transfer-Encoding: 8bit | |
| Signed-off-by: 卜部昌平 <shyouhei@ruby-lang.org> |
For instance when we have the following C file:
#include <time.h>
struct tm x;iwyu generates the following garbage output:
| From 366e7e37b5f54c5d359a32f4324b6b90a6c7d33a Mon Sep 17 00:00:00 2001 | |
| From: "Urabe, Shyouhei" <shyouhei@ruby-lang.org> | |
| Date: Mon, 21 Jan 2019 19:04:17 +0900 | |
| Subject: [PATCH] send-pop optimisation part two: eliminate pop | |
| Sending a method, then immediately throwing away its return value, is | |
| one of the most frequent waste of time that ruby does. Now that | |
| callee methods can skip pushing objects onto the stack, why not caller | |
| sites to also avoid popping them. |
| From dc34706366802534e8f24b4efc312942c31cca72 Mon Sep 17 00:00:00 2001 | |
| From: "Urabe, Shyouhei" <shyouhei@ruby-lang.org> | |
| Date: Wed, 5 Sep 2018 14:15:08 +0900 | |
| Subject: [PATCH] print N-gram of instructions that run | |
| This is different from N-gram of generated iseq. Rather it prints | |
| the sequence that was actually executed. | |
| Signed-off-by: Urabe, Shyouhei <shyouhei@ruby-lang.org> | |
| --- |
| diff --git a/lib/crypt_checkpass/argon2.rb b/lib/crypt_checkpass/argon2.rb | |
| index 08f22dd..c42f374 100644 | |
| --- a/lib/crypt_checkpass/argon2.rb | |
| +++ b/lib/crypt_checkpass/argon2.rb | |
| @@ -191,7 +191,7 @@ class CryptCheckpass::Argon2 < CryptCheckpass | |
| require 'argon2' | |
| @dll = Module.new do | |
| extend FFI::Library | |
| - lib = FFI::Compiler::Loader.find 'argon2_wrap' | |
| + lib = ::Argon2::Ext.ffi_libraries.first.name |
| diff --git a/string.c b/string.c | |
| index 435954d313..8a264acef4 100644 | |
| --- a/string.c | |
| +++ b/string.c | |
| @@ -9220,11 +9220,9 @@ rb_str_crypt(VALUE str, VALUE salt) | |
| { | |
| #ifdef HAVE_CRYPT_R | |
| VALUE databuf; | |
| - struct crypt_data *data; | |
| -# define CRYPT_END() ALLOCV_END(databuf) |
| Index: trunk/compile.c | |
| =================================================================== | |
| --- trunk/compile.c (revision 63362) | |
| +++ trunk/compile.c (working copy) | |
| @@ -8929,7 +8929,7 @@ | |
| dump_body.ci_entries = ibf_dump_ci_entries(dump, iseq); | |
| dump_body.cc_entries = NULL; | |
| dump_body.variable.coverage = Qnil; | |
| - dump_body.variable.original_iseq = Qnil; | |
| + dump_body.variable.original_iseq = NULL; |
| --- before.txt 2018-01-26 13:38:32.000000000 +0900 | |
| +++ after.txt 2018-01-26 13:38:57.000000000 +0900 | |
| @@ -719,15 +719,15 @@ miniruby[0x1002259d7] <+3223>: movq %r | |
| miniruby[0x1002259da] <+3226>: movq %r15, %rsi | |
| miniruby[0x1002259dd] <+3229>: vzeroupper | |
| miniruby[0x1002259e0] <+3232>: callq 0x100218b00 ; vm_trace at vm_insnhelper.c:3805 | |
| -miniruby[0x1002259e5] <+3237>: leaq 0x8(%r14), %rax | |
| -miniruby[0x1002259e9] <+3241>: movq %r14, %rcx | |
| -miniruby[0x1002259ec] <+3244>: movq %rax, (%r15) | |
| -miniruby[0x1002259ef] <+3247>: movq %rax, %r14 |
| zsh % git svn dcommit | |
| Committing to svn+ssh://svn@ci.ruby-lang.org/ruby/trunk ... | |
| M include/ruby/ruby.h | |
| Committed r61905 | |
| M include/ruby/ruby.h | |
| r61905 = 2453ad5cc2cb94d9d446feaff2aa8b49feef365d (refs/remotes/svn/trunk) | |
| M include/ruby/ruby.h | |
| Committed r61906 | |
| M include/ruby/ruby.h | |
| r61906 = e7ac1c60436023bd9ff7ae99cca11fe3c16e1ed1 (refs/remotes/svn/trunk) |