03e21d4368
Remove deprecated memory.op.cmp and Entropy class
2018-12-21 20:05:23 +01:00
e67a05138e
range.primitive: Support non copyable elements
...
... in all ranges.
2018-11-19 21:37:58 +01:00
8aec781e2a
memory.op.equal: Fix parameter documentation
2018-10-30 12:57:09 +01:00
1e46109e50
algorithm.mutation.destroyAll: New
...
Fix #71 .
2018-10-29 11:14:33 +01:00
3b5709821a
Add algorithm.mutation.uninitializedFill
2018-10-20 10:42:01 +02:00
772e87739c
Replace memory.op.cmp with optimized equal version
...
Deprecate cmp.
Fix #68 .
2018-10-02 08:55:29 +02:00
1f615301e5
memory.op: Add findNullTerminated
2018-09-02 08:27:26 +02:00
abd286064b
Add algorithm.mutation.copy
2018-08-05 07:19:30 +02:00
a86b6690f0
Implement auto-decoding free equal comparison
...
Fix #39 .
2018-06-12 20:19:06 +02:00
6ed2992862
Remove unused variables
2018-05-06 07:03:11 +02:00
702d1b02e0
Make allocator getter public
2018-04-28 17:57:07 +02:00
c0f9e5be10
Replace std min/max. Fix #35
2018-04-26 10:23:06 +02:00
e8222123e6
Use syscall instead of mmap and munmap
2018-04-22 08:07:20 +02:00
af45de842e
Take MmapPool from the standard builds
2018-03-29 16:54:56 +02:00
54bcec216e
Deprecate MmapPool for the standard build
...
Mallocator is the default allocator now and should be used instead.
2018-03-06 05:29:15 +01:00
d30de300d6
Fix slicing a null pointer when deallocating
2018-02-25 11:09:57 +01:00
2cda82eeea
Fix handling of misaligned bytes in fill
2018-02-04 07:23:56 +01:00
048ddf21ff
Replace body with do
2018-01-31 12:05:06 +01:00
ac317aa9d6
math.min: Drop useless second isFloatingPoint check
2017-11-19 22:37:15 +01:00
12fb9ff9f6
Add algorithm.mutation.swap
2017-11-01 13:03:48 +01:00
09b6655b9a
memory.op: Check for valid .ptr and .length
...
typeid(T).initializer can return an array, whose .ptr is null but the
length not. Assert that .ptr and .length are consistent.
2017-11-01 00:01:43 +01:00
5d6f8e5299
Implement pure onOutOfMemory
2017-10-10 06:59:34 +02:00
85ad88bc4d
Rename isPolymorphic into isPolymorphicType
2017-10-06 12:06:47 +02:00
211f590caa
Tests and better documentation for memory.stateSize
2017-10-06 07:45:46 +02:00
74b085b88d
Sort imports
2017-10-01 19:03:42 +02:00
a576c36d02
Replace memcpy/memmove with copy/copyBackward
2017-09-30 08:15:02 +02:00
1056a2984e
Fix #303
...
Allocation schema is displayed incorrectly in HTML.
Add pre-tag for the schema.
2017-09-27 17:56:15 +02:00
faebf3e4d5
Fix #304
...
Replace inline assembly with GAS.
2017-09-26 08:26:12 +02:00
ee48c25328
Replace "Ditto." with "ditto"
...
ddox doesn't recognize "Ditto.".
2017-09-22 04:08:50 +02:00
8d3a4860e6
Add memory.op.find for looking for a byte in a memory block
2017-09-20 08:31:54 +02:00
9b54017840
Move all windows specific definitions from network.socket to the sys-package
2017-09-15 10:58:23 +02:00
3eb8618c32
Add range.primitive
2017-09-10 10:35:05 +02:00
2c064eb05b
Add hasElaborate traits
2017-08-25 14:50:15 +02:00
c9a4a2f651
Add "native" configuration and TanyaPhobos version
2017-08-25 00:29:43 +02:00
64f2295d1a
Fix #276
...
Add link to the source file for each module.
2017-08-12 17:01:51 +02:00
dea0eb9a37
Add function for comparing memory regions
...
memory.op.cmp.
2017-08-11 22:15:01 +02:00
7c2abadb90
Add memory.op.copyBackward
...
Added function that can copy memory chunks that can overlap.
2017-08-09 07:01:57 +02:00
2934bb16d7
Rename memory.op.zero into fill
...
- Rename memory.op.zero to fill, which accepts one template parameter: one
byte to fill the memory with.
- Fix bug on x86_64: RAX (register keeping the value to fill with) isn't set if
the pointer was already aligned.
2017-08-06 06:22:28 +02:00
ed92e3993e
Add fast function to zero memory
2017-08-02 06:41:54 +02:00
04864559e2
Respect how Windows passes arrays on x86_64
...
tanya.memory.arch.x86_64:
Linux passes the array length and the data pointer in separate registers.
Windows passes a pointer to the whole array instead (pointer to the
array length practically).
2017-07-31 04:23:21 +02:00
40e43c1465
Add memory.op.copy
2017-07-30 00:08:41 +02:00
5d145f524c
Add fast memory copy function for x86-64
2017-07-29 10:08:44 +02:00
1389b03842
memory: Fix parameter name in the documentation
...
Size parameter for "make" was renamed into n, but the function
description wasn't fixed:
size => n
This commit also removes some redundant variables in "make".
2017-07-25 07:40:14 +02:00
42146c5e8a
Fix #259
...
Get rid of std.experimental.
2017-07-15 22:25:29 +02:00
657f4a60d5
Fix #246
...
Make allocators pure.
* Methods allocating/deallocating memory are pure.
* Allocator.instance is pure (once initialized, it always returns
the same instance).
* defaultAllocator getter property is pure (should be set at the
beginning, and always return the same instance after that).
2017-07-13 16:01:21 +02:00
839c740cb1
Fix mmap flags on linux
2017-07-12 10:04:48 +02:00
2bd612fd19
Make MmapPool allocations pure
2017-07-12 09:30:07 +02:00
fc53779d3f
Fix #245
...
* Remove postcondition for functions calculating alignment
* Put MmapPool invariant into version (none) block
* Check that alignment doesn't overflow
2017-07-11 10:27:24 +02:00
e46e45ad5a
Remove previously deprecated modules
...
* tanya.network.uri
* tanya.network.inet
* tanya.memory.types
2017-06-30 04:19:20 +02:00
47b394d8c3
Add module documentation. Fix #248
2017-06-24 09:08:19 +02:00