View Single Post
Old 05 December 2020, 20:16   #19
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,233
Quote:
Originally Posted by bloodline View Post
Perhaps you are in a position to think about it, moving forward
No. And even if, it would be far too late to fix that.


Quote:
Originally Posted by bloodline View Post
Given my (limited) understanding of BOOPSI, I can’t think how it could be implemented any other way, using ANSI C?
At least the most common methods like OM_NEW, OM_DELETE, OM_GET, OM_SET or OM_DRAW should have been mapped to standard LVOs of the boopsi class which would help already to streamline the dispatch mechanism. There would be still a way for a "generic" dispatcher entry in case none of the above match, or a smart "hash" algorithm that derives from the method ID the entry. Or make the method ID the offset to the entry point (even easier). This is how C++ virtual function calls work. Replace the vtable with the library vector entries, and you have a possible design with less overhead.




Quote:
Originally Posted by bloodline View Post
You are really painting a bad picture here perhaps it’s time to replace it!?

Wrong man, wrong time.
Thomas Richter is offline  
 
Page generated in 0.07723 seconds with 11 queries