diff options
Diffstat (limited to 'compiler/jni/quick/calling_convention.h')
-rw-r--r-- | compiler/jni/quick/calling_convention.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/compiler/jni/quick/calling_convention.h b/compiler/jni/quick/calling_convention.h index c11e09dc60..e62fc33a85 100644 --- a/compiler/jni/quick/calling_convention.h +++ b/compiler/jni/quick/calling_convention.h @@ -315,12 +315,11 @@ class JniCallingConvention : public CallingConvention { // Callee save registers to spill prior to native code (which may clobber) virtual ArrayRef<const ManagedRegister> CalleeSaveRegisters() const = 0; - // Register where the segment state of the local indirect reference table is saved. - // This must be a native callee-save register without another special purpose. - virtual ManagedRegister SavedLocalReferenceCookieRegister() const = 0; - - // An extra scratch register live after the call - virtual ManagedRegister ReturnScratchRegister() const = 0; + // Subset of core callee save registers that can be used for arbitrary purposes after + // constructing the JNI transition frame. These should be managed callee-saves as well. + // These should not include special purpose registers such as thread register. + // JNI compiler currently requires at least 3 callee save scratch registers. + virtual ArrayRef<const ManagedRegister> CalleeSaveScratchRegisters() const = 0; // Spill mask values virtual uint32_t CoreSpillMask() const = 0; |