-
Notifications
You must be signed in to change notification settings - Fork 645
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
Make SHSegmentInfo explicit in CardTable #1505
base: static_h
Are you sure you want to change the base?
Conversation
This pull request was exported from Phabricator. Differential Revision: D61747499 |
Summary: Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
Summary: Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
Summary: Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
5a67d25
to
df295ed
Compare
This pull request was exported from Phabricator. Differential Revision: D61747499 |
Summary: Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
df295ed
to
b44464a
Compare
Summary: Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
Summary: Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
This pull request was exported from Phabricator. Differential Revision: D61747499 |
1 similar comment
This pull request was exported from Phabricator. Differential Revision: D61747499 |
b44464a
to
b7d5ee9
Compare
Summary: Pull Request resolved: facebook#1505 Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
This pull request was exported from Phabricator. Differential Revision: D61747499 |
Summary: Pull Request resolved: facebook#1505 Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
b7d5ee9
to
0d7f717
Compare
This pull request was exported from Phabricator. Differential Revision: D61747499 |
Summary: Pull Request resolved: facebook#1505 Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
0d7f717
to
5d6a9f2
Compare
Summary: Pull Request resolved: facebook#1505 Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
5d6a9f2
to
6984bb2
Compare
This pull request was exported from Phabricator. Differential Revision: D61747499 |
Differential Revision: D61675022
…er (facebook#1504) Summary: Pull Request resolved: facebook#1504 Large segment needs to be backed by a large storage size. StorageProvider currently always allocate fixed size of storage determined by HERMESVM_LOG_HEAP_SEGMENT_SIZE. This diffs adds support of allocating larger storage with below changes: 1. `newStorage()` and `deleteStorage()` takes additional `sz` parameter. 2. For `MallocStorageProvider` and `VMAllocateStorageProvider`, simply change the previous fixed storage size to passed in `sz`. 3. For `ContiguousVAStorageProvider`, use a BitVector to manage allocations and deallocations. This can be improved later if we observe fragmentations. The support of enabling different sizes of heap segment will be added later. Differential Revision: D61676721
Summary: Pull Request resolved: facebook#1505 Currently `SHSegmentInfo` lives in the prefix of CardTable inline storage (to be specific, prefix of the `cards_` array). But this is only defined in one comment. Add it into a union with the `cards_` array to make it clear. It also simplifies the reasoning of following diffs, in which we need to add more fields to `SHSegmentInfo`. In addition, `kFirstUsedIndex` should take into account of the size of `SHSegmentInfo`, since the size of `SHSegmentInfo` could be larger than `(2 * kCardTableSize) >> kLogCardSize)` for small segment size. Differential Revision: D61747499
This pull request was exported from Phabricator. Differential Revision: D61747499 |
6984bb2
to
747a70c
Compare
Summary:
Currently
SHSegmentInfo
lives in the prefix of CardTable inlinestorage (to be specific, prefix of the
cards_
array). But this isonly defined in one comment. Add it into a union with the
cards_
array to make it clear. It also simplifies the reasoning of following
diffs, in which we need to add more fields to
SHSegmentInfo
.In addition,
kFirstUsedIndex
should take into account of the size ofSHSegmentInfo
, since the size ofSHSegmentInfo
could be larger than(2 * kCardTableSize) >> kLogCardSize)
for small segment size.Differential Revision: D61747499