| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
JRuby's version output.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the code so that C compiler unify div instructions of `%` and `/`.
Before:
4291b0: 48 89 f0 mov %rsi,%rax
4291b3: 31 d2 xor %edx,%edx
4291b5: 48 83 ef 01 sub $0x1,%rdi
4291b9: 48 f7 f1 div %rcx # <---- !
4291bc: 41 0f b6 04 11 movzbl (%r9,%rdx,1),%eax
4291c1: 31 d2 xor %edx,%edx
4291c3: 41 88 04 38 mov %al,(%r8,%rdi,1)
4291c7: 48 63 4b 04 movslq 0x4(%rbx),%rcx
4291cb: 48 89 f0 mov %rsi,%rax
4291ce: 48 f7 f1 div %rcx # <---- !
4291d1: 48 89 c6 mov %rax,%rsi
4291d4: 48 85 ff test %rdi,%rdi
4291d7: 75 d7 jne 4291b0 <big2str_2bdigits+0x50>
4291d9: 48 63 6b 10 movslq 0x10(%rbx),%rbp
4291dd: 48 01 6b 20 add %rbp,0x20(%rbx)
4291e1: 48 8b 44 24 48 mov 0x48(%rsp),%rax
4291e6: 64 48 33 04 25 28 00 xor %fs:0x28,%rax
After:
4291b0: 48 63 73 04 movslq 0x4(%rbx),%rsi
4291b4: 31 d2 xor %edx,%edx
4291b6: 48 83 e9 01 sub $0x1,%rcx
4291ba: 48 f7 f6 div %rsi # <---- !
4291bd: 41 0f b6 14 10 movzbl (%r8,%rdx,1),%edx
4291c2: 88 14 0f mov %dl,(%rdi,%rcx,1)
4291c5: 48 85 c9 test %rcx,%rcx
4291c8: 75 e6 jne 4291b0 <big2str_2bdigits+0x50>
4291ca: 48 63 6b 10 movslq 0x10(%rbx),%rbp
4291ce: 48 01 6b 20 add %rbp,0x20(%rbx)
4291d2: 48 8b 44 24 48 mov 0x48(%rsp),%rax
4291d7: 64 48 33 04 25 28 00 xor %fs:0x28,%rax
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
and macros to work with unified CaseMappingSpecials array.
(with Kimihito Matsui)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* compile.c (compile_named_capture_assign): optimize named capture
assignments, by replacing repeating global variable accesses
with `dup`, and by returning the matched result instead of
re-getting it from the MatchData.
* parse.y (reg_named_capture_assign_gen): build just assignment
nodes for the optimization.
ex. `/(?<x>.)/ =~ "bar"`
- old
```
0000 putstring "bar"
0002 opt_regexpmatch1 /(?<x>.)/
0004 pop
0005 getglobal $~
0007 branchunless 25
0009 getglobal $~
0011 putobject :x
0013 opt_aref <callinfo!mid:[], argc:1, ARGS_SIMPLE>
0016 setlocal_OP__WC__0 2
0018 getglobal $~
0020 putobject_OP_INT2FIX_O_0_C_
0021 opt_send_without_block <callinfo!mid:begin, argc:1, ARGS_SIMPLE>
0024 leave
0025 putobject nil
0027 setlocal_OP__WC__0 2
0029 putobject nil
0031 leave
```
- new
```
0000 putstring "bar"
0002 opt_regexpmatch1 /(?<x>.)/
0004 getglobal $~
0006 dup
0007 branchunless 14
0009 putobject :x
0011 opt_aref <callinfo!mid:[], argc:1, ARGS_SIMPLE>
0014 setlocal_OP__WC__0 2
0016 leave
```
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* file.c (ruby_is_fd_loadable): now return -1 if loadable but
may block.
* ruby.c (open_load_file): wait to read by the result of
ruby_is_fd_loadable, without fstat.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
| |
On a cursory inspection, using rb_block_call for extra_chain_cert
is thread-unsafe. There may be other instances of thread-unsafe
behavior in this method, but one is enough.
* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe
[ruby-core:73803] [Bug #12069]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* parse.y: adjust indent and tabify spaces after tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum
limit. [ruby-core:74285] [Bug #12171]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* numeric.c (rb_fix2str): fix edge case, accidentally generated
wrong Fixnum from LONG_MIN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* enc/unicode.c (CodePointListValidP): fix off-by-one error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* enc/unicode.c (CodePointListValidP): add pathological boundary
check, for gcc 4.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+"
cannot enclose non-identifier characters.
a patch by Sebastian S in [ruby-core:74278]. [Bug#12170]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* test/lib/test/unit.rb (Options#non_options): make regexp name
options prefixed with "!" negative filters.
* common.mk (TEST_EXCLUDES): use negative filter to exclude memory
leak tests. -x option excludes test files, not test methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
case mapping data not available from case folding by unifying all
three cases (special title, special upper, special lower).
* enc/unicode.c: Adjust macro names for above (macros are currently inactive).
(with Kimihito Matsui)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
DATA is expected to be text mode, but there is no ways to make a
FD to text mode from binary mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* ruby.c (open_load_file): always open in binary mode if provided,
parser deals with CRs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
* iseq.c (prepare_iseq_build): enable coverage by coverage_enabled
option, not by parse_in_eval flag in the thread context.
* iseq.h (rb_compile_option_struct): add coverage_enabled flag.
* parse.y (yycompile0): set coverage_enabled flag if coverage
array is made.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* node.c (dump_node): show nd_compile_option only when it is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* node.c (F_NODE, F_OPTION): stringize member names defined as
macros before expansion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* iseq.h (rb_compile_option_struct): turn boolean flags to bit
fields.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* node.c (dump_option): nd_compile_option is a hidden hash object,
cannot call inspect on it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* iseq.c (prepare_iseq_build): set coverage at once, not
repeatedly resetting.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* thread.c (update_coverage): check type of coverage array not
only if non-zero.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
AIX does not set the MSG_TRUNC flag for a message partially read
by recvmsg(2) with the MSG_PEEK flag set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* common.mk (prelude.o): fix missing dependency on iseq.h, for
rb_compile_option_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* benchmark/driver.rb (BenchmarkDriver.load): remove unused
variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* benchmark/memory_wrapper.rb: use respond_to? because
member? does not work well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use `--measure-target=[target]'.
Now, we can use the following targets:
* real (default): real time which returns process time in sec.
* peak: peak memory usage (physical memory) in bytes.
* size: last memory usage (physical memory) in bytes.
* benchmark/memory_wrapper.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* hash.c (COPY_DEFAULT): new macro to copy the default value/proc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* hash.c (SET_PROC_DEFAULT): new macro to set the default proc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* hash.c (SET_DEFAULT): new macro to set the default value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* hash.c (rb_hash_to_h): share hash_dup to copy the contents and
the default value/proc only.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* hash.c (hash_alloc_flags): allocate new hash with the flags and
the default value.
* hash.c (hash_dup): duplicate with the flags and the default
value.
* hash.c (rb_hash_dup): make the duplicated hash write-barrier
protected.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* benchmark/bm_vm3_gc_old_immediate.rb: ditto.
* benchmark/bm_vm3_gc_old_lazy.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
receives signals.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* test/ruby/test_hash.rb: add tests for Hash#to_h, which copies
default value/proc but not instance variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* hash.c (tbl_update_func): extract function typedef from the
declaration of tbl_update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|