Comments (2)
I've setup an experimental version of vAmiga which declares readOp
as a void function. If an address error occurs, an exception is thrown instead of returning false
. Here are the results:
% ls -al vAmigaOld/.../vAmiga
-rwxr-xr-x 1 Dirk staff 11972496 22 Sep 12:54 vAmigaOld/.../vAmiga
% ls -al vAmigaExceptions/.../vAmiga
-rwxr-xr-x 1 Dirk staff 11873760 22 Sep 13:24 vAmigaExceptions/.../vAmiga
The new executable is slightly smaller. This means the old executable had all the exception cleanup code already included. The size reduction is due to the removal of many If-statements which are no longer needed in the new code.
Interestingly, the version using exceptions is slight slower. This is a surprise, because no exceptions are thrown and exception should come with zero-cost in this case. However, the slowdown is negligibly small. Nevertheless, I would have expected it the other ways round, because of many deleted If-statements.
Bottom line: Neither speed nor memory footprint are a show stopper here.
from moira.
Done. Seems to work well.
from moira.
Related Issues (18)
- Breakpoints at the beginning of exception handlers are ignored HOT 5
- Best m68k disassembler HOT 41
- MMU: Address mapping if table index is zero HOT 2
- 68030 bus error exception frame format HOT 2
- MMU test translate1 fails on real machine HOT 13
- Enforcer test HOT 1
- Dasm Output/alignment for Illegal Instruction in Moira/MoiraDasm_cpp.h HOT 3
- Moira Dasm: word size interpreted as negative HOT 2
- Add support for FC pins HOT 2
- Link instruction apparently broken? HOT 3
- Breakpoints / Watchpoints are not detected after reset HOT 2
- Jumps to odd exception vectors not handled correctly HOT 2
- exception vector 3 - address error: part of the Moira implementation? HOT 3
- Low level bus signals HOT 2
- MMU test programs needed HOT 3
- 32-bit data bus support HOT 2
- Support caches
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moira.