kc3-lang/harfbuzz/src/graph

Branch :


Log

Author Commit Date CI Message
de5a6213 2022-12-01 23:37:16 [repacker] enforce root node having no incoming edges.
30e405e4 2022-12-01 22:12:59 [repacker] ensure link obj indices are valid.
554ed06f 2022-12-01 21:51:17 [repacker] add cycle detection to the graph sort. This allows us to bail early if the graph is not acyclic.
9e99d084 2022-09-08 23:19:02 [repacker] validate link widths during repacker setup.
edf7a295 2022-09-08 22:59:34 [repacker] Validate link positions before running the repacker.
deca30b2 2022-09-08 21:10:06 [repacker] get repacker fuzzer working. Additionally add helper method that allows a graph to be saved as a fuzzer seed.
985b19f6 2022-09-07 22:21:16 [repacker] begin implementing a fuzzer for the repacker api.
915c1a00 2022-11-26 14:48:57 [vector] Add remove_unordered Saves 5% in NotoNastaliq/1000 subset benchmark.
4afcdf67 2022-11-22 12:56:48 More hb_memcpy
dd1ba328 2022-11-21 23:20:59 [repacker] fix fuzzer timeout. For https://oss-fuzz.com/testcase-detail/5845846876356608. Only process the set of unique overflows.
02b76393 2022-10-29 11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
c813f842 2022-10-20 19:45:23 Make build work for arm-none-eabi
9559d3c1 2022-10-11 19:49:01 [repacker] fix incorrect coverage table size estimation. During splitting of PairPosFormat2 the code was assuming the maximum size of the generated coverage table would be equal too the current size. This is incorrect size the new coverage table may not preserve the ranges found in the original coverage table (since we are splitting based on class, not coverage) and in the worst case may convert from format2 to format1. So use the size of a format1 table as the max size.
99f4668e 2022-09-29 19:39:59 [repacker] use mutable copies of Coverage/ClassDef in MarkBasePos shrink operation. Also make mutable copies (when needed) of the top level subtables during a split operation.
56c46709 2022-09-20 17:39:54 [subset] Fix compiler warning Fixes https://github.com/harfbuzz/harfbuzz/issues/3823
a91bfeed 2022-08-18 22:01:48 [repacker] comment cleanup.
bf28b84a 2022-08-18 01:51:37 [repacker] cleanup unused base_array_id.
31976bfb 2022-08-18 01:50:35 [repacker] cleanup unused base_array_links.
6f5c52b6 2022-08-18 01:48:10 [repacker] optimize AnchorMatrix::clone. Previous runtime is O(n^2) reduced to O(n).
29e3b246 2022-08-18 01:19:54 [repacker] optimzie remove_real_links as it's a hot method.
46b5dbd7 2022-08-18 01:18:16 [repacker] optimize index_for_offset.
52303638 2022-08-18 01:10:42 [repacker] correct size calculation for MarkBasePosFormat1.
ac1a853a 2022-08-18 00:55:47 [repacker] implement sanitize methods for MarkBasePos.
a3ed9f90 2022-08-17 23:39:11 [repacker] fix graph comparison, and mark base pos generation for the tests.
b46ced95 2022-08-17 17:51:02 [repacker] correct MarkArray size calculation.
36c76c27 2022-08-17 17:30:21 [repacker] when clearing links in MarkArray, also clear parents of the children.
8c3db8bd 2022-08-17 00:36:23 [repacker] more progress on MarkBasePos tests.
1405f96b 2022-08-15 23:48:00 [repacker] change run_resolve_overflow_test to check for graph equivalence. Replaces a check for an exact match on the final serialized bytes. The previous check enforced equivalent topological sorting between result and expected, but we only really care that the graph's are equivalent and don't overflow.
07fd0528 2022-08-15 23:16:51 [repacker] add graph equality check. Does not compare topological sorting, but looks for equivalence of the two graphs.
5cf2a25a 2022-08-15 22:49:24 [repacker] Expose on internal method in the repacker that allows the caller to pass in/out a graph. Will be used in testing so we can compare graphs instead of packed result.
c414ef29 2022-08-15 22:10:37 [repacker] Implement MarkArray::shrink.
f8b55205 2022-08-11 23:09:36 [repacker] Add AnchorMatrix::shrink.
bbe14417 2022-08-11 22:53:30 [repacker] Begin implementing MarkBasePosFormat1::shrink.
c9ddf081 2022-08-11 22:34:59 [repacker] Implement AnchorMatrix::clone.
5ea3c0be 2022-08-11 22:21:28 [repacker] Implement MarkArray::clone.
0083fd10 2022-08-11 22:09:46 [repacker] add as_table() helper to graph.
b00eb776 2022-08-11 20:33:21 [repack] Add add_link helper to graph.
1acd2a8b 2022-08-11 20:22:31 [repacker] implement MarkBasePosFormat1::clone_range.
cf817f3d 2022-08-11 19:26:59 [repacker] Hook up MarkBasePos splitting.
4418beac 2022-08-11 19:08:04 [repacker] start implmenting MarkBasePos splitting.
fa46dbca 2022-08-08 17:07:14 [repacker] Make actuate_subtable_split internal.
fe15f255 2022-08-08 16:57:28 [repacker] use position instead of memory address as key in device_tables map.
163fbf0b 2022-08-05 23:37:11 [repacker] Check for nullptr's before sanitizing.
13253233 2022-08-05 23:15:10 [repacker] in PairPosFormat2 splitting use the max estimated coverage/classdef size for sizing serialization buffers.
dde0a2b0 2022-08-05 22:30:37 [repacker] track estimated coverage size during PairPosFormat1 split point analysis.
b37e8bef 2022-08-05 22:16:20 [repacker] count size of the current class at the split point in the next segment.
0e48a65d 2022-08-05 20:19:11 [repacker] estimate size of classDef1 and coverage during PairPos2 split point analysis.
2264df6d 2022-08-05 18:33:03 [repacker] add utility that can calculate the size of Coverage+ClassDef via incremental class inclusion.
5d824c09 2022-08-05 01:37:14 [repacker] during table splits don't mutate shared coverage/classdef in place. If other subtables are sharing coverage with a subtable being split we have to duplicate the coverage/classdef tables before they are modified during the shrink operation.
e1ab3550 2022-08-05 01:25:16 [repacker] correct lookup link insertion.
a733a9af 2022-08-05 00:32:47 [repacker] insert new subtables immediately after the subtable they split from in the lookup.
506547c9 2022-08-04 21:36:21 [repacker] Use hb_pair_t constructor instead of hb_pair (). hb_pair was causing corrupted gid values.
fdd1952c 2022-08-04 19:21:16 [repacker] PairPosFormat2 splitting - fix coverage and classdef splitting. The old code was splitting based on coverage index, but should have been splitting on class value.
b154b1e4 2022-08-04 01:37:21 [repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
88e0dd02 2022-08-04 01:03:07 [repacker] add sanitization for PairPosFormat2.
54fab21c 2022-08-03 21:57:37 [repacker] get basic pair pos 2 split test working.
60d6ffb3 2022-08-03 21:01:23 [repacker] always duplicate classDef2 when splitting a PairPos2. Splits are done in a way that it shouldn't be possible to share the classDef2 between split PairPos2's so pre-emptively duplicate it.
6be15242 2022-08-03 19:02:20 [repacker] add basic test for PairPos2 splitting.
65ed82fd 2022-08-02 22:22:42 [repacker] PairPosFormat2::do_split.
f43055f3 2022-08-02 22:16:29 [repacker] Implement PairPosFormat2::shrink.
9f2a4464 2022-08-02 21:47:53 [repack] implement device table transfer for PairPosFormat2.
22eae32b 2022-08-02 21:04:38 [repacker] add classDef1 clone_range to PairPosFormat2 split.
68b90153 2022-08-02 20:58:35 [repacker] Add class def sanitize and range cloning.
ca0df565 2022-08-02 20:04:46 [repacker] extract coverage cloning into helper.
7f4b2037 2022-08-02 18:43:25 [repacker] include size of device tables when determining PairPos2 split points.
58fdbd8e 2022-07-30 02:05:15 [repacker] begin adding PairPosFormat2 splitting support.
a0111e4f 2022-07-30 12:09:45 [graph] Fix warning Fixes https://github.com/harfbuzz/harfbuzz/issues/3766
9578c44e 2022-07-29 21:58:24 [repacker] add HB_FALLTRHOUGH.
6a5e2cb2 2022-07-29 20:38:53 [repacker] add todo.
14f95ee0 2022-07-29 20:09:52 [repacker] re-count shared node sizes in split PairPos segments.
3b91fb2a 2022-07-29 20:04:42 [repacker] cleanup todo.
a0b8893e 2022-07-29 19:58:51 [repacker] add Coverage sanitize.
38846f41 2022-07-29 18:30:24 [repacker] more TODO cleanup.
46c1fa7d 2022-07-29 18:29:12 [repacker] sanitize PairPos during subtable extension.
fb3f6ad7 2022-07-29 00:25:19 [repacker] ensure lookup map is updated when lookup memory location changes.
f1bfb658 2022-07-28 21:01:41 [repacker] cleanup debug prints.
65afed04 2022-07-28 20:54:28 [repacker] more bug fixes.
1002a3dc 2022-07-28 20:17:36 [repacker] bug fixes.
a5c2c8c1 2022-07-28 01:27:55 [repack] fix incorrect shrink.
d589ce68 2022-07-28 01:04:37 [repacker] add extension subtable when needed while adding new PairPos table's.
5024d4de 2022-07-28 00:55:36 [repack] more PairPos split implementation.
510b8ab1 2022-07-27 23:30:20 [repack] link new coverage in PairPosFormat1::clone_range.
29cb8818 2022-07-27 21:02:48 [repacker] new coverage serialization in PairPosFormat1.
8d63f60e 2022-07-27 20:36:20 [repack] add graph_t::move_child helper function.
8e5fffc4 2022-07-27 20:00:00 [repack] add helper to create new nodes. Switch to malloc'ing each node individually rather than trying to guess up front the total buffer space needed.
bf0986c7 2022-07-27 19:33:46 [repack] sketch splitting mechanism for PairPosFormat1.
f6a242b6 2022-07-27 18:58:41 [repacker] begin adding PairPos splitting support.
241ebc93 2022-07-26 00:04:20 [repacker] fix include paths.
9d0b2da5 2022-07-25 20:46:49 [repacker] count subtable size in each group of consecutive layers for extension promotion decisions. Enforce that the following groups are all <64k in size: - LookupList + Lookups - Lookups + SubTables - SubTables + Descendants
9db3beb7 2022-07-25 19:42:58 [repacker] include LookupList size when calculating size of 16bit space for ext promotion decisions.
8d611a7f 2022-07-22 22:49:40 [repacker] remove temporary visibility overrides in gsubgpos.
7de136f8 2022-07-22 21:04:34 [repacker] add ext promotion test.
ad0041f5 2022-07-21 22:50:14 [repacker] Add basic version of the extension promotion selection algorithm.
0b6ca424 2022-07-21 21:57:17 [repacker] fix GSTAR sanitize.
11709f0f 2022-07-21 21:54:42 [repacker] support extension promotion in 24bit GSUB/GPOS.
b37374b0 2022-07-21 21:50:23 [repacker] save buffer reference (not copy).
ae290ff4 2022-07-21 21:45:04 [repacker] add sanitization for GSUB/LookupList/Lookup during extension promotion.
ce03c353 2022-07-21 19:07:55 [repacker] add make_extension_context_t.
ebb64b50 2022-07-21 18:36:20 [repacker] size buffer correctly.
815bb82b 2022-07-20 18:17:29 [repack] fix incorrect extension object bounds.