src/hb-null.hh

Branch


Log

Author Commit Date CI Message
Kesavan Yogeswaran 1c249be9 2024-12-02T15:51:19 Sidestep nontrivial-memaccess warning in Crap() With -Wnontrivial-memaccess, recent versions of clang flag the usage of memcpy in hb-null.hh with pointers to nontrivially-copyable types. Sidestep this warning by casting the problematic pointer to void*.
Behdad Esfahbod 56e8a290 2023-08-22T15:49:00 Fix static_size declaration I have a vague memory that it was intentionally written that way, but I can't recall :-(.
Behdad Esfahbod 60db1427 2023-07-24T20:49:32 [layout] Remove unused "max-size" cruft
Behdad Esfahbod c91899be 2023-07-21T11:43:47 [gdef] Use set-digest for mark-filterint-sets Speeds up Noto Duployan-Regular.otf by 45% percent!
Behdad Esfahbod 2006d321 2023-07-07T17:07:11 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size Unfortunately this doesn't speed up NotoNastaliq or Gulzar as I was hoping for. Their GSUB tables are not large enough for this to kick in...
Behdad Esfahbod 7a85663c 2023-07-07T19:21:18 Revert "[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size" This reverts commit 10f8556c73f3cf231c6b5a900a6a1903f9516f90. This was, unfortunately, wrong :(.
Behdad Esfahbod 10f8556c 2023-07-07T17:07:11 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size
Behdad Esfahbod 68b78914 2023-07-07T17:07:11 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size Unfortunately this doesn't speed up NotoNastaliq or Gulzar as I was hoping for. Their GSUB tables are not large enough for this to kick in...
Behdad Esfahbod 347b9448 2023-06-26T18:09:40 [null] Fix getting Crap(hb_bytes_t) Fixes https://oss-fuzz.com/testcase-detail/6187272924692480
Behdad Esfahbod 8a8fc37c 2023-05-03T14:57:00 [GDEF] Use a cache for glyph classes Shows 5% speedup for Roboto shaping.
Behdad Esfahbod e1d2facd 2022-07-15T16:02:58 [null] Add hb_has_null_size() and hb_has_min_size()
Behdad Esfahbod 1e503f58 2022-07-05T15:44:58 [null] Add DECLARE_NULL_NAMESPACE_BYTES_TEMPLATE1
Behdad Esfahbod 1db6fddb 2022-06-18T14:34:46 [arabic-fallback.hh] Hook up 3-letter ligatures
Behdad Esfahbod 8df9aba9 2022-05-26T03:59:21 Actually try to fix null-size undefined behavior Related to: https://github.com/harfbuzz/harfbuzz/pull/2067 https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
Behdad Esfahbod 23a28f5a 2021-04-16T13:22:05 Avoid undefined-behavior If a struct had (because it's a union) sizeof that is larger than the null_size, we were providing only null_size bytes for its Null object. We know we'd never access beyond that, but is undefined-behavior nonetheless according to the standard. The alternative fix would have required use of flexible-arrays, which are not standard and have their own issues in various compiler. We've discussed that extensively in the follow Mozilla issue (currently locked; I've asked that it be opened): https://bugzilla.mozilla.org/show_bug.cgi?id=1577584 Part of https://github.com/harfbuzz/harfbuzz/pull/2067
Behdad Esfahbod 499248c5 2021-04-16T13:14:48 [blob] Use min_size, instead of null_size in .as<T>() Part of https://github.com/harfbuzz/harfbuzz/pull/2067
Behdad Esfahbod 53806e5b 2020-11-25T11:51:37 Tiny improvement on previous commit Functionally the same.
Behdad Esfahbod bd8aa1b0 2020-04-21T22:19:46 Minor
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Behdad Esfahbod 3aceee25 2019-09-06T12:17:18 Revert "[null] Silence undefined-behavior complaints with too-small null bytes" This reverts commit 911c76abcdfe89770b252eb0d4eb621c0db00ad5. Broke tests. I'm not sure I understand why. At any rate, this was a bad way to fix. I'll look into understanding as well as better fix.
Behdad Esfahbod 911c76ab 2019-09-06T11:53:11 [null] Silence undefined-behavior complaints with too-small null bytes Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
Behdad Esfahbod 60653a7a 2019-06-18T13:01:11 Remove HB_VECTOR_SIZE It was cumbersome to get it to work reliably, for dubious performance gain, mostly in the subsetter maybe... Life is easier without. It was disabled forever anyway.
Behdad Esfahbod c0485e32 2019-05-10T21:03:14 Use hb_void_t<> the way it's supposed to be used
Behdad Esfahbod 5a171ed3 2019-05-10T20:11:29 [null] Modernize template work
Behdad Esfahbod 61d150c9 2019-05-10T20:06:31 [meta] Add integral_constant, true_t -> true_type, false_t -> false_type
Behdad Esfahbod 38e3a8bd 2019-05-10T20:03:14 [meta] bool_tt -> bool_constant
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
Behdad Esfahbod 54ece299 2019-04-16T16:45:53 Use type aliasing for meta-functions, ie. those returning a type
Behdad Esfahbod 155e92f2 2019-04-16T11:35:09 Reduce NullPool size
Michiharu Ariza d75b73a3 2019-03-30T00:06:54 fix rebase errors
Michiharu Ariza cc94a9ed 2019-03-29T18:41:38 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset rebase master
Behdad Esfahbod 4c38a9f6 2019-03-29T20:23:07 Remove hb_assign() Not needed anymore. We just use operator= now.
Behdad Esfahbod b986c6a3 2019-03-29T20:17:46 [C++11] Remove IntType::set() in favor of operator=
Behdad Esfahbod ea281aa8 2019-03-26T16:18:03 Use class templates for Null objects This allows partial-instantiating custom Null object for template Lookup<T>. Before, this had to be handcoded per instantiation. Apparently I missed adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic) null for Lookup object, which is wrong and unsafe. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
Behdad Esfahbod a030ce4f 2019-03-28T21:26:50 Merge branch 'master' into iter
Behdad Esfahbod ec2a5dc8 2019-03-26T16:18:03 Use class templates for Null objects This allows partial-instantiating custom Null object for template Lookup<T>. Before, this had to be handcoded per instantiation. Apparently I missed adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic) null for Lookup object, which is wrong and unsafe. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
Behdad Esfahbod d552b681 2018-12-30T18:54:07 [meta] Move typename around We'll see if bots like.
Behdad Esfahbod 8570da1d 2018-12-28T14:40:30 [meta] Minor
Behdad Esfahbod 8c6cbbdf 2018-12-28T14:29:09 [iter/meta] Add hb_is_iterable
Behdad Esfahbod d25a2f14 2018-12-23T20:19:52 Fix a few warnings
Behdad Esfahbod 5b70074e 2018-12-20T15:38:59 Add hb_assign(obj, value)
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Michiharu Ariza 9ae954f4 2018-11-30T15:00:52 Merge branch 'master' into cff-subset
Behdad Esfahbod 282ce723 2018-11-29T12:18:14 Fix "typename outside template" issues Nothing an extra template class wouldn't fix... Fixes https://github.com/harfbuzz/harfbuzz/issues/1419
Michiharu Ariza 32d291ae 2018-11-28T16:27:45 Merge branch 'master' into cff-subset
Behdad Esfahbod 39b9d63b 2018-11-24T00:25:40 Add hb_static_size(T)
Behdad Esfahbod f99abcc3 2018-11-24T00:22:21 Add template-function convenience macros
Behdad Esfahbod e8669105 2018-11-22T18:07:59 Enforce requiring null_size even if min_size is 0 This concludes null-size enforcement changes
Behdad Esfahbod eeed802b 2018-11-22T01:53:36 Fix spurious gcc warnings ../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
Behdad Esfahbod 2737aa81 2018-11-22T01:44:27 Fix up recent change Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
Behdad Esfahbod f2b91d65 2018-11-22T01:10:22 Use Type::null_size for our structs in Null(), sizeof() for other types
Behdad Esfahbod 8d778877 2018-11-21T23:46:09 ..
Behdad Esfahbod 55c66c7c 2018-11-11T16:09:38 Revert "Declare Null() constexpr" This reverts commit 442a72d95ab1fb3a47b486d8d1eb68e909d0ffb8. Doesn't make sense. No idea how my local compilers where happy with it!
Behdad Esfahbod 442a72d9 2018-11-11T15:51:23 Declare Null() constexpr
Michiharu Ariza 43ee0e4d 2018-11-06T09:57:17 Merge branch 'master' into cff-subset
Behdad Esfahbod 0da22fb0 2018-11-05T13:13:39 [null] Tweak hb_nonnull_ptr_t some more
Michiharu Ariza 1682d1bb 2018-11-04T13:25:41 Merge branch 'master' into cff-subset
Behdad Esfahbod d6fdae31 2018-11-03T16:02:03 Add operator char * to hb_nonnull_ptr_t
Behdad Esfahbod 7430ff60 2018-11-03T15:59:13 Template casts in hb_nonnull_ptr_t
Behdad Esfahbod fb0f30f5 2018-11-03T15:24:14 Add hb_nonnull_ptr_t Towards fixing https://github.com/harfbuzz/harfbuzz/issues/1146
Michiharu Ariza e600e544 2018-11-01T16:13:56 Merge branch 'master' into cff-subset
Behdad Esfahbod de96e5c8 2018-11-01T18:13:58 [Crap] Avoid operator=
Michiharu Ariza e1241636 2018-10-23T11:25:51 Merge branch 'master' into cff-subset
Behdad Esfahbod 07386ea4 2018-10-22T21:18:27 Remove const and references when binding Null() Fixes https://github.com/harfbuzz/harfbuzz/issues/1299 Removes anomaly I was seeing in cpal table trying to use implicit Null(NameID).
Michiharu Ariza 857c5827 2018-10-22T09:57:20 Merge branch 'master' into cff-subset
Bruce Mitchener 257d0e5a 2018-10-19T22:49:21 Fix typos.
Behdad Esfahbod b3390990 2018-10-10T12:07:49 Add per-subtable set-digests This speeds up Roboto shaping by ~10%. I was hoping for more. Still, good defense against lookups with many subtables.
Behdad Esfahbod 78c09bf2 2018-10-10T11:50:46 Move subtable array into lookup accel
Michiharu Ariza d050ab8d 2018-09-17T13:07:29 Merge branch 'master' into cff-subset
Michiharu Ariza c0c85b85 2018-09-17T11:14:56 implemented get_glyph_extents with CFF1 Implemented path operators in a new struct PathProc hooked up to CSOpSet Added current point to CSInterpEnv
Behdad Esfahbod 606bf574 2018-09-16T19:33:48 Revert forcing use of single-parameter static_assert() Some clang versions define static_assert as a macro apparently, so we cannot redefine it... This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
Behdad Esfahbod f1a86e1e 2018-09-16T18:01:32 Remove unused try
Michiharu Ariza 22b88632 2018-09-06T22:27:44 Merge branch 'master' into cff-subset
Behdad Esfahbod 0d160d5f 2018-09-03T20:50:11 [subset] Implement subsetting of SingleSubst
Michiharu Ariza 8af9690a 2018-08-29T13:26:17 Merge branch 'master' into cff-subset Renamed cff "private" source/headers without the suffix
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Michiharu Ariza 161ece4c 2018-08-06T11:23:50 Merge branch 'master' into cff-subset
Behdad Esfahbod 3506672c 2018-08-06T06:17:48 Port _nil objects to Null() machinery Finally, unified!
Behdad Esfahbod f9cfa5cb 2018-08-06T05:29:15 Change null-pool specialization to min_size again
Behdad Esfahbod 25147ff8 2018-08-06T05:01:52 Move Null system to hb-null.hh