From f32bdb5839d064626444d7c0238a103c39b97601 Mon Sep 17 00:00:00 2001 From: jl777 Date: Fri, 25 Mar 2016 17:47:10 -0300 Subject: [PATCH] test --- iguana/iguana_unspents.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/iguana/iguana_unspents.c b/iguana/iguana_unspents.c index 9029fd761..b3b6fecb4 100755 --- a/iguana/iguana_unspents.c +++ b/iguana/iguana_unspents.c @@ -336,17 +336,17 @@ int32_t iguana_spendvectors(struct iguana_info *coin,struct iguana_bundle *bp) { static uint64_t total,emitted; int32_t spendind,n,txidind,errs=0,emit=0,i,j,k,retval = -1; long fsize; - uint32_t spent_unspentind,spent_pkind,now; + uint32_t spent_unspentind,spent_pkind,now; struct iguana_ramchaindata *rdata; struct iguana_bundle *spentbp; struct iguana_blockRO *B; FILE *fp; char fname[1024],str[65]; - bits256 prevhash,zero,sha256; struct iguana_unspent *u,*spentU; struct iguana_txid *nextT; + bits256 prevhash,zero,sha256; struct iguana_unspent *u,*spentU; struct iguana_txid *T; struct iguana_spend *S,*s; struct iguana_spendvector *ptr; struct iguana_ramchain *ramchain; ramchain = &bp->ramchain; //printf("iguana_spendvectors gen.%d ramchain data.%p\n",bp->bundleheight,ramchain->H.data); - if ( ramchain->H.data == 0 || (n= ramchain->H.data->numspends) < 1 ) + if ( (rdata= ramchain->H.data) == 0 || (n= rdata->numspends) < 1 ) return(0); - B = (void *)(long)((long)ramchain->H.data + ramchain->H.data->Boffset); - S = (void *)(long)((long)ramchain->H.data + ramchain->H.data->Soffset); - nextT = (void *)(long)((long)ramchain->H.data + ramchain->H.data->Toffset); + B = (void *)(long)((long)rdata + rdata->Boffset); + S = (void *)(long)((long)rdata + rdata->Soffset); + T = (void *)(long)((long)rdata + rdata->Toffset); if ( ramchain->Xspendinds != 0 ) { //printf("iguana_spendvectors: already have Xspendinds[%d]\n",ramchain->numXspends); @@ -355,7 +355,8 @@ int32_t iguana_spendvectors(struct iguana_info *coin,struct iguana_bundle *bp) ptr = mycalloc('x',sizeof(*ptr),n); total += n; //printf("start UTXOGEN.%d max.%d ptr.%p\n",bp->bundleheight,n,ptr); - txidind = spendind = ramchain->H.data->firsti; + txidind = spendind = rdata->firsti; + iguana_ramchain_prefetch(coin,ramchain); for (i=0; in; i++) { if ( txidind != B[i].firsttxidind || spendind != B[i].firstvin ) @@ -367,13 +368,13 @@ int32_t iguana_spendvectors(struct iguana_info *coin,struct iguana_bundle *bp) for (j=0; jbundleheight+i,spentbp->hdrsi,spent_unspentind,spendind,bp->hdrsi,s->external,bits256_str(str,prevhash),s->prevout); errs++; } - if ( now > spentbp->lastprefetch+10 || (spentbp->dirty % 10000) == 0 ) + if ( now > spentbp->lastprefetch+10 )//|| (spentbp->dirty % 10000) == 0 ) { printf("prefetch[%d]\n",spentbp->hdrsi); iguana_ramchain_prefetch(coin,&spentbp->ramchain);