Commit Graph

6823 Commits

Author SHA1 Message Date
Behdad Esfahbod 1ab3c3ed1b [vector] Whitespace 2018-06-01 17:34:24 -07:00
Behdad Esfahbod fb07d1a3ce Another attempt at making every compiler happy...
Sigh.
2018-06-01 17:32:07 -07:00
Behdad Esfahbod 4f76f956bb [map] Move prime_for to hb-static 2018-06-01 17:28:47 -07:00
Behdad Esfahbod 33d6f46bbb [set] Shrink page-map size again 2018-06-01 17:25:35 -07:00
Behdad Esfahbod 4ca211bce1 Fix hb_vector_size_t 2018-06-01 17:19:05 -07:00
Garret Rieger a070dfd333 [subset] Have the subset fuzzer pull the text string to subset to from the end of the fuzzer provided data. 2018-06-01 17:32:02 -06:00
Behdad Esfahbod bb6f4adac7
Add Codacy badge 2018-06-01 16:30:38 -07:00
Behdad Esfahbod a7dd90f519 Revert "Remove HB_DISALLOW_COPY_AND_ASSIGN"
This reverts commit ff92de766b.

Revert that and remove ASSERT_POD. Let's see which bots are
unhappy with this configuration...
2018-06-01 16:10:45 -07:00
Behdad Esfahbod 7b50bf52f2 Use NullPool for _hb_set_nil and _hb_map_nil 2018-05-31 20:20:17 -07:00
Behdad Esfahbod f040ca40ab [set] Minor 2018-05-31 20:15:21 -07:00
Behdad Esfahbod 7185b273b3 Rename in_error to !successful
Towards possibly using Null pool for some nil objects.
2018-05-31 20:03:34 -07:00
Behdad Esfahbod 353f4d2efc Fix a whitespace inconsistency
Null() and Crap() are only places that there's no space before '('...
2018-05-31 19:52:16 -07:00
Behdad Esfahbod e36cd1dfd3 Remove trivial HB_ATOMIC_INT_INIT() 2018-05-31 19:31:39 -07:00
Behdad Esfahbod 550a70f801 Use 0 as inert object reference value instead of -1
Towards using Null object for nil objects.
2018-05-31 19:28:04 -07:00
Behdad Esfahbod dcd1b07eea Add const OffsetTo<> dereference
Unused, but now that we have CrapPool, implement it.
2018-05-31 17:58:40 -07:00
Ebrahim Byagowi 2baa357ac7
Fix symbol export issue of prime_mod on Alpine bot
Apparently our gcc-6.4.0 on Alpine Linux distribution doesn't like defining static const
inside a method, lets put that on outside the classes.
2018-05-31 12:27:31 +04:30
Behdad Esfahbod 54800f8322 [map] Mark prime_for HB_INTERNAL
Trying to see if it fixes gcc-4.2 bots.
2018-05-30 16:26:50 -07:00
Behdad Esfahbod d600e844aa Add CrapOrNull 2018-05-30 16:25:57 -07:00
Garret Rieger 251cc977e9 [subset] Switch to using hb_map_t inside of hb_subset_plan_t. 2018-05-30 17:23:59 -06:00
Behdad Esfahbod b3d45de6cf [map] Fix size calculation
Don't know why I thought I should subtract one there...
2018-05-30 14:02:49 -07:00
Behdad Esfahbod ff92de766b Remove HB_DISALLOW_COPY_AND_ASSIGN
llvm-gcc-4.2 bot had this problem:
hb-private.hh:812: error: initializer specified for non-virtual method 'void hb_vector_t<Type, StaticSize>::operator=(const hb_vector_t<Type, StaticSize>&) [with Type = hb_user_data_array_t::hb_user_data_item_t, unsigned int StaticSize = 1u]'

Removing the delete didn't work with a constructor. So, remove constructor.
Just disallow assignment.  Still better than nothing.
2018-05-29 18:48:45 -07:00
Behdad Esfahbod a244434622 [map] Fix resize 2018-05-29 18:32:57 -07:00
Behdad Esfahbod efbab6ba3f Disable use of thread_local
Clang build was failing with:

/usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32 against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used when making a shared object

Instead of fighting it, just disable use of it.
2018-05-29 18:21:55 -07:00
Behdad Esfahbod 8c2c5d4508 [map] Not going to implement is_equal which is complicated 2018-05-29 18:15:52 -07:00
Behdad Esfahbod ccd01c6555 [map] Move prime_mod to header to avoid linkage issues in subset.so 2018-05-29 18:13:13 -07:00
Behdad Esfahbod 6baebc5d55 [map] Fix copyright year 2018-05-29 17:58:46 -07:00
Behdad Esfahbod b0158129d2 [map] Minor 2018-05-29 17:52:37 -07:00
Behdad Esfahbod 4099c66f70 [map] Don't return INVALID from get() just because in_error 2018-05-29 17:52:07 -07:00
Behdad Esfahbod 2578390773 [map] Fix bool use in C API 2018-05-29 17:34:35 -07:00
Behdad Esfahbod a9fa39dca5 [map] More minor 2018-05-29 17:31:01 -07:00
Behdad Esfahbod f76c4a7708 [map] Make initial resize actually work 2018-05-29 17:27:25 -07:00
Behdad Esfahbod 661e9ae4a5 [map] Add clear(), is_empty(), and get_population() 2018-05-29 17:09:17 -07:00
Behdad Esfahbod b6959c33e2 [map] Minor 2018-05-29 17:02:22 -07:00
Behdad Esfahbod 686476a8ae [map] Track population and occupancy separately 2018-05-29 17:00:02 -07:00
Behdad Esfahbod 8a978790cb [map] Minor 2018-05-29 16:45:20 -07:00
Behdad Esfahbod 6f12ce47c0 Revert "[map] Return bool from set()"
This reverts commit face7cf55d.
2018-05-29 16:45:06 -07:00
Behdad Esfahbod fc51c45079 Revert "[map] Make hb_map_set() return bool"
This reverts commit 7bf1980146.
2018-05-29 16:44:55 -07:00
Behdad Esfahbod 7bf1980146 [map] Make hb_map_set() return bool 2018-05-29 16:42:55 -07:00
Behdad Esfahbod face7cf55d [map] Return bool from set() 2018-05-29 16:39:03 -07:00
Behdad Esfahbod e94be200bd [map] Implement operator[] for get()ting 2018-05-29 16:37:44 -07:00
Behdad Esfahbod 743fdd9c61 [map] First try at implementing an integer-to-integer hashmap
Fully untested.
2018-05-29 16:29:12 -07:00
Ebrahim Byagowi 65c82179c9
[blob] Use MAP_NORESERVE if available (#1039)
MAP_NORESERVE is not available on macOS for example so set the flag
to zero if not defined on the headers.
2018-05-26 23:50:10 +04:30
Behdad Esfahbod 1ce40d900a [set] Remove stale comment 2018-05-25 16:34:08 -07:00
Behdad Esfahbod 6c2227640b Add HB_DISALLOW_COPY_AND_ASSIGN 2018-05-25 16:21:27 -07:00
Behdad Esfahbod fd3d004231 Move pool definitions to hb-static.cc 2018-05-24 15:58:26 -07:00
Behdad Esfahbod 7f7b1370d3 Fix Uniscribe build
If a pointer type was passed to Null(), reinterpret_cast<> was
complaining about qualifiers being removed. Turns out I need the const on
the other side of "Type" to fix that.  Also remove unused const from
NullPool type.
2018-05-24 14:09:04 -07:00
Behdad Esfahbod 31c4236d96 Underflow protection in hb_vector_t 2018-05-24 13:53:02 -07:00
Behdad Esfahbod f83e992c8b Mark CrapPool thread_local
Not sure if I like to keep it. For now, aim for correctness.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod 5d80129891 Add CrapPool
Common Regoin for Access Protection.  Like the NullPool, but writable.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod 673b764de0 Move code around 2018-05-24 13:53:02 -07:00