@@ -746,7 +746,7 @@ class Assembler : public AssemblerBase {
746746 // Returns the branch offset to the given label from the current code position
747747 // Links the label to the current position if it is still unbound
748748 // Manages the jump elimination optimization if the second parameter is true.
749- int branch_offset (Label* L, bool jump_elimination_allowed );
749+ int branch_offset (Label* L);
750750
751751 // Returns true if the given pc address is the start of a constant pool load
752752 // instruction sequence.
@@ -852,13 +852,11 @@ class Assembler : public AssemblerBase {
852852 void bx (Register target, Condition cond = al); // v5 and above, plus v4t
853853
854854 // Convenience branch instructions using labels
855- void b (Label* L, Condition cond = al) {
856- b (branch_offset (L, cond == al), cond);
857- }
858- void b (Condition cond, Label* L) { b (branch_offset (L, cond == al), cond); }
859- void bl (Label* L, Condition cond = al) { bl (branch_offset (L, false ), cond); }
860- void bl (Condition cond, Label* L) { bl (branch_offset (L, false ), cond); }
861- void blx (Label* L) { blx (branch_offset (L, false )); } // v5 and above
855+ void b (Label* L, Condition cond = al);
856+ void b (Condition cond, Label* L) { b (L, cond); }
857+ void bl (Label* L, Condition cond = al);
858+ void bl (Condition cond, Label* L) { bl (L, cond); }
859+ void blx (Label* L); // v5 and above
862860
863861 // Data-processing instructions
864862
@@ -1536,6 +1534,12 @@ class Assembler : public AssemblerBase {
15361534 // Check if is time to emit a constant pool.
15371535 void CheckConstPool (bool force_emit, bool require_jump);
15381536
1537+ void MaybeCheckConstPool () {
1538+ if (pc_offset () >= next_buffer_check_) {
1539+ CheckConstPool (false , true );
1540+ }
1541+ }
1542+
15391543 // Allocate a constant pool of the correct size for the generated code.
15401544 Handle<ConstantPoolArray> NewConstantPool (Isolate* isolate);
15411545
0 commit comments