@@ -303,6 +303,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,
303303 // See Assembler::CheckConstPool for more info.
304304 void EmitPoolGuard ();
305305
306+ void FinishCode () { ForceConstantPoolEmissionWithoutJump (); }
307+
306308#if defined(V8_TARGET_ARCH_RISCV64)
307309 static void set_target_value_at (
308310 Address pc, uint64_t target,
@@ -617,6 +619,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,
617619 }
618620 }
619621
622+ inline int next_buffer_check () { return next_buffer_check_; }
623+
620624 friend class VectorUnit ;
621625 class VectorUnit {
622626 public:
@@ -728,16 +732,19 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,
728732
729733 // Block the emission of the trampoline pool before pc_offset.
730734 void BlockTrampolinePoolBefore (int pc_offset) {
731- if (no_trampoline_pool_before_ < pc_offset)
735+ if (no_trampoline_pool_before_ < pc_offset) {
736+ DEBUG_PRINTF (" \t BlockTrampolinePoolBefore %d\n " , pc_offset);
732737 no_trampoline_pool_before_ = pc_offset;
738+ }
733739 }
734740
735741 void StartBlockTrampolinePool () {
736- DEBUG_PRINTF (" \t StartBlockTrampolinePool\n " );
742+ DEBUG_PRINTF (" \t StartBlockTrampolinePool %d \n " , pc_offset () );
737743 trampoline_pool_blocked_nesting_++;
738744 }
739745
740746 void EndBlockTrampolinePool () {
747+ DEBUG_PRINTF (" \t EndBlockTrampolinePool\n " );
741748 trampoline_pool_blocked_nesting_--;
742749 DEBUG_PRINTF (" \t trampoline_pool_blocked_nesting:%d\n " ,
743750 trampoline_pool_blocked_nesting_);
@@ -767,6 +774,10 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,
767774
768775 bool is_buffer_growth_blocked () const { return block_buffer_growth_; }
769776
777+ inline int ConstpoolComputesize () {
778+ return constpool_.ComputeSize (Jump::kOmitted , Alignment::kOmitted );
779+ }
780+
770781 private:
771782 // Avoid overflows for displacements etc.
772783 static const int kMaximalBufferSize = 512 * MB;
0 commit comments