Age | Commit message (Collapse) | Author |
|
* ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge
data gradually not to exceed INT_MAX. workaround of OpenSSL API
limitation. [ruby-core:67043] [Bug #10633]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
executed on standard Windows OS without ADO.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* signal.c (received_signal): fix condition to define.
[ruby-core:67032] [Bug #10629]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
executed on standard Windows OS without ADO.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* configure.in (jemalloc): fix option argument, should use
`$withval` but not `yes` always. [ruby-core:66994] [Bug #10625]
* configure.in (jemalloc): defer adding the liner option to get
rid of linking contest against jemalloc, so that it works
without runtime dynamic load path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-core:66943] [Bug #10616] Fixed by Alex Slynko.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled
libffi if existing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
installable by rubygems.
* ext/bigdecimal/bigdecimal.gemspec: version 1.2.6.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h (PRIsVALUE): put a space after string
literals not to be confused with C++11 string literal suffix.
https://github.com/ruby/ruby/commit/a9f3eb7#commitcomment-9040169
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* hash.c (hash_equal): prefer true than the result of implicit
conversion from int returned by rb_eql() to VALUE. [Fix GH-789]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* configure.in (rb_cv_binary_elf): get rid of -e option of cat
which is not available on BusyBox, use tr instead.
[ruby-core:64824] [Bug #10210]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should be treated before calling signal(2).
[Bug #10615]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* compile.c (rb_method_for_self_aref, rb_method_for_self_aset):
move from iseq.c to build from node instead of arrays.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Patch by @joeyates [fix GH-783]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
iseq->compile_data->option->specialized_instruction for opt_* insn.
* test/ruby/test_iseq.rb: check no specialized_instructions option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* compile.c (iseq_compile_each): only emit opt_str_freeze,
opt_aref_with, and opt_aset_with insn when no block is given
[Bug #10557] [ruby-core:66595]
* test/ruby/test_optimization.rb (test_block_given_aset_aref):
new test for bug thanks to Bartosz Kopinski.
(test_string_freeze): additional assertion for object_id
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
was this broken?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): call
accessor functions directly, not to be affected by [] and []=
methods. [ruby-core:66846] [Bug #10601]
* struct.c (define_aref_method, define_aset_method): ditto.
* vm_insnhelper.c (rb_vm_opt_struct_aref, rb_vm_opt_struct_aset):
direct accessors of Struct.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
extend timeout seconds to 60 for RGENGC_CHECK_MODE > 0 environment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Arguments after splat do not work under 1.8, either.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* gc.c (GC_HEAP_FREE_SLOTS): move definition to match use order
(RUBY_GC_HEAP_GROWTH_SLOTS): s/factor/number of slots/
* man/ruby.1: add section for GC environment variables
[Feature #10197]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Symbol#to_proc is not standard in Ruby 1.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
with sizeof(RVALUE). [Bug #8984]
* gc.c (obj_memsize_of): ditto.
* NEWS: add a NEWS entry.
* test/objspace/test_objspace.rb: catch up this fix.
* test/ruby/test_file_exhaustive.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (rb_enc_str_coderange): dummy wchar, non-endianness
encoding string cannot be ascii only.
[ruby-core:66835] [Bug #10598]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (primary): restore current_arg so that circular
reference after a method definition is also warned.
[ruby-core:61299] [Bug #9593]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* vm_trace.c (rb_postponed_job_flush): mask signal trap interrupt
too to defer handling after finalizers finished.
[ruby-core:66825] [Bug #10595]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* signal.c (check_stack_overflow): check sp also on i386/x86_64
FreeBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This prevents excessive memory growth when a WeakRef
is repeatedly created
* gc.c (define_final0): avoid duplicate blocks
[Bug #10537]
* test/test_weakref.rb (test_repeated_object_leak): new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* bin/erb (ERB::Main#run): get rid of shadowing outer local
variables. [ruby-core:65772] [Feature #10395]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
assert_nothing_thrown in test-unit 3.0.7 were broken by
UncaughtThrowError change introduced in Ruby 2.2.0
preview2. These assertions in test-unit 3.0.8 work well with
UncaughtThrowError in Ruby 2.2.0 preview2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* bin/erb (ARGV.switch, ERB::Main#run): allow variables to be set
from the command line. [ruby-core:65772] [Feature #10395]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* lib/erb.rb (ERB#lineno): accessor for line number to eval.
* lib/erb.rb (ERB#location=): setter of file name and line number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
GC state (none/marking/sweeping).
[Feature #10590]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (rb_str_crypt): check arguments more strictly.
* crypt() is not for wide char strings
* salt bytes should not be NUL
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* io.c (io_read) Fix spelling in docco for read. [Fix GH-781]
try > tries
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ChangeLog: fix typo, s/Strat/Start/. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Class and Module objects can be living long life.
* iseq.c: Same for ISeq objects.
* gc.c (RVALUE_AGE_RESET): added.
* gc.c (newobj_of): allow to generate (age != 0) objects.
* gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected
objects.
* include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended
flag.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
See [#10354]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_thread_t::local_storage_recursive_hash_for_trace to store
recursive hash to avoid creating new recursive (nested) hashes
for each trace events.
[Bug #10511]
* vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it.
* cont.c: catch up this fix.
* vm.c (rb_thread_mark): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* struct.c (define_aref_method, define_aset_method): use iseq
VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD
makes sense only for local variables. [Feature #10575]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* thread.c (exec_recursive): use the same last method name as
recursive_push in the error message when recursive_pop failed.
[ruby-core:66742] [Bug #10579]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(TestNetHTTPS#test_certificate_verify_failure): on Windows,
Errno::ECONNRESET will be raised when the verify is failure at the
client side, and it'll be eaten by WEBrick.
* test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure):
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This avoids O(n) on lookups with structs over 10 members.
This also avoids O(n) behavior on all assignments on Struct members.
Members 0..9 still use existing C methods to read in O(1) time
Benchmark results:
vm2_struct_big_aref_hi* 1.305
vm2_struct_big_aref_lo* 1.157
vm2_struct_big_aset* 3.306
vm2_struct_small_aref* 1.015
vm2_struct_small_aset* 3.273
Note: I chose use loading instructions from an array instead of writing
directly to linked-lists in compile.c for ease-of-maintainability. We
may move the method definitions to prelude.rb-like files in the future.
I have also tested this patch with the following patch to disable
the C ref_func methods and ensured the test suite and rubyspec works
--- a/struct.c
+++ b/struct.c
@@ -209,7 +209,7 @@ setup_struct(VALUE nstr, VALUE members)
ID id = SYM2ID(ptr_members[i]);
VALUE off = LONG2NUM(i);
- if (i < N_REF_FUNC) {
+ if (0 && i < N_REF_FUNC) {
rb_define_method_id(nstr, id, ref_func[i], 0);
}
else {
* iseq.c (rb_method_for_self_aref, rb_method_for_self_aset):
new methods to generate bytecode for struct.c
[Feature #10575]
* struct.c (rb_struct_ref, rb_struct_set): remove
(define_aref_method, define_aset_method): new functions
(setup_struct): use new functions
* test/ruby/test_struct.rb: add test for struct >10 members
* benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark
* benchmark/bm_vm2_struct_big_aref_lo.rb: ditto
* benchmark/bm_vm2_struct_big_aset.rb: ditto
* benchmark/bm_vm2_struct_small_aref.rb: ditto
* benchmark/bm_vm2_struct_small_aset.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Patchby @stderr [ci skip][fix GH-780]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* object.c: [DOC] Revise documentation by Marcus Stollsteimer at
[ruby-core:66368]. [Bug #10526]
* #inspect: be more specific about generated string, remove
obsolete example.
* #nil?: use code examples instead of different call-seq's.
* #tap: clarify what is yielded.
* Integer(): be more specific about to_int and to_i, remove
reference to Ruby 1.8.
* Array(): fix error.
* Class: fix variable name style and indentation in example.
* improve consistency, fix typos and formatting.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|