aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * properties.nobu2012-12-200-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPSemboss2012-12-205-8/+107
| | | | | | | | | | | | | | mode manually. * test/openssl/utils.rb: turn off FIPS mode for tests. This prevents OpenSSL installations with FIPS mode enabled by default from raising FIPS-related errors during the tests. * test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL installations. [Feature #6946] [ruby-core:47345] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add ticket numberko12012-12-191-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c: support variable VM/Machine stack sizes.ko12012-12-197-40/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specified by the following environment variaables: - RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation. default: 128KB (32bit CPU) or 256KB (64bit CPU). - RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread creation. default: 512KB or 1024KB. - RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation. default: 64KB or 128KB. - RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber creation. default: 256KB or 256KB. This values are specified at launched timing. You can not change these values at running time. Environ variables are only *hints* because: - They are aligned to 4KB. - They have minimum values (depend on OSs). - Machine stack settings are ignored by some OSs. Default values especially fiber stack sizes are increased. This change affect Fiber's behavior: (1) You can run more complex program on a Fiber. (2) You can not make many (thousands) Fibers because of lack of address space (on 32bit CPU). If (2) bothers you, (a) Use 64bit CPU with big memory, or (b) Specify RUBY_FIBER_(VM|MACHINE)_STACK_SIZE correctly. You need to choose correct stack size carefully. These values are completely rely on systems (OS/compiler and so on). * vm_core.h (rb_vm_t::default_params): add to record above settings. * vm.c (RubyVM::DEFAULT_PARAMS): add new constant to see above setting. * thread_pthread.c: support RUBY_THREAD_MACHINE_STACK_SIZE. * cont.c: support RUBY_FIBER_(VM|MACHINE)_STACK_SIZE. * test/ruby/test_fiber.rb: add tests for above. * test/ruby/test_thread.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_fiber.rb: remove a strange single quote character.ko12012-12-192-1/+6
| | | | | | | | With this character, this script exits by SyntaxError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-12-20svn2012-12-191-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/.document: Add missing ext modules to .documentzzak2012-12-192-0/+12
| | | | | | | Patch by Ryunosuke SATO [Fixes Github #224] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.c (load_file_internal): use original C string as the filenameusa2012-12-192-2/+10
| | | | | | | | | for parser. reported by whiteleaf at [ruby-list:49085] [ruby-dev:46738] [Bug #7562] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * marshal.c (marshal_dump, marshal_load): fix SEGV during make rdocngoto2012-12-192-2/+9
| | | | | | | | | and test failure in TestMarshal#test_gc and test_context_switch on SPARC Solaris 10 compiled with Oracle Solaris Studio 12.3. [Bug #7591] [ruby-dev:46772] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* style fix.kosaki2012-12-191-2/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: nul in const namenobu2012-12-193-3/+17
| | | | | | * object.c (rb_mod_const_get): nul byte is invalid as constant name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/methods.rdoc: rdoc fix, patch by Dave Brownmarcandre2012-12-191-2/+2
| | | | | | [github:222] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (rb_threadptr_exec_event_hooks): get rid of racetarui2012-12-192-2/+7
| | | | | | | condition. [Bug #7589] [ruby-dev:46763] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/literals.rdoc: Added 0d decimal format. Thanks Nobu!drbrain2012-12-192-1/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/methods.rdoc: Fixed typo. Thanks to Josh Susser.drbrain2012-12-192-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems/commands/query_command.rb: Refactored to improvedrbrain2012-12-198-119/+236
| | | | | | | | | | | | | | | | | | maintainability. * test/rubygems/test_gem_commands_query_command.rb: Note default gems in gem list details. * lib/rubygems/uninstaller.rb: Detect all gems for uninstallation. This allows duplicate installs of default gems to be removed. * lib/rubygems/specification.rb: Allow use of ::each_spec. * lib/rubygems/test_case.rb: Added install_default_gems. * test/rubygems/test_gem_commands_uninstall_command.rb: Moved test down to the uninstaller tests. * test/rubygems/test_gem_uninstaller.rb: Test for uninstallation of default gems and duplicate default gems. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use next in proc instead of break or returnnaruse2012-12-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/methods.rdoc: Add () around keyword arguments example fordrbrain2012-12-192-1/+6
| | | | | | | consistency. Thanks to Josh Susser. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Don't check events from different files like r38456naruse2012-12-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typokazu2012-12-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Push given event only if it is right onenaruse2012-12-191-2/+2
| | | | | | On parallel test-all, trace event may fire on another threads git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r38371 and r38384. they didn't solve the issuenaruse2012-12-192-11/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress warningsnaruse2012-12-191-11/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: fix a typo for r38452.nagachika2012-12-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (rb_vm_jump_tag_but_local_jump): remove unnessesary 2ndnagachika2012-12-184-7/+14
| | | | | | | | | | argument. * load.c (rb_load_internal): ditto. * eval_intern.h (rb_vm_jump_tag_but_local_jump): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-12-19svn2012-12-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos and styleskazu2012-12-181-5/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: add ML and ticket ref for r38441.nagachika2012-12-181-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_wait_writable): don't use rb_thread_wait_fd()kosaki2012-12-182-8/+13
| | | | | | | | | | | because it is for waiting until io readable. * io.c (rb_io_wait_writable): always use rb_thread_fd_writable() instaed of bare rb_wait_for_single_fd(). we shouldn't ignore return value. * io.c (rb_io_wait_readable): ditto. always use rb_thread_wait_fd(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_wait_fd_rw): fix infinite loop bug.kosaki2012-12-182-5/+8
| | | | | | rb_wait_for_single_fd() never return positive number. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rdoc/encoding.rb: Do not remove #! line from document whendrbrain2012-12-185-4/+37
| | | | | | | | | | | | | setting encoding. This allows ruby executables to be parsed as ruby files. * test/rdoc/test_rdoc_encoding.rb: Test for above. * lib/rdoc/parser.rb: Set the parser file name of ruby executables correctly. * test/rdoc/test_rdoc_parser.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/literals.rdoc: Used simplified heredoc example thatdrbrain2012-12-182-4/+13
| | | | | | | doesn't include method definition. Added heredoc with backticks. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rdoc/store.rb: Work around RDoc stores from older versions ofdrbrain2012-12-183-0/+21
| | | | | | | | RDoc. * test/rdoc/test_rdoc_store.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rdoc/ruby_lex.rb: Return a TkHEREDOC instead of a TkSTRING whendrbrain2012-12-184-9/+80
| | | | | | | | | | the heredoc identifier is followed by a line-end. This allows proper display of some HEREDOCs in source view. * lib/rdoc/ruby_token.rb: Added TkHEREDOC * test/rdoc/test_rdoc_ruby_lex.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2012-12-180-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (rb_vm_make_jump_tag_but_local_jump): take care of the casenagachika2012-12-185-0/+43
| | | | | | | | | | TAG_JUMP() with TAG_FATAL (ex. rb_fatal()). * test/ruby/test_fiber.rb (test_fatal_in_fiber): add a test for above. * ext/-test-/fatal/extconf.rb, ext/-test-/fatal/rb_fatal.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc forzzak2012-12-182-26/+33
| | | | | | | TracePoint#defined_class git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* typos in changelogzzak2012-12-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems/specification.rb: Fixed ruby output of requirementsdrbrain2012-12-183-14/+30
| | | | | | | | | with multiple version specifiers. * test/rubygems/test_gem_ext_cmake_builder.rb: Only look for specific lines in cmake output. Should fix [ruby-trunk - Bug #7579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/literals.rdoc: Added 0o octal integers.drbrain2012-12-182-2/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl.rb: Use :TLSv1_2_client explicitly inemboss2012-12-182-1/+9
| | | | | | | | | test_tls_v1_2 to prevent upstream bug. [Bug #7197] [ruby-dev:46240] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Show $LOAD_PATH and RUBYLIB to debug easiernaruse2012-12-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl.rb: Improve my grammar.emboss2012-12-181-3/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/ssl.rb: Enable insertion of empty fragments as aemboss2012-12-184-4/+30
| | | | | | | | | | | | | | | countermeasure for the BEAST attack by default. The default options of OpenSSL::SSL:SSLContext are now: OpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS [Bug #5353] [ruby-core:39673] * test/openssl/test_ssl.rb: Adapt tests to new SSLContext default. * NEWS: Announce the new default. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix ChangeLog commentko12012-12-171-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: remove `VM_METHOD_TYPE_CFUNC_FRAMELESS' method type.ko12012-12-176-38/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method type is for optimized CFUNC such as Fixnum#+ and so on. This feature is half-baked and no way to use them. [Background] Now, VM has opt_plus instructions to optimize `+' methods for some Classes (such as Fixnum, Float (flonum)). We call this type of instructions as `specialized instructions'. This simple technique improve simple program dramatically. However, we can make specialized instructions for only several types (classes) and selectors (method names) because a large instruction will be slow. In other words, this technique has no extensibility. To overcome this problem, VM_METHOD_TYPE_CFUNC_FRAMELESS was introduced (r37198). This type is a variant of CFUNC, but called their functiions directly without building a method frame. Any CFUNC method can be defined as frameless methods if a method is not needed to make method frame. Frameless methods are faster as specialized instructions (a bit slower, but no need to care). No problem described at http://charlie.bz/blog/why-do-singleton-methods-make-ruby-slow because this technique doesn't see class, but see method body itself. Alias is also no problem. [Problem] However, we can't set frameless method type for polymorphic methods such as Array#[]. Necessity for method frame depends on which parameter type. For example, Fixnum#+ needs method frame if coerce is needed. Current VM_METHOD_TYPE_CFUNC_FRAMELESS is not flexible and need more tuning to introduce it. Expected behavior of frameless method type may be: result = optimized_cfunc(params); /* call optimized cfunc */ if (result == Qundef) { result = normal_cfunc(); } This is why I say this feature is half-baked. We need to learn primitive method in Smalltalk more. (I heard this name at RubyConf Taiwan this month. Thanks!) [Conclusion] Nobody may use this feature and there is no compatibility issue. This feature goes to next minor (2.1?). * proc.c (rb_method_entry_arity): ditto. * vm_eval.c, vm_insnhelper.c, vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (fill_id_and_klass): TracePoint#defined_class returnsko12012-12-173-5/+65
| | | | | | | | | | | | | | | | | | | | singleton class. `set_trace_func' passed attached class (which is attached/modified by singleton class) by 6th block parameter if it is singleton class. Previous behavior follows this spec. However, this method named `defined_class' should return singleton class directly because singleton methods are defined in singleton class. There are no compatible issue because TracePoint is introduced after 2.0. But compatiblity with `set_trace_func' is brokne. This means that you can not replace all `set_trace_func' code with TracePoint without consideration of this behavior. [Bug #7554] * test/ruby/test_settracefunc.rb: change a test to catch up an above chagne. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping sotenderlove2012-12-172-35/+42
| | | | | | common cases are evaluated first. Thanks Kevin Menard! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/optparse.rb: Remove 'developer documentation' section from rdoczzak2012-12-172-0/+8
| | | | | | | Patch by Marcus Stollsteimer [ruby-core:50526][Bug #7504] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* typozzak2012-12-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e