static ASMJIT_INLINE void CodeBuilder_nodeRemoved(CodeBuilder* self, CBNode* node_) noexcept { if (node_->isJmpOrJcc()) { CBJump* node = static_cast<CBJump*>(node_); CBLabel* label = node->getTarget(); if (label) { // Disconnect. CBJump** pPrev = &label->_from; for (;;) { ASMJIT_ASSERT(*pPrev != nullptr); CBJump* current = *pPrev; if (!current) break; if (current == node) { *pPrev = node->_jumpNext; break; } pPrev = ¤t->_jumpNext; } label->subNumRefs(); } } }