static bool tb_cmp(const void *p, const void *d)

{

    const TranslationBlock *tb = p;

    const struct tb_desc *desc = d;



    if (tb->pc == desc->pc &&

        tb->page_addr[0] == desc->phys_page1 &&

        tb->cs_base == desc->cs_base &&

        tb->flags == desc->flags &&

        tb->trace_vcpu_dstate == desc->trace_vcpu_dstate &&

        !atomic_read(&tb->invalid)) {

        /* check next page if needed */

        if (tb->page_addr[1] == -1) {

            return true;

        } else {

            tb_page_addr_t phys_page2;

            target_ulong virt_page2;



            virt_page2 = (desc->pc & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE;

            phys_page2 = get_page_addr_code(desc->env, virt_page2);

            if (tb->page_addr[1] == phys_page2) {

                return true;

            }

        }

    }

    return false;

}

static bool tb_cmp(const void *p, const void *d)

{

    const TranslationBlock *tb = p;

    const struct tb_desc *desc = d;



    if (tb->pc == desc->pc &&

        tb->page_addr[0] == desc->phys_page1 &&

        tb->cs_base == desc->cs_base &&

        tb->flags == desc->flags &&

        tb->trace_vcpu_dstate == desc->trace_vcpu_dstate &&

        !atomic_read(&tb->invalid)) {

        

        if (tb->page_addr[1] == -1) {

            return true;

        } else {

            tb_page_addr_t phys_page2;

            target_ulong virt_page2;



            virt_page2 = (desc->pc & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE;

            phys_page2 = get_page_addr_code(desc->env, virt_page2);

            if (tb->page_addr[1] == phys_page2) {

                return true;

            }

        }

    }

    return false;

}

static bool FUNC_0(const void *p, const void *d)

{

    const TranslationBlock *VAR_0 = p;

    const struct tb_desc *VAR_1 = d;



    if (VAR_0->pc == VAR_1->pc &&

        VAR_0->page_addr[0] == VAR_1->phys_page1 &&

        VAR_0->cs_base == VAR_1->cs_base &&

        VAR_0->flags == VAR_1->flags &&

        VAR_0->trace_vcpu_dstate == VAR_1->trace_vcpu_dstate &&

        !atomic_read(&VAR_0->invalid)) {

        

        if (VAR_0->page_addr[1] == -1) {

            return true;

        } else {

            tb_page_addr_t phys_page2;

            target_ulong virt_page2;



            virt_page2 = (VAR_1->pc & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE;

            phys_page2 = get_page_addr_code(VAR_1->env, virt_page2);

            if (VAR_0->page_addr[1] == phys_page2) {

                return true;

            }

        }

    }

    return false;

}

static bool FUNC_0(const void *p, const void *d)
{ const TranslationBlock *VAR_0 = p; const struct tb_desc *VAR_1 = d; if (VAR_0->pc == VAR_1->pc &&
VAR_0->page_addr[0] == VAR_1->phys_page1 &&
VAR_0->cs_base == VAR_1->cs_base &&
VAR_0->flags == VAR_1->flags &&
VAR_0->trace_vcpu_dstate == VAR_1->trace_vcpu_dstate &&
!atomic_read(&VAR_0->invalid)) { if (VAR_0->page_addr[1] == -1) { return true; } else { tb_page_addr_t phys_page2; target_ulong virt_page2; virt_page2 = (VAR_1->pc & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE; phys_page2 = get_page_addr_code(VAR_1->env, virt_page2); if (VAR_0->page_addr[1] == phys_page2) { return true; } } } return false; }