mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Don't slice a sliced blob (#36866)
When slicing a blob that is already sliced we should reference it's
parent's data instead of creating a subview into the sliced blob. This
keeps the blob ancestry chain small and reduces the number of blobs that
we have to resolve.
Testing: Includes a new crashtest
Fixes: https://github.com/servo/servo/issues/36843
[try
run](1484487366
)
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
parent
3b806ca424
commit
54c2818974
7 changed files with 76 additions and 69 deletions
|
@ -221,9 +221,9 @@ impl BlobImpl {
|
|||
}
|
||||
|
||||
/// Construct a BlobImpl from a slice of a parent.
|
||||
pub fn new_sliced(rel_pos: RelativePos, parent: BlobId, type_string: String) -> BlobImpl {
|
||||
pub fn new_sliced(range: RelativePos, parent: BlobId, type_string: String) -> BlobImpl {
|
||||
let blob_id = BlobId::new();
|
||||
let blob_data = BlobData::Sliced(parent, rel_pos);
|
||||
let blob_data = BlobData::Sliced(parent, range);
|
||||
BlobImpl {
|
||||
blob_id,
|
||||
type_string,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue