deps: V8: backport bbaae8e36164 · nodejs/node@c95a4a0

@@ -303,6 +303,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,

303303

// See Assembler::CheckConstPool for more info.

304304

void EmitPoolGuard();

305305306+

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

}

619621622+

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,

728732729733

// 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("\tBlockTrampolinePoolBefore %d\n", pc_offset);

732737

no_trampoline_pool_before_ = pc_offset;

738+

}

733739

}

734740735741

void StartBlockTrampolinePool() {

736-

DEBUG_PRINTF("\tStartBlockTrampolinePool\n");

742+

DEBUG_PRINTF("\tStartBlockTrampolinePool %d\n", pc_offset());

737743

trampoline_pool_blocked_nesting_++;

738744

}

739745740746

void EndBlockTrampolinePool() {

747+

DEBUG_PRINTF("\tEndBlockTrampolinePool\n");

741748

trampoline_pool_blocked_nesting_--;

742749

DEBUG_PRINTF("\ttrampoline_pool_blocked_nesting:%d\n",

743750

trampoline_pool_blocked_nesting_);

@@ -767,6 +774,10 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,

767774768775

bool is_buffer_growth_blocked() const { return block_buffer_growth_; }

769776777+

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;