-
-
Notifications
You must be signed in to change notification settings - Fork 758
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
ICU-22991 Reduce fStamp to 8 bits #3323
ICU-22991 Reduce fStamp to 8 bits #3323
Conversation
2673453
to
e087df3
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
e087df3
to
98b06dd
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
98b06dd
to
b31ce36
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
01ed02b
to
4cc9027
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
c49a430
to
cba1319
Compare
Hooray! The files in the branch are the same across the force-push. 😃 ~ Your Friendly Jira-GitHub PR Checker Bot |
Somehow for MSVC, we need one more bit to store the enum. May be a sign conversion bug. |
Reduce 24x3=72 bytes per Calendar object by changing from 32 bits integer to 8 bits integer for the stamp array.
Reset the fNextStamp whenever we clear the fStamp. There are at most 24 different stamp values stored inside fStamp so using 7 bits to store up to 127 different one should be enough.
Also change to use bit fields for:
fIsTimeSet, fAreFieldsSet, fAreAllFieldsSet, fAreFieldsVirtuallySet, fLenient, fRepeatedWallTime, fSkippedWallTime, fFirstDayOfWeek, fWeekendOnset, fWeekendCease to save more space
Checklist