Branch: Tag:

2017-11-02

2017-11-02 18:18:12 by Martin Nilsson <nilsson@fastmail.com>

Fixed some cppclean complaints

2017-07-25

2017-07-25 20:46:28 by Martin Nilsson <nilsson@fastmail.com>

Added comment.

2017-07-11

2017-07-11 03:12:15 by Bill Welliver <bill@welliver.org>

build: NetBSD has bswap(16|32|64) in libc, so we should avoid redefining them.

2017-07-11 02:50:07 by Bill Welliver <bill@welliver.org>

build: NetBSD has bswap(16|32|64) in libc, so we should avoid redefining them.

2017-05-06

2017-05-06 10:40:16 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime [NT]: Fixed reversed bit fiddling on NT.

Fixes "Fatal error: WaitForSingleObject((*(& thread_table_lock)),
0xFFFFFFFF) == ((((DWORD )0x00000000L) ) + 0 ) Unexpected error from
thread function: 6" at startup, which was due to the thread_table_lock
mutex not yet having been initialized by low_th_init(), when an out of
memory error was attempted to be thrown at startup due to not being
able to allocate a huge mapping_data, due to find_next_power() being
broken by this bug.

2016-12-31

2016-12-31 17:12:22 by Arne Goedeke <el@laramies.com>

New byte buffer

This new byte buffer implements a simple dynamic buffer. It aims to

* Provide a clean API.
* Convince the compiler to generate good code. In particular it tries
to avoid unnecessary loads and stores which are otherwise generated
due to the C aliasing rules. This is done using the STATIC_ASSUME(X)
macro, which declare !X as unreachable.
* Have the fast path (when the buffer has enough space) completely
inlined to allow the compiler to batch single byte writes to the
buffer into larger stores.

2016-12-29

2016-12-29 15:02:29 by Arne Goedeke <el@laramies.com>

New byte buffer

This new byte buffer implements a simple dynamic buffer. It aims to

* Provide a clean API.
* Convince the compiler to generate good code. In particular it tries
to avoid unnecessary loads and stores which are otherwise generated
due to the C aliasing rules. This is done using the STATIC_ASSUME(X)
macro, which declare !X as unreachable.
* Have the fast path (when the buffer has enough space) completely
inlined to allow the compiler to batch single byte writes to the
buffer into larger stores.

2016-11-08

2016-11-08 12:38:24 by Arne Goedeke <el@laramies.com>

New byte buffer

This new byte buffer implements a simple dynamic buffer. It aims to

* Provide a clean API.
* Convince the compiler to generate good code. In particular it tries
to avoid unnecessary loads and stores which are otherwise generated
due to the C aliasing rules. This is done using the STATIC_ASSUME(X)
macro, which declare !X as unreachable.
* Have the fast path (when the buffer has enough space) completely
inlined to allow the compiler to batch single byte writes to the
buffer into larger stores.

2016-11-05

2016-11-05 16:56:24 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build [NT]: Fixed syntax error.

2016-07-03

2016-07-03 10:41:29 by Arne Goedeke <el@laramies.com>

Siphash24: added byte order independent versions for wide strings

This commits adds two versions of siphash for both 16 and 32 bit wide
strings. They are identical to the 8bit version on little endian
machines.
The different siphash versions are now also available dynamic modules.

2016-04-09

2016-04-09 16:47:42 by Martin Nilsson <nilsson@fastmail.com>

unsigned INT64 -> UINT64

2016-02-11

2016-02-11 20:04:06 by Martin Nilsson <nilsson@fastmail.com>

Everyone have INT64 in C99-land.

2016-01-12

2016-01-12 18:09:27 by Per Hedbor <ph@opera.com>

inline is part of c99

We do have.. excessive amounts of inline, incidentally. :)

2015-09-13

2015-09-13 18:40:05 by Martin Nilsson <nilsson@fastmail.com>

C documentation.

2015-05-16

2015-05-16 13:07:01 by Arne Goedeke <el@laramies.com>

Stdio.Buffer: use round_up*() functions to enlarge buffer.

Fixes an infinity loop due to overflow. Also changed the round_up*() functions
to return 0 on overflow and made 1 the next power of two after 0.

2015-05-16 13:02:23 by Arne Goedeke <el@laramies.com>

Stdio.Buffer: use round_up*() functions to enlarge buffer.

Fixes an infinity loop due to overflow. Also changed the round_up*() functions
to return 0 on overflow and made 1 the next power of two after 0.

2015-04-01

2015-04-01 12:21:23 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Support compilation with compilers other than gcc again.

Replaced all uses of __attribute__((unused)) with PIKE_ATTRIBUTE_UNUSED.

2015-01-25

2015-01-25 11:09:40 by Arne Goedeke <el@laramies.com>

SipHash24: added byte order independent versions for wide strings

- the current siphash version does not know about wide strings, so
the hash value for wide strings depends on the byte order. added
versions for both 16 and 32 bit wide chars
- also replaced the manual little endian reading routines by the
get_unaligned_le64 macros, which generate much shorter code for
x86_64
- added siphash24_pike_string which will generate a byte order
independent hash value
- use siphash24_pike_string in ADT.Bloom.String

2015-01-25 11:09:40 by Arne Goedeke <el@laramies.com>

add popcount32 and popcount64

2014-12-07

2014-12-07 18:44:05 by Bill Welliver <bill@welliver.org>

windows: calculate trailing/leading zeros (more) correctly.

2014-12-06

2014-12-06 19:14:31 by Bill Welliver <bill@welliver.org>

build: help build on Windows

2014-11-16

2014-11-16 21:16:03 by Arne Goedeke <el@laramies.com>

SipHash24: added byte order independent versions for wide strings

- the current siphash version does not know about wide strings, so
the hash value for wide strings depends on the byte order. added
versions for both 16 and 32 bit wide chars
- also replaced the manual little endian reading routines by the
get_unaligned_le64 macros, which generate much shorter code for
x86_64
- added siphash24_pike_string which will generate a byte order
independent hash value
- use siphash24_pike_string in ADT.Bloom.String

2014-11-16 13:35:31 by Arne Goedeke <el@laramies.com>

add popcount32 and popcount64

2014-05-29

2014-05-29 15:17:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Reduce complaint about unused functions.

We don't care if inline functions defined in the header files aren't
used in all files that include them...

Reduces the number of build warnings to reasonable levels.

2014-03-01

2014-03-01 20:52:48 by Arne Goedeke <el@laramies.com>

set_unaligned_*: forgot argument

2014-02-24

2014-02-24 13:21:47 by Arne Goedeke <el@laramies.com>

bitvector.h: dead code removal, some optimizations

2014-01-12

2014-01-12 02:00:55 by Tobias S. Josefowitz <tobij@tobij.de>

some portable helpers for unaligned memory access

unlike manually shifted bytes, memset() gets optimized to one
load/store on x86.

2014-01-05

2014-01-05 15:14:13 by Marcus Comstedt <marcus@mc.pp.se>

Merge branch '8.0' into gobject-introspection

2013-06-21

2013-06-21 09:18:55 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/7.9' into pdf

2013-06-12

2013-06-12 20:04:24 by Arne Goedeke <el@laramies.com>

Added new block allocator. It dramatically speeds up free, when
allocating many blocks and deallocation happens non linearly.

2013-06-12 19:01:37 by Arne Goedeke <el@laramies.com>

new block alloc

2013-06-12 18:34:31 by Arne Goedeke <el@laramies.com>

new block alloc

2013-06-11

2013-06-11 21:51:01 by Arne Goedeke <el@laramies.com>

ammend this

2012-02-09

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

check for non-temporal store builtins

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

removed extra ##

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

use main config.h

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

moved to main dir