Skip to content

Commit

Permalink
Merge pull request #16545 from knn-k/aarch64checkAssignable
Browse files Browse the repository at this point in the history
AArch64: Enable fast_jitCheckAssignable
  • Loading branch information
0xdaryl committed Jan 17, 2023
2 parents 082682a + a8b217f commit d7ca157
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
9 changes: 8 additions & 1 deletion runtime/compiler/aarch64/codegen/J9CodeGenerator.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2019, 2022 IBM Corp. and others
* Copyright (c) 2019, 2023 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
Expand Down Expand Up @@ -212,6 +212,13 @@ J9::ARM64::CodeGenerator::supportsInliningOfIsInstance()
return !self()->comp()->getOption(TR_DisableInlineIsInstance);
}

bool
J9::ARM64::CodeGenerator::supportsInliningOfIsAssignableFrom()
{
static const bool disableInliningOfIsAssignableFrom = feGetEnv("TR_disableInlineIsAssignableFrom") != NULL;
return !disableInliningOfIsAssignableFrom;
}

bool
J9::ARM64::CodeGenerator::suppressInliningOfRecognizedMethod(TR::RecognizedMethod method)
{
Expand Down
8 changes: 7 additions & 1 deletion runtime/compiler/aarch64/codegen/J9CodeGenerator.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2019, 2021 IBM Corp. and others
* Copyright (c) 2019, 2023 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
Expand Down Expand Up @@ -106,6 +106,12 @@ class OMR_EXTENSIBLE CodeGenerator : public J9::CodeGenerator
*/
bool supportsInliningOfIsInstance();

/**
* @brief Answers whether isAssignableFrom inline fast helper is supported
* @return true if AssignableFrom inline fast helper is supported
*/
bool supportsInliningOfIsAssignableFrom();

/**
* @brief Answers whether inlining of the specified recognized method should be suppressed
* @return true if inlining of the method should be suppressed
Expand Down
4 changes: 2 additions & 2 deletions runtime/compiler/runtime/Runtime.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2000, 2022 IBM Corp. and others
* Copyright (c) 2000, 2023 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
Expand Down Expand Up @@ -1002,7 +1002,7 @@ void initializeCodeRuntimeHelperTable(J9JITConfig *jitConfig, char isSMP)
#else
SET(TR_instanceOf, (void *)jitInstanceOf, TR_Helper);
#endif
#if defined(TR_HOST_X86) || defined(TR_HOST_POWER) || (defined(TR_HOST_S390) && defined(J9VM_JIT_NEW_DUAL_HELPERS))
#if defined(TR_HOST_X86) || defined(TR_HOST_POWER) || (defined(TR_HOST_S390) && defined(J9VM_JIT_NEW_DUAL_HELPERS)) || defined(TR_HOST_ARM64)
SET(TR_checkAssignable, (void *)fast_jitCheckAssignable, TR_CHelper);
#endif
SET(TR_induceOSRAtCurrentPC, (void *)jitInduceOSRAtCurrentPC, TR_Helper);
Expand Down

0 comments on commit d7ca157

Please sign in to comment.