summaryrefslogtreecommitdiff
path: root/compiler/jni/quick/calling_convention.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/jni/quick/calling_convention.h')
-rw-r--r--compiler/jni/quick/calling_convention.h11
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;