Chromium Code Reviews| Index: src/interpreter/bytecode-register-allocator.h |
| diff --git a/src/interpreter/bytecode-register-allocator.h b/src/interpreter/bytecode-register-allocator.h |
| index a4f68459cbc4696e8501394dbf812ee0de773b73..befc56be784db45a9727a81cfd856dbd3822a863 100644 |
| --- a/src/interpreter/bytecode-register-allocator.h |
| +++ b/src/interpreter/bytecode-register-allocator.h |
| @@ -15,6 +15,8 @@ namespace interpreter { |
| class BytecodeArrayBuilder; |
| class Register; |
| +class TemporaryRegisterObserver; |
|
rmcilroy
2016/05/26 10:24:52
nit - move into block above
oth
2016/05/26 21:26:50
Done.
|
| + |
| class TemporaryRegisterAllocator final { |
| public: |
| TemporaryRegisterAllocator(Zone* zone, int start_index); |
| @@ -54,6 +56,9 @@ class TemporaryRegisterAllocator final { |
| // Returns the number of temporary register allocations made. |
| int allocation_count() const { return allocation_count_; } |
| + // Sets an observer for temporary register events. |
| + void set_observer(TemporaryRegisterObserver* observer); |
| + |
| private: |
| // Allocate a temporary register. |
| int AllocateTemporaryRegister(); |
| @@ -61,10 +66,17 @@ class TemporaryRegisterAllocator final { |
| ZoneSet<int> free_temporaries_; |
| int allocation_base_; |
| int allocation_count_; |
| + TemporaryRegisterObserver* observer_; |
| DISALLOW_COPY_AND_ASSIGN(TemporaryRegisterAllocator); |
| }; |
| +class TemporaryRegisterObserver { |
| + public: |
| + virtual ~TemporaryRegisterObserver() {} |
| + virtual void TemporaryRegisterFreeEvent(Register reg) = 0; |
| +}; |
| + |
| // A class that allows the instantiator to allocate temporary registers that are |
| // cleaned up when scope is closed. |
| class BytecodeRegisterAllocator final { |