Age | Commit message (Collapse) | Author |
|
* error.c (rb_exc_new, rb_exc_new_str): instantiate exception
object directly without Exception.new method call.
Redefinition of class method `new` is an outdated style, and
internal exceptions should not be affected by it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (convert_unit_to_func): separate a function call from a
macro, which evaluates the argument multiple times.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h (rb_int2inum, rb_uint2inum): adjust
declarations. [ruby-core:83424] [Bug #14036]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* random.c (random_s_bytes): new method Random.bytes, which is
equivalent to Random::DEFAULT.bytes. [Feature #4938]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Makefile.in (mjit_config.h): expand for each words.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
AC_CHECK_TYPE (no "S") does not define HAVE_* macros for types,
so use AC_CHECK_TYPES (with "S") instead. Without this,
HAVE_CLOCKID_T goes undefined and I can't USE_MONOTONIC_COND in
thread_pthread.c :<
Fixes: r62446 (git 673ae0e3c9cefd693ef82f19a6761e147fc6de93)
("configure.ac: check clockid_t with necessary headers")
* tool/m4/ruby_replace_type.m4: use AC_CHECK_TYPES for HAVE_* macros
[ruby-core:85659] [Bug #14494]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h (rb_uint2big, rb_int2big): declare with
uintptr_t and intptr_t instead of VALUE and SIGNED_VALUE
respectively. [ruby-core:83424] [Bug #14036]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (check_tmpdir): W_OK and S_ISDIR may not defined on
Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (system_tmpdir): prefer `$TMPDIR` and `$TMP` over system
defulat temporary directory, if exists, writable, and safe.
[ruby-core:85651] [Bug #14496]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (CC_DLDFLAGS_ARGS): default libraries are necessary on
Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (system_tmpdir): rb_w32_wstr_to_mbstr returns the pointer
to `malloc`ed region. allocate with `xmalloc` instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* vm.c: include dummy dtrace probes header in jit header.
* vm_insnhelper.c: probes headers are included by vm.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Makefile.in, common.mk, win32/Makefile.sub: moved MJIT macros to
mjit_config.h from XCFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
I noticed this because of https://bugs.ruby-lang.org/issues/14494
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
If MINIRUBY had arguments, which is the case of cross compiling
they wouldn't be parsed correctly and compiling would fail as a RUBY
without arguments would then be present in the Makefile's in ext/*
[ruby-core:85620] [Bug #14486] [Fix GH-1819]
Author: Carl HoĢrberg <[email protected]>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Followup-to: r61719 (commit e8f40bd8f83e1b22ef9c22f0e5d7a1fc0b07f94c)
("thread_pthread: remove HAVE_PTHREAD_ATTR_INIT ifdefs")
[ruby-core:84758] [Misc #14342]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This is required on some platforms to avoid leaks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
No need to hold a lock while destroying a condition variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This should be slightly cheaper on NPTL as it does not rely on
atomics to set pd->joinid. We already use pthread_attr_setdetachstate,
so it won't introduce new problems by using a function we did not
use before.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
thread.c already includes vm_core.h where USE_SIGALTSTACK is
defined, #include it explicitly (eval_intern.h already includes
it)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (compile_c_to_so): pass pch file only when using
"-include-pch" option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Update to use ccan/list for constant-time delete on expiry and
avoid malloc. We must also initialize th->thread_id upon thread
reuse so Thread#name= works immediately upon thread creation.
We must also reinitialize the cache mutex and list_head on
fork like we do with GVL and timer thread mutexes.
While we're at it, use monotonic clock for timeout to avoid
system time changes.
"make exam TESTS='-x test_time_tz'" passes with USE_THREAD_CACHE
enabled (but remains off, here).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (compile_c_to_so): place DLDFLAGS at last, as compilers
other than cl.exee don't care the order of flag arguments,
usually.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (form_args): do not use va_copy, which cannot detect
appropriate way to simulate when cross compiling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Users may subtract and round into negative values when using
Thread#join, so clamp the timeout to zero to avoid infinite/long
timeouts.
Note: other methods such as Kernel#sleep and IO.select will
raise on negative values, but Thread#join is an outlier *shrug*
This restores Ruby 2.5 (and earlier) behavior.
Fixes: r62182 (commit c915390b9530c31b4665aacf27c1adfc114f768e)
("thread.c: avoid FP for Thread#join")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Using:
strace ruby -e 'Thread.new { sleep }.join(Float::INFINITY)'
Will show a difference in futex() syscall args (not that I'd
ever advocate Float::INFINITY as a Thread#join arg :P)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* mjit.c (compile_c_to_so): `CC_DLDFLAGS_ARGS` must be after `-link` for cl.exe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Rely on getclockofday for CLOCK_MONOTONIC, avoid needless
variables, and rely on overflow protection from timespec_add
instead of coding our own.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
No need to waste cycles updating timespecs if there's no expiry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Rename "end" as a appropriate for readability.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This hopefully improves readability when comparing timespecs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Naming the constant timespec as "end" should make it more
apparent is is an absolute time. Update callers, too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fixes: r62450 (commit 1aaeeb326e754c5c5db83fbf35f780f729a9dfed)
("long long is a C99ism")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
cf: ISO 9899 section 5.1.1.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
so SIZEOF_LONG_LONG is not always available.
We have to check its defined?-ness before using.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/socket/lib/socket.rb (Addrinfo#connect_internal): make
protected for Addrinfo#connect_to, instead of private and send.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Makefile.in, win32/Makefile.sub (LIBRUBY_A): link with extension
libraries if EXTSTATIC is set, so that static-ruby would work
too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Makefile.in, win32/Makefile.sub (PRE_LIBRUBY_UPDATE): separate
definitions without miniruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|