Garret Rieger
|
6b1ea4cbe7
|
[subset] hook up the repacker to run if offset overflows are encountered during subsetting.
|
2021-03-17 15:53:57 -07:00 |
Garret Rieger
|
1584d3cb8f
|
[subset] Start a proof of concept implementation of the GSUB/GPOS offset overflow resolver.
|
2021-03-17 15:53:57 -07:00 |
Behdad Esfahbod
|
e5b7bc424d
|
m Add default value to BEInt<> Size template parameter
|
2021-02-20 15:14:15 -07:00 |
Behdad Esfahbod
|
dfa9d7acdc
|
[minor] Use serializer->propagate_error() to simplify code
|
2021-02-11 11:19:51 -07:00 |
Garret Rieger
|
6f754852c1
|
[ENOMEM] skip asserts in to_bias if serializer is in an error state.
|
2020-08-12 11:25:30 +04:30 |
Garret Rieger
|
040ed094ef
|
[ENOMEM] popragate packed/packed_map errors to the serializer.
Will disable further modifications based on a bad state.
|
2020-07-31 08:39:26 +04:30 |
Garret Rieger
|
4cbc7d61bc
|
[ENOMEM] check for unset current in serializer->length().
|
2020-07-31 02:04:06 +04:30 |
Garret Rieger
|
15644ee60e
|
[ENOMEM] fix memory leak if allocation fails during pop_pack().
|
2020-07-30 04:15:35 +04:30 |
Garret Rieger
|
42237adffc
|
[ENOMEM] make serializer modification operations no-ops if it's in an error state.
|
2020-07-30 03:59:49 +04:30 |
Behdad Esfahbod
|
2cc85281c2
|
[serializer] Make snapshot()/revert() revert current object links
Fixes https://github.com/harfbuzz/harfbuzz/issues/2325
|
2020-04-18 17:31:32 -07:00 |
ariza
|
65f4136303
|
minor; fixes #2292
|
2020-04-01 19:49:18 -07:00 |
ariza
|
188a0a47c2
|
removed default base; replaced w/ bias if required
|
2020-03-08 22:59:43 +03:30 |
blueshade7
|
4c3af7d406
|
add "add_link()" with bias arg
issue #2227
|
2020-03-08 18:48:56 +03:30 |
ariza
|
6120f50c8f
|
fix Head with link.bias
|
2020-02-21 10:17:26 -08:00 |
ariza
|
e65bff0943
|
workaround whence_t as bit-field
|
2020-02-21 10:17:26 -08:00 |
ariza
|
1aed6d223c
|
fix whence=Head; position as 28 bits
|
2020-02-21 10:17:25 -08:00 |
ariza
|
4ca8e0d989
|
re-implement Tail; rewrote name table with it
|
2020-02-21 10:17:25 -08:00 |
ariza
|
c1313e4be2
|
minor: undid unintended change
|
2020-02-21 10:17:25 -08:00 |
ariza
|
9c65680b48
|
rename enums to avoid conflict on win
|
2020-02-21 10:17:25 -08:00 |
ariza
|
555f6f1daa
|
merge add_link_abs() into add_link()
|
2020-02-21 10:17:25 -08:00 |
ariza
|
017cd945bf
|
added add_link_abs()
|
2020-02-21 10:17:25 -08:00 |
ariza
|
6585846352
|
pop_pack(share=false) in end_serialize()
issue #2177
|
2020-02-16 17:16:29 -08:00 |
Michiharu Ariza
|
39fb57c0e4
|
add share option to pop_pack() (#2176)
as a solution for #2164
|
2020-02-16 08:38:41 -08:00 |
Behdad Esfahbod
|
d663e28af1
|
[serialize] Catch signedness overflows in check_assign()
Should address https://github.com/harfbuzz/harfbuzz/pull/2163#pullrequestreview-355137936
|
2020-02-12 15:41:21 +00:00 |
Ebrahim Byagowi
|
486754a888
|
[serialize] Extract iterable copy, copy_all
|
2019-10-31 13:31:11 -07:00 |
Ebrahim Byagowi
|
22b6c6a5c7
|
[serialize] use for each as #resolve_links, format
|
2019-09-24 12:06:28 +03:30 |
Qunxin Liu
|
512551f276
|
memory leak fix in serializer (#1988)
|
2019-09-23 17:28:16 -07:00 |
Behdad Esfahbod
|
1c56b5d1d8
|
[serialize] Fix copy() calling operator=
9f610ae239 (commitcomment-33944686)
|
2019-06-17 14:23:04 -07:00 |
Behdad Esfahbod
|
e8b45c1933
|
[array] Add .copy()
|
2019-05-08 16:37:38 -07:00 |
Behdad Esfahbod
|
83e3eabd84
|
Whitespace
|
2019-05-07 20:58:43 -07:00 |
Behdad Esfahbod
|
5c0f62adc9
|
[serializer] Accept pointer & reference in more methods
|
2019-05-07 17:25:58 -07:00 |
Behdad Esfahbod
|
839618de3b
|
[serializer] Minor
|
2019-05-07 17:21:27 -07:00 |
Behdad Esfahbod
|
fa8c4ba811
|
Minor
|
2019-05-07 14:26:03 -07:00 |
Behdad Esfahbod
|
52f6c04c1e
|
Minor
|
2019-05-07 13:45:48 -07:00 |
Behdad Esfahbod
|
2eb7e0e0e9
|
[serialize] Minor
|
2019-05-07 12:45:38 -07:00 |
Behdad Esfahbod
|
1c81cff2d3
|
Fix signed-comparison error on 32bit
|
2019-05-07 11:51:10 -07:00 |
Behdad Esfahbod
|
e6a622b5b2
|
[serialize] Enable bias assertion
|
2019-05-07 11:06:43 -07:00 |
Behdad Esfahbod
|
530ddbbc32
|
[serialize] Use range-based loop
|
2019-05-07 11:05:51 -07:00 |
Behdad Esfahbod
|
240f57e58d
|
Rename hb_deref_pointer() to hb_deref()
|
2019-05-06 23:17:39 -07:00 |
Behdad Esfahbod
|
431b6e1c44
|
[serialize] Disable assertion for now
|
2019-05-02 16:22:32 -07:00 |
Behdad Esfahbod
|
8a32c9eecb
|
[serialize] Misc getting copy() to work
|
2019-05-02 16:20:18 -07:00 |
Behdad Esfahbod
|
91176d5b77
|
[serialize] Check offset base is within (possibly end of) object
|
2019-05-02 15:12:07 -07:00 |
Behdad Esfahbod
|
998b0b68ac
|
[serializer] Add copy() to (Unsized)ArrayOf
|
2019-05-02 14:39:52 -07:00 |
Behdad Esfahbod
|
88fdeeecc0
|
[serialize] Take arguments in copy()
|
2019-05-02 14:14:33 -07:00 |
Behdad Esfahbod
|
6cc9707c9c
|
[serialize] Rename
|
2019-04-24 10:22:06 -04:00 |
Behdad Esfahbod
|
915b9ea5f4
|
[serialize] Add c->check_assign()
To check for assignment overflows.
|
2019-04-24 10:07:19 -04:00 |
Behdad Esfahbod
|
441cca2354
|
Use hb_forward() when forwarding parameter pack
|
2019-04-23 23:51:59 -04:00 |
Behdad Esfahbod
|
9c724e48a2
|
[serializer] Add err_propagaged_error()
|
2019-04-22 17:21:42 -04:00 |
Behdad Esfahbod
|
24da1d0860
|
Use variadic template args for propagate_error()
Let's see if bots happy.
Not sure where else we can use these. Mm. Maybe in hb_invoke().
|
2019-04-22 15:20:25 -04:00 |
Behdad Esfahbod
|
9bab398462
|
Simplify propagate_error()
|
2019-04-22 15:16:35 -04:00 |
Behdad Esfahbod
|
693d91cd49
|
[serialize] Fix offset calculation
|
2019-04-17 17:59:39 -04:00 |
Behdad Esfahbod
|
db0c9a1485
|
[subset] Assert offsets are zero during relocation
If they're not, it's a bug in our subsetting logic somewhere. So check.
|
2019-04-17 17:58:13 -04:00 |
Behdad Esfahbod
|
efbba7ad26
|
[serializer] Add copy()
Calls obj.copy() or obj.operator=() in that order.
|
2019-04-17 11:00:08 -04:00 |
Behdad Esfahbod
|
7b863142ce
|
[serialize] Make putting breakpoint on out-of-memory easier
|
2019-04-03 15:48:27 -07:00 |
Behdad Esfahbod
|
6215fb8e68
|
[serialize] Actually reclaim storage from duplicate objects
|
2019-04-02 23:10:03 -07:00 |
Behdad Esfahbod
|
3305a2cad2
|
[serialize] Port to use object pool
Tested, but feels fragile :(.
|
2019-04-02 22:58:49 -07:00 |
Behdad Esfahbod
|
8e4df1a152
|
[serialize] Disable packed_map again
Ugh. Need to think of something else.
|
2019-04-02 20:20:53 -07:00 |
Behdad Esfahbod
|
5b66b033fd
|
[serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
|
2019-04-02 19:30:22 -07:00 |
Behdad Esfahbod
|
fc24bb9046
|
[serialize] Towards maintaining packed_map
|
2019-04-02 17:49:52 -07:00 |
Behdad Esfahbod
|
e04518bafc
|
[serialize] Movce empty-object handling earlier
|
2019-04-02 17:20:04 -07:00 |
Behdad Esfahbod
|
5a3de4f4f8
|
[serialize] Allow offset links that have base offset from the object base
Rarely used, but used, in name table or similar constructs.
|
2019-04-02 16:53:42 -07:00 |
Behdad Esfahbod
|
f0ea3ac17b
|
[serialize] Fix linking
|
2019-04-01 21:36:03 -07:00 |
Behdad Esfahbod
|
7c0e2054e0
|
[serialize] Minor
|
2019-04-01 21:32:29 -07:00 |
Behdad Esfahbod
|
abe33c6149
|
[serialize] Assert stack
|
2019-04-01 16:56:41 -07:00 |
Behdad Esfahbod
|
72e9b2c16c
|
[serialize] Add add_link() to add link
|
2019-04-01 16:56:41 -07:00 |
Behdad Esfahbod
|
74addbecac
|
[serialize] Add default template type to push()
|
2019-04-01 16:56:41 -07:00 |
Behdad Esfahbod
|
f3aca6aa26
|
[serialize] Implement linking
Untested!
|
2019-03-31 21:37:14 -07:00 |
Behdad Esfahbod
|
d6005b49b3
|
[serialize] Start implementing linking
|
2019-03-30 19:49:56 -07:00 |
Behdad Esfahbod
|
313b3057c3
|
[serializer] Implement dedup!
|
2019-03-30 19:46:35 -07:00 |
Behdad Esfahbod
|
b189bbc48f
|
Implement hashing of objects
Should be improved for hb_bytes_t.
|
2019-03-30 19:41:48 -07:00 |
Behdad Esfahbod
|
d74dc3ef65
|
[serialize] Don't insert empty object into tree
|
2019-03-30 19:26:37 -07:00 |
Behdad Esfahbod
|
7fd8228326
|
[serialize] Towards maintaining hashmap
|
2019-03-30 19:16:20 -07:00 |
Behdad Esfahbod
|
f254f45a1e
|
[serialize] Only pack main object if there are other objects
Avoids a memmove for tables that don't use the object packing mechanism.
|
2019-03-30 19:05:51 -07:00 |
Behdad Esfahbod
|
946d446f9b
|
[serialize] Copy both sides of the buffer
|
2019-03-30 19:03:55 -07:00 |
Behdad Esfahbod
|
8512dc565d
|
[serialize] Simplify copy
|
2019-03-30 19:01:23 -07:00 |
Behdad Esfahbod
|
0b1fe7b716
|
[serializer] Unbreak for now
|
2019-03-30 18:48:26 -07:00 |
Behdad Esfahbod
|
4c4d3c3ed5
|
[vector] Add some move and forwarding
|
2019-03-30 18:30:50 -07:00 |
Behdad Esfahbod
|
9a19b885f9
|
[serialize] Flesh out packing
|
2019-03-30 18:14:30 -07:00 |
Behdad Esfahbod
|
6f69c9d26f
|
[serialize] Minor
|
2019-03-30 18:00:03 -07:00 |
Behdad Esfahbod
|
a43290192b
|
[serialize] Add packed_map
|
2019-03-30 17:57:33 -07:00 |
Behdad Esfahbod
|
bed150bd2e
|
[serialize] Start fleshing out object stack
|
2019-03-30 17:43:43 -07:00 |
Behdad Esfahbod
|
63c3565189
|
[serialize] Simplify propagate_error()
|
2019-03-30 17:12:40 -07:00 |
Behdad Esfahbod
|
dbe9ba6711
|
[serialize] Add object_t, link_t, and snapshot_t
|
2019-03-30 17:10:59 -07:00 |
Behdad Esfahbod
|
6dcf7c4017
|
[serialize] Add unused 'tail'
|
2019-03-30 15:08:39 -07:00 |
Behdad Esfahbod
|
fe05e48086
|
[serialize] Add ran_out_of_room
|
2019-03-30 15:06:25 -07:00 |
Behdad Esfahbod
|
be66b575fc
|
Move serializer to hb-serialize.hh
|
2019-03-30 14:53:54 -07:00 |