Skip to content

Commit

Permalink
Merge pull request #16014 from tajila/loom
Browse files Browse the repository at this point in the history
Init jitTOC on ppc64
  • Loading branch information
gacholio authored Oct 18, 2022
2 parents b14e1ed + c861b58 commit b851034
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
4 changes: 3 additions & 1 deletion runtime/vm/ContinuationHelpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,9 @@ enterContinuation(J9VMThread *currentThread, j9object_t continuationObject)

Assert_VM_Null(currentThread->currentContinuation);

VM_ContinuationHelpers::swapFieldsWithContinuation(currentThread, continuation);

VM_ContinuationHelpers::swapFieldsWithContinuation(currentThread, continuation, started);

continuation->carrierThread = currentThread;
currentThread->currentContinuation = continuation;

Expand Down
8 changes: 5 additions & 3 deletions runtime/vm/ContinuationHelpers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class VM_ContinuationHelpers {
public:

static VMINLINE void
swapFieldsWithContinuation(J9VMThread *vmThread, J9VMContinuation *continuation)
swapFieldsWithContinuation(J9VMThread *vmThread, J9VMContinuation *continuation, bool swapJ9VMthreadSavedRegisters = true)
{
/* Helper macro to swap fields between the two J9Class structs. */
#define SWAP_MEMBER(fieldName, fieldType, class1, class2) \
Expand All @@ -73,10 +73,12 @@ class VM_ContinuationHelpers {
J9VMEntryLocalStorage *threadELS = vmThread->entryLocalStorage;
/* Swap the JIT GPR registers data referenced by ELS */
J9JITGPRSpillArea tempGPRs = continuation->jitGPRs;
continuation->jitGPRs = *(J9JITGPRSpillArea*)threadELS->jitGlobalStorageBase;
*(J9JITGPRSpillArea*)threadELS->jitGlobalStorageBase = tempGPRs;
J9I2JState tempI2J = continuation->i2jState;
continuation->jitGPRs = *(J9JITGPRSpillArea*)threadELS->jitGlobalStorageBase;
continuation->i2jState = threadELS->i2jState;
if (swapJ9VMthreadSavedRegisters) {
*(J9JITGPRSpillArea*)threadELS->jitGlobalStorageBase = tempGPRs;
}
threadELS->i2jState = tempI2J;
SWAP_MEMBER(oldEntryLocalStorage, J9VMEntryLocalStorage*, threadELS, continuation);
}
Expand Down
2 changes: 1 addition & 1 deletion test/functional/Java19andUp/playlist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
-excludegroups $(DEFAULT_EXCLUDE); \
$(TEST_STATUS)
</command>
<platformRequirements>bits.64,^os.zos,^os.sunos,^arch.ppc</platformRequirements>
<platformRequirements>bits.64,^os.zos,^os.sunos</platformRequirements>
<levels>
<level>sanity</level>
</levels>
Expand Down

0 comments on commit b851034

Please sign in to comment.