summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-07transform_mjit_header.rb: apply Regexp.escapek0kubun
to prevent future breakage Following up r62285 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07Remove redundant RTESTkazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07transform_mjit_header.rb: ignore unsupported cck0kubun
to generate MJIT header. Even if we can't build MJIT header, Ruby's build should success. And compilers which are not explicitly supported are likely to fail to transform MJIT header. Also you can pass only gcc or clang to --jit-cc=xxx for now. Thus generating header does never make sense. So I decided to conservatively give up MJIT header generation. But please feel free to add your favorite compiler's macro if you think it's working. (Another workaround is passing -D__GNUC__ :p) [Bug #14447] [Bug #14446] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07defs/gmake.mk: make universal mjit_min_header linknobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit.c: system_tmpdirnobu
* mjit.c (system_tmpdir): use system provided temporary directory, and TMPDIR as well as mktemp(1), before TMP and "/tmp". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07.gitignore: ignore min header for in-place buildk0kubun
In some revision, the build directory of minimized header is changed, and then it's no longer ignored. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit.c: fix buffer overflownobu
* mjit.c (sprint_uniq_filename): get rid of silent buffer overflow. * mjit.c (get_uniq_filename, convert_unit_to_func): allocate enough buffer before formatting. * mjit.c (convert_unit_to_func): use DLEXT instead of hard coded extension. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit.c: windows should include fcntl.h took0kubun
Fixing build failure on mswin by r62279 mjit.c ../mjit.c(1137) : error C2065: 'O_RDONLY' : undeclared identifier NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\cl.EXE"' : return code '0x2' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit.c: FD instead of FILEnobu
* mjit.c (init_header_filename): just FD instead of FILE to check file is accessible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit.c: fd is no longer valid after fclosenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit.c: fix declaration of ruby_null_devicenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07thread.c: int32_t instead of suseconds_tnobu
* thread.c (timeval_for): cast to int32_t instead of suseconds_t, which is not defined non-POSIX platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07fix up r62272nobu
* thread.c (timeval_for): tv_usec is suseconds_t which may be smaller than long. * thread_pthread.c (native_cond_timeout): ret is now used in CLOCK_MONOTONIC case only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07remove declaration of ruby_engine from internal.husa
* internal.h (ruby_engine): remove declaration of ruby_engine because it's declared at ruby/version.h. * ruby.c: include ruby/version.h for ruby_engine. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07mjit mswin support (WIP)usa
* mjit.c (compile_c_to_so): fixed broken xfree position. * mjit.c (init_header_filename): refactored. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07thread.c: favor timespec internallynormal
This results in fewer conversion on common modern systems with support for clock_gettime, pthread_cond_timedwait and ppoll. gettimeofday is declared obsolete by POSIX.1-2008, so it is yet another reason to move away from it. This also appears to result in the reduction of compatibility code required for dealing with inconsistent implementations of "struct timeval".tv_sec In the future, this will also result in fewer conversions for kqueue and pselect if we elect to use them. [ruby-core:85416] [Feature #14452] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06lib/ostruct.rb: Use `FrozenError` instead of `RuntimeError`.marcandre
Patch by Yuuji Yaginuma. [Fixes GH-1808] In other classes, `FrozenError` will be raised if change the frozen object. In order to match the behavior, I think that `FrozenError` should use in `OpenStruct`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06lib/matrix.rb: Document deprecated methods [#12032] [doc] [ci-skip]marcandre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06common.mk: can't rescue NotImplementedError by defaultnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06share ruby_null_devicenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit mswin support (WIP)usa
* win32/Makefile.sub (LIBRUBYARG_SHARED): define for MJIT because it is used in common.mk. * mjit.c (make_pch): skip temporary for mswin. * mjit.c (compile_c_to_so, init_header_filename, mjit_init): mswin support. * mjig_compile.c (mjit_compile): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: make null device portablek0kubun
for future mswin support git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: prefix "_ruby" to precompiled header took0kubun
for consistency and to clarify who created it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06ruby.c: add MJIT_FORCE_ENABLE macrok0kubun
to always enable MJIT for testing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06common.mk: clean mjit headers by clean-localnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: try installed header onlynobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06moved MJIT_CPPFLAGSnobu
* Makefile.in, win32/Makefile.sub (XCFLAGS): moved MJIT_CPPFLAGS from CPPFLAGS. MJIT_CPPFLAGS is only for mjit.c, unused in extension libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06common.mk: link or copy MJIT_MIN_HEADER under includenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06* 2018-02-07svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: handle fopen errork0kubun
[Bug #14441] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06transform_mjit_header.rb: resurrect `exit false`k0kubun
which was just unintentionally dropped at r62252. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06common.mk: MJIT_CPPFLAGSnobu
* common.mk (MJIT_CPPFLAGS): moved common definition flags for mjit compilation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit_compile.c: fix inconsistent indentationk0kubun
and style of generated code. I've used 2-space indentation at first but at some moment I started to use insns.def contents for generated code. So the 4-space indentation was introduced. But it does no longer make sense. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit_compile.c: share the definition of macrosk0kubun
(IS_ARGS_SPLAT, IS_ARGS_KEYWORD) with vm_args.c. vm_args.c: share them with mjit_compile.c. vm_insnhelper.h: get those definitions, with CALLER_SETUP_ARG too git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06Fix wrong commentkazu
`ruby_strdup` does not return NULL. [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06transform_mjit_header.rb: add output for debugk0kubun
AIX's header build is failing like: ./miniruby -I./lib -I. -I.ext/common ./tool/transform_mjit_header.rb "/usr/bin/gcc " rb_mjit_header.h .ext/include/powerpc-aix7.1.3.0/rb_mjit_min_header-2.6.0.h error in initial header file: /home/odaira/chkbuild/tmp/build/20180206T113302Z/tmp/20180206-15335556-aaiego.c:19:59: error: conflicting types for 'restrict' extern size_t fread(void *restrict, size_t, size_t, FILE *restrict); ^ https://rubyci.org/logs/rubyci.s3.amazonaws.com/aix71_ppc/ruby-trunk/log/20180206T113302Z.log.html.gz#make It's so hard to know the cause from current output. Let me add debug output and see tomorrow's CI result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: suppress unused-value warningnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06Remove unused capturekazu
Because `Regexp#to_s` add `(?-mix:)`, it is not unnecessary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: fixed missing variablenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: build dir prefixnobu
* mjit.c (init_header_filename): prepend basedir to header build dir too, so that the header can be found when running not in the build directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06configure.ac: removed unnecessary pushdef/popdefnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06test_gem_util.rb: fix broken testnobu
* test/rubygems/test_gem_util.rb: no guarantee that tmpdir is always underneath the root directory at all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit headers for universal binarynobu
* common.mk (MJIT_HEADER, MJIT_MIN_HEADER): added hook to separate intermediate headers per archs. * defs/gmake.mk: build mjit headers per -arch options, and then merge the headers with `#ifdef`s. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06Merge RubyGems-2.7.5 from upstream.hsbt
Please see its details: http://blog.rubygems.org/2018/02/06/2.7.5-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06deal with aclocal(1)shyouhei
This commit updates files so that aclocal.m4 generated by aclocal(1) works well with our configure.ac * ac_checking.m4: merged back to configure.ac because aclocal(1) cannot handle this macro. * ruby_append_options.m4: no longer used. * ruby_check_va_copy.m4: define using AC_DEFUN so that aclocal(1) can find this macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06thread_pthread.c: cast inside rb_thread_create_mjit_threadnobu
* thread_pthread.c (rb_thread_create_mjit_thread): cast worker_func pointer to void pointer inside. adjusted to the declaration in mjit.c and the definition in thread_win32.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit.c: use ruby_strdup as get_stringnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06common.mk: ARCH_FLAG to mjit headersnobu
* common.mk (rb_mjit_header.h, rb_mjit_min_header.h): $(ARCH_FLAG) is necessary to compile for non-default architecture, e.g., 32bit build on 64bit platform. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-05mjit.c: fix MinGW warning by r62221k0kubun
mjit.c: In function 'worker': mjit.c:126:64: warning: passing argument 1 of '_InterlockedExchangePointer' from incompatible pointer type [-Wincompatible-pointer-types] # define MJIT_ATOMIC_SET(var, val) InterlockedExchangePointer(&(var), val) ^ mjit.c:828:17: note: in expansion of macro 'MJIT_ATOMIC_SET' MJIT_ATOMIC_SET(node->unit->iseq->body->jit_func, func); ^ In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/winnt.h:27:0, from C:/msys64/mingw64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/msys64/mingw64/x86_64-w64-mingw32/include/windef.h:8, from C:/msys64/mingw64/x86_64-w64-mingw32/include/windows.h:69, from C:/msys64/mingw64/x86_64-w64-mingw32/include/winsock2.h:23, from ./include/ruby/win32.h:41, from ./include/ruby/defines.h:250, from ./include/ruby/ruby.h:29, from ./include/ruby.h:33, from internal.h:15, from mjit.c:76: C:/msys64/mingw64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h:1420:7: note: expected 'void * volatile*' but argument is of type 'VALUE (**)(struct rb_execution_context_struct *, struct rb_control_frame_struct *) {aka long long unsigned int (**)(struct rb_execution_context_struct *, struct rb_control_frame_struct *)}' void *_InterlockedExchangePointer(void *volatile *Target,void *Value) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-05mjit.c: determine prefix of MJIT header at runtimek0kubun
so that MJIT can work if Ruby is distributed as prebuilt binary. Now mjit_init() depends on the internal const TMP_RUBY_PREFIX which is only available after ruby_init_loadpath_safe() (L1608) and before ruby_init_prelude() (L1681). So the place of mjit_init() is moved. Makefile.in: Removed static prefix from MJIT_HEADER_ISNTALL_DIR macro. And this removes the unused LIBRUBY_LIBDIR macro as well. win32/Makefile.sub: ditto. Patch by: Lars Kanis <[email protected]> [Bug #14445] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e