summaryrefslogtreecommitdiff
path: root/compiler/utils/assembler.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-05-19 10:37:24 +0100
committer Vladimir Marko <vmarko@google.com> 2016-05-19 18:12:22 +0100
commit3224838dfe9c95330ad963286f2c47e9546d3b5c (patch)
tree50d1b8759c61d392ecc159ede7efab94ecbfcde8 /compiler/utils/assembler.h
parentdb9fcb30402a2726564905c206fa23ee86e146c3 (diff)
Clean up JNI calling convention callee saves.
Precalculate callee saves at compile time and return them as ArrayRef<> instead of keeping then in a std::vector<>. Change-Id: I4fd7d2bbf6138dc31b0fe8554eac35b0777ec9ef
Diffstat (limited to 'compiler/utils/assembler.h')
-rw-r--r--compiler/utils/assembler.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/utils/assembler.h b/compiler/utils/assembler.h
index 5267dc3812..80aa630424 100644
--- a/compiler/utils/assembler.h
+++ b/compiler/utils/assembler.h
@@ -32,6 +32,7 @@
#include "memory_region.h"
#include "mips/constants_mips.h"
#include "offsets.h"
+#include "utils/array_ref.h"
#include "x86/constants_x86.h"
#include "x86_64/constants_x86_64.h"
@@ -375,13 +376,14 @@ class Assembler : public DeletableArenaObject<kArenaAllocAssembler> {
virtual void Comment(const char* format ATTRIBUTE_UNUSED, ...) {}
// Emit code that will create an activation on the stack
- virtual void BuildFrame(size_t frame_size, ManagedRegister method_reg,
- const std::vector<ManagedRegister>& callee_save_regs,
+ virtual void BuildFrame(size_t frame_size,
+ ManagedRegister method_reg,
+ ArrayRef<const ManagedRegister> callee_save_regs,
const ManagedRegisterEntrySpills& entry_spills) = 0;
// Emit code that will remove an activation from the stack
virtual void RemoveFrame(size_t frame_size,
- const std::vector<ManagedRegister>& callee_save_regs) = 0;
+ ArrayRef<const ManagedRegister> callee_save_regs) = 0;
virtual void IncreaseFrameSize(size_t adjust) = 0;
virtual void DecreaseFrameSize(size_t adjust) = 0;