> > > Have you finally solved the ARM portability problems beyond 139? > > > > I wasn't aware we'd tried. If people outside mamedev can't figure out how to make > it > > work then that isn't our fault. > > People outside *have* gotten it to work. One possible solution was posted here the > last time it was brought up, and I posted it to the list, and nobody involved in the > relevant code said a word so nothing happened.
Really, it not was a solution, becouse, basically it was breaking memory pooling.
when i was dealing with it i realize that the emualloc problem it was here:
295 // fetch the ID of this item's pointer; some implementations put hidden data 296 // before, so if we don't find it, check 4 bytes ahead 297 memory_entry *entry = memory_entry::find(item.m_ptr); 298 if (entry == NULL) 299 entry = memory_entry::find(reinterpret_cast(item.m_ptr) - sizeof(size_t));
Really i dont understand why some implementatios put 4 bytes... it was not true for android systems (Aron help us)
i did a workround:
if (entry == NULL)
entry = memory_entry::find(reinterpret_cast(item.m_ptr) - sizeof(size_t));
if (entry == NULL)
{
entry = memory_entry::find(reinterpret_cast(item.m_ptr) -8);
__android_log_print(ANDROID_LOG_DEBUG, "PP", "#%06d, add %d bytes (%s:%d)\n", (UINT32)entry->m_id, static_cast(entry->m_size), entry->m_file, (int)entry->m_line);
//entry = NULL;
}
Edited by ahh (05/19/13 10:58 AM)
|