1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

YJIT: reverse configure.ac changes that disable --yjit-stats on Graviton1 (#6457)

Reverse configure.ac changes that disable YJIT stats on Graviton1
This commit is contained in:
Maxime Chevalier-Boisvert 2022-09-27 19:27:19 -04:00 committed by GitHub
parent 28433e9aa0
commit 8fcbb79742
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
Notes: git 2022-09-28 08:27:53 +09:00
Merged-By: maximecb <maximecb@ruby-lang.org>

View file

@ -3748,44 +3748,23 @@ AS_CASE(["${YJIT_SUPPORT}"],
], ],
[dev], [ [dev], [
rb_rust_target_subdir=debug rb_rust_target_subdir=debug
CARGO_BUILD_ARGS='--features disasm,asm_comments' CARGO_BUILD_ARGS='--features stats,disasm,asm_comments'
AC_DEFINE(RUBY_DEBUG, 1) AC_DEFINE(RUBY_DEBUG, 1)
], ],
[dev_nodebug], [ [dev_nodebug], [
rb_rust_target_subdir=dev_nodebug rb_rust_target_subdir=dev_nodebug
CARGO_BUILD_ARGS='--profile dev_nodebug --features disasm,asm_comments' CARGO_BUILD_ARGS='--profile dev_nodebug --features stats,disasm,asm_comments'
], ],
[stats], [ [stats], [
rb_rust_target_subdir=stats rb_rust_target_subdir=stats
CARGO_BUILD_ARGS='--profile stats' CARGO_BUILD_ARGS='--profile stats --features stats'
]) ])
AS_IF([test -n "${CARGO_BUILD_ARGS}"], [ AS_IF([test -n "${CARGO_BUILD_ARGS}"], [
AC_CHECK_TOOL(CARGO, [cargo], [no]) AC_CHECK_TOOL(CARGO, [cargo], [no])
AS_IF([test x"$CARGO" = "xno"], AS_IF([test x"$CARGO" = "xno"],
AC_MSG_ERROR([cargo is required. Installation instructions available at https://www.rust-lang.org/tools/install]) AC_MSG_ERROR([cargo is required. Installation instructions available at https://www.rust-lang.org/tools/install])
]) ]))
# Insn::IncrCounter uses ldaddal, which works only on ARMv8.1+.
AC_CACHE_CHECK(yjit stats are broken, rb_cv_broken_yjit_stats, [
AC_RUN_IFELSE(
[AC_LANG_PROGRAM([[]], [[
@%:@ifdef __aarch64__
asm volatile(".arch armv8-a+lse\n"
"ldaddal xzr, xzr, @<:@sp@:>@");
@%:@endif
]])],
[rb_cv_broken_yjit_stats=no],
[rb_cv_broken_yjit_stats=yes],
[rb_cv_broken_yjit_stats=yes]
)
])
# This won't enable stats in release builds because we don't use cargo
# for release builds, use rustc directly
AS_IF([test "$rb_cv_broken_yjit_stats" = no], [
CARGO_BUILD_ARGS="${CARGO_BUILD_ARGS} --features stats"
])
)
YJIT_LIBS="yjit/target/${rb_rust_target_subdir}/libyjit.a" YJIT_LIBS="yjit/target/${rb_rust_target_subdir}/libyjit.a"
AS_CASE(["$target_os"],[openbsd*],[ AS_CASE(["$target_os"],[openbsd*],[