mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 01:52:50 -06:00
bugfix
This commit is contained in:
@@ -592,7 +592,7 @@ size_t PgfDB::block_descr_size(object map)
|
|||||||
return ptr(block_descr, map)->sz;
|
return ptr(block_descr, map)->sz;
|
||||||
}
|
}
|
||||||
|
|
||||||
PGF_INTERNAL_DECL object PgfDB::new_block_descr(object o, size_t size)
|
PGF_INTERNAL_DECL object PgfDB::new_block_descr(object o, size_t size, txn_t txn_id)
|
||||||
{
|
{
|
||||||
object odescr;
|
object odescr;
|
||||||
block_descr *descr;
|
block_descr *descr;
|
||||||
@@ -626,7 +626,7 @@ PGF_INTERNAL_DECL object PgfDB::new_block_descr(object o, size_t size)
|
|||||||
descr->chain = 0;
|
descr->chain = 0;
|
||||||
descr->o = o;
|
descr->o = o;
|
||||||
descr->block_size = size;
|
descr->block_size = size;
|
||||||
descr->block_txn_id = ms->curr_txn_id;
|
descr->block_txn_id = txn_id;
|
||||||
descr->descr_txn_id = ms->curr_txn_id;
|
descr->descr_txn_id = ms->curr_txn_id;
|
||||||
|
|
||||||
return odescr;
|
return odescr;
|
||||||
@@ -1073,11 +1073,11 @@ object PgfDB::realloc_internal(object oldo, size_t old_bytes, size_t new_bytes)
|
|||||||
PGF_INTERNAL
|
PGF_INTERNAL
|
||||||
object PgfDB::insert_block_descriptor(object map, object o, size_t size)
|
object PgfDB::insert_block_descriptor(object map, object o, size_t size)
|
||||||
{
|
{
|
||||||
if (map == 0)
|
|
||||||
return new_block_descr(o, size);
|
|
||||||
|
|
||||||
txn_t txn_id = (o >= ms->top) ? 0 : ms->curr_txn_id;
|
txn_t txn_id = (o >= ms->top) ? 0 : ms->curr_txn_id;
|
||||||
|
|
||||||
|
if (map == 0)
|
||||||
|
return new_block_descr(o, size, txn_id);
|
||||||
|
|
||||||
block_descr *descr = ptr(block_descr, map);
|
block_descr *descr = ptr(block_descr, map);
|
||||||
int cmp = (size < descr->block_size) ? -1
|
int cmp = (size < descr->block_size) ? -1
|
||||||
: (size > descr->block_size) ? 1
|
: (size > descr->block_size) ? 1
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ private:
|
|||||||
PGF_INTERNAL_DECL int init_state();
|
PGF_INTERNAL_DECL int init_state();
|
||||||
|
|
||||||
PGF_INTERNAL_DECL size_t block_descr_size(object map);
|
PGF_INTERNAL_DECL size_t block_descr_size(object map);
|
||||||
PGF_INTERNAL_DECL object new_block_descr(object o, size_t size);
|
PGF_INTERNAL_DECL object new_block_descr(object o, size_t size, txn_t txn_id);
|
||||||
PGF_INTERNAL_DECL object upd_block_descr(object map, object left, object right);
|
PGF_INTERNAL_DECL object upd_block_descr(object map, object left, object right);
|
||||||
PGF_INTERNAL_DECL object balanceL_block_descriptor(object map);
|
PGF_INTERNAL_DECL object balanceL_block_descriptor(object map);
|
||||||
PGF_INTERNAL_DECL object balanceR_block_descriptor(object map);
|
PGF_INTERNAL_DECL object balanceR_block_descriptor(object map);
|
||||||
|
|||||||
Reference in New Issue
Block a user