Skip to content

Commit

Permalink
Add jit newValue helper
Browse files Browse the repository at this point in the history
Signed-off-by: Tobi Ajila <atobia@ca.ibm.com>
  • Loading branch information
tajila committed Dec 18, 2019
1 parent 2cb0f75 commit b24b476
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 2 deletions.
12 changes: 12 additions & 0 deletions compiler/compile/OMRSymbolReferenceTable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -786,6 +786,18 @@ OMR::SymbolReferenceTable::findOrCreateNewObjectNoZeroInitSymbolRef(TR::Resolved
return findOrCreateRuntimeHelper(TR_newObjectNoZeroInit, true, true, true);
}

TR::SymbolReference *
OMR::SymbolReferenceTable::findOrCreateNewValueSymbolRef(TR::ResolvedMethodSymbol *)
{
return findOrCreateRuntimeHelper(TR_newValue, true, true, true);
}

TR::SymbolReference *
OMR::SymbolReferenceTable::findOrCreateNewValueNoZeroInitSymbolRef(TR::ResolvedMethodSymbol *)
{
return findOrCreateRuntimeHelper(TR_newValueNoZeroInit, true, true, true);
}

TR::SymbolReference *
OMR::SymbolReferenceTable::findOrCreateNewArraySymbolRef(TR::ResolvedMethodSymbol *)
{
Expand Down
2 changes: 2 additions & 0 deletions compiler/compile/OMRSymbolReferenceTable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,8 @@ class SymbolReferenceTable
TR::SymbolReference * findOrCreateNewArrayNoZeroInitSymbolRef(TR::ResolvedMethodSymbol * owningMethodSymbol);
TR::SymbolReference * findOrCreateNewObjectSymbolRef(TR::ResolvedMethodSymbol * owningMethodSymbol);
TR::SymbolReference * findOrCreateNewObjectNoZeroInitSymbolRef(TR::ResolvedMethodSymbol * owningMethodSymbol);
TR::SymbolReference * findOrCreateNewValueSymbolRef(TR::ResolvedMethodSymbol * owningMethodSymbol);
TR::SymbolReference * findOrCreateNewValueNoZeroInitSymbolRef(TR::ResolvedMethodSymbol * owningMethodSymbol);
TR::SymbolReference * findOrCreateArrayStoreExceptionSymbolRef(TR::ResolvedMethodSymbol * owningMethodSymbol);
TR::SymbolReference * findOrCreateArrayShadowSymbolRef(TR::DataType, TR::Node * baseAddress = 0);
TR::SymbolReference * findOrCreateImmutableArrayShadowSymbolRef(TR::DataType);
Expand Down
4 changes: 4 additions & 0 deletions compiler/il/Aliases.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,8 @@ OMR::SymbolReference::getUseonlyAliasesBV(TR::SymbolReferenceTable * symRefTab)
case TR_transactionExit:
case TR_newObject:
case TR_newObjectNoZeroInit:
case TR_newValue:
case TR_newValueNoZeroInit:
case TR_newArray:
case TR_multiANewArray:
default:
Expand Down Expand Up @@ -366,6 +368,8 @@ OMR::SymbolReference::getUseDefAliasesBV(bool isDirectCall, bool includeGCSafePo
case TR_writeBarrierClassStoreRealTimeGC:
case TR_writeBarrierStoreRealTimeGC:
case TR_aNewArray:
case TR_newValue:
case TR_newValueNoZeroInit:
case TR_newObject:
case TR_newObjectNoZeroInit:
case TR_newArray:
Expand Down
2 changes: 2 additions & 0 deletions compiler/ras/Debug.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3689,6 +3689,8 @@ TR_Debug::getRuntimeHelperName(int32_t index)

case TR_newObject: return "jitNewObject";
case TR_newObjectNoZeroInit: return "jitNewObjectNoZeroInit";
case TR_newValue: return "jitNewObject";
case TR_newValueNoZeroInit: return "jitNewObjectNoZeroInit";
case TR_newArray: return "jitNewArray";
case TR_newArrayNoZeroInit: return "jitNewArrayNoZeroInit";
case TR_aNewArray: return "jitANewArray";
Expand Down
6 changes: 4 additions & 2 deletions compiler/runtime/Helpers.inc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ SETVAL(TR_checkCastForArrayStore,TR_aThrow+2)
SETVAL(TR_divCheck,TR_checkCastForArrayStore+1)
SETVAL(TR_overflowCheck,TR_divCheck+1)
SETVAL(TR_newObjectNoZeroInit,TR_overflowCheck+1)
SETVAL(TR_newArrayNoZeroInit,TR_newObjectNoZeroInit+1)
SETVAL(TR_newValueNoZeroInit,TR_newObjectNoZeroInit+1)
SETVAL(TR_newArrayNoZeroInit,TR_newValueNoZeroInit+1)
SETVAL(TR_nullCheck,TR_newArrayNoZeroInit+1)
SETVAL(TR_methodTypeCheck,TR_nullCheck+1)
SETVAL(TR_incompatibleReceiver,TR_methodTypeCheck+1)
Expand Down Expand Up @@ -87,7 +88,8 @@ SETVAL(TR_checkAssignable,TR_instanceOf+1)
SETVAL(TR_induceOSRAtCurrentPC,TR_checkAssignable+1)
SETVAL(TR_induceOSRAtCurrentPCAndRecompile,TR_checkAssignable+2)
SETVAL(TR_newObject,TR_induceOSRAtCurrentPCAndRecompile+1)
SETVAL(TR_newArray,TR_newObject+1)
SETVAL(TR_newValue,TR_newObject+1)
SETVAL(TR_newArray,TR_newValue+1)
SETVAL(TR_stackOverflow,TR_newArray+1)
SETVAL(TR_newInstanceImplAccessCheck, TR_stackOverflow+1)
SETVAL(TR_jitReportInstanceFieldRead, TR_stackOverflow+2)
Expand Down

0 comments on commit b24b476

Please sign in to comment.