[Scummvm-cvs-logs] SF.net SVN: scummvm:[45041] scummvm/trunk/engines/sci/engine
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Tue Oct 13 20:53:50 CEST 2009
Revision: 45041
http://scummvm.svn.sourceforge.net/scummvm/?rev=45041&view=rev
Author: fingolfin
Date: 2009-10-13 18:53:50 +0000 (Tue, 13 Oct 2009)
Log Message:
-----------
SCI: Merge SegManager::alloc_Hunk into SegManager::allocateHunkEntry
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/seg_manager.cpp
scummvm/trunk/engines/sci/engine/seg_manager.h
Modified: scummvm/trunk/engines/sci/engine/seg_manager.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.cpp 2009-10-13 18:53:11 UTC (rev 45040)
+++ scummvm/trunk/engines/sci/engine/seg_manager.cpp 2009-10-13 18:53:50 UTC (rev 45041)
@@ -735,9 +735,19 @@
ht->freeEntry(addr.offset);
}
-Hunk *SegManager::allocateHunkEntry(const char *hunk_type, int size, reg_t *reg) {
- Hunk *h = alloc_Hunk(reg);
+Hunk *SegManager::allocateHunkEntry(const char *hunk_type, int size, reg_t *addr) {
+ HunkTable *table;
+ int offset;
+ if (!Hunks_seg_id)
+ allocSegment(new HunkTable(), &(Hunks_seg_id));
+ table = (HunkTable *)_heap[Hunks_seg_id];
+
+ offset = table->allocEntry();
+
+ *addr = make_reg(Hunks_seg_id, offset);
+ Hunk *h = &(table->_table[offset]);
+
if (!h)
return NULL;
@@ -752,9 +762,9 @@
CloneTable *table;
int offset;
- if (!Clones_seg_id) {
+ if (!Clones_seg_id)
table = (CloneTable *)allocSegment(new CloneTable(), &(Clones_seg_id));
- } else
+ else
table = (CloneTable *)_heap[Clones_seg_id];
offset = table->allocEntry();
@@ -824,20 +834,6 @@
return &(table->_table[offset]);
}
-Hunk *SegManager::alloc_Hunk(reg_t *addr) {
- HunkTable *table;
- int offset;
-
- if (!Hunks_seg_id)
- allocSegment(new HunkTable(), &(Hunks_seg_id));
- table = (HunkTable *)_heap[Hunks_seg_id];
-
- offset = table->allocEntry();
-
- *addr = make_reg(Hunks_seg_id, offset);
- return &(table->_table[offset]);
-}
-
List *SegManager::lookupList(reg_t addr) {
if (getSegmentType(addr.segment) != SEG_TYPE_LISTS) {
warning("Attempt to use non-list %04x:%04x as list", PRINT_REG(addr));
Modified: scummvm/trunk/engines/sci/engine/seg_manager.h
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.h 2009-10-13 18:53:11 UTC (rev 45040)
+++ scummvm/trunk/engines/sci/engine/seg_manager.h 2009-10-13 18:53:50 UTC (rev 45041)
@@ -458,8 +458,6 @@
int deallocate(SegmentId seg, bool recursive);
int createClassTable();
- Hunk *alloc_Hunk(reg_t *);
-
SegmentId findFreeSegment() const;
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list