Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup refactoring #172

Open
eschkufz opened this issue Mar 24, 2015 · 5 comments
Open

Cleanup refactoring #172

eschkufz opened this issue Mar 24, 2015 · 5 comments

Comments

@eschkufz
Copy link
Contributor

There are lots of places where the code can be cleaned up given some of the changes that have happened over the last year. I'll make this and report back to this ticket as I go.

@eschkufz
Copy link
Contributor Author

Time was, the only operand type that used both of its underlying 64-bit registers was MoffsXXX. Now that we store type info in the upper quad, this is true of all operands.

This means we don't need to explicitly redefine comparison and equality operators for every class.

For that matter... since all the operand class really is internally is an std pair, we don't need to define this stuff anywhere. We can just inherit from std::pair.

@eschkufz
Copy link
Contributor Author

The same is true of EnvReg and EnvBits.

@eschkufz
Copy link
Contributor Author

There's also lots of places where we do bit masking and I'm finding errors here and there. I'm going to refactor all of this bit setting/getting into operand.

@eschkufz
Copy link
Contributor Author

There's a lot of friendship floating around which should probably be reduced. Some of it can be fixed with API calls, some of it is just there for historical reasons and not necessary anymore. I'll remove.

@eschkufz
Copy link
Contributor Author

eschkufz commented Apr 7, 2015

Reopening this since I never successfully merged it.

@eschkufz eschkufz reopened this Apr 7, 2015
@eschkufz eschkufz removed their assignment Apr 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant