diff options
author | bd <bdunaisky@umass.edu> | 2025-04-02 04:05:18 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-02 04:05:18 +0000 |
commit | 9fb95d655393777dde5929182f94de36f903821d (patch) | |
tree | 4462f35895737460a01fab891a15f87aba2efb70 /inc/wb.h | |
parent | 24f0bd8af57381ab3112b5774d4ad23ac80f0718 (diff) | |
parent | 3eeb345d673bee6d62b04fc8a8a95ab822dc1e45 (diff) |
Merge pull request #46 from bdunahu/bdunahu
Ensure all stages only do work if they are not 'OK'
Diffstat (limited to 'inc/wb.h')
-rw-r--r-- | inc/wb.h | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -14,9 +14,27 @@ class WB : public Stage */ WB(Stage *next); using Stage::advance; - + private: void advance_helper() override; + /** + * Performs the actual work of storing into a register. + */ + void write_handler(); + /** + * Performs the actual work of processing a jump instruction. + */ + void jump_handler(); + /** + * @return true if the current instruction is an R or I type and is not a + * STORE. + */ + bool should_write(); + /** + * @return true if the current instruction is a J type and is not a push. + * STORE. + */ + bool should_jump(); }; #endif /* WB_H_INCLUDED */ |