Chromium Code Reviews| Index: src/arm/assembler-arm.h | 
| diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h | 
| index ccb5104206883e9891fce042208538cd8dab2613..ad9c31eec08cd7a5923169291d7f03d5236c3d91 100644 | 
| --- a/src/arm/assembler-arm.h | 
| +++ b/src/arm/assembler-arm.h | 
| @@ -1446,6 +1446,14 @@ class Assembler : public AssemblerBase { | 
| // Check if is time to emit a constant pool. | 
| void CheckConstPool(bool force_emit, bool require_jump); | 
| + bool can_use_constant_pool() const { | 
| + return is_constant_pool_available() && !constant_pool_full_; | 
| + } | 
| + | 
| + void set_constant_pool_full() { | 
| + constant_pool_full_ = true; | 
| + } | 
| + | 
| protected: | 
| // Relocation for a type-recording IC has the AST id added to it. This | 
| // member variable is a way to pass the information from the call site to | 
| @@ -1499,6 +1507,14 @@ class Assembler : public AssemblerBase { | 
| (pc_offset() < no_const_pool_before_); | 
| } | 
| + bool is_constant_pool_available() const { | 
| + return constant_pool_available_; | 
| + } | 
| + | 
| + void set_constant_pool_available(bool available) { | 
| + constant_pool_available_ = available; | 
| + } | 
| + | 
| private: | 
| int next_buffer_check_; // pc offset of next buffer check | 
| @@ -1559,6 +1575,9 @@ class Assembler : public AssemblerBase { | 
| // The bound position, before this we cannot do instruction elimination. | 
| int last_bound_pos_; | 
| + bool constant_pool_available_; | 
| + bool constant_pool_full_; | 
| 
 
ulan
2014/03/11 13:00:46
Could you add a comment explaining what constant_p
 
rmcilroy
2014/03/11 16:36:34
Done (and for constant_pool_available)
 
 | 
| + | 
| // Code emission | 
| inline void CheckBuffer(); | 
| void GrowBuffer(); | 
| @@ -1596,6 +1615,8 @@ class Assembler : public AssemblerBase { | 
| friend class RelocInfo; | 
| friend class CodePatcher; | 
| friend class BlockConstPoolScope; | 
| + friend class FrameAndConstantPoolScope; | 
| + friend class ConstantPoolUnavailableScope; | 
| PositionsRecorder positions_recorder_; | 
| friend class PositionsRecorder; |