Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.
/ druntime Public archive
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1274 commits
Select commit Hold shift + click to select a range
f6ab1e2
Merge pull request #1792 from somzzz/arrayEq
dlang-bot Mar 15, 2017
1caa1fc
Fix issue 8411 - add opCast!bool support for Duration.
schveiguy Mar 16, 2017
33b41c1
Fix docs
schveiguy Mar 17, 2017
827fb5d
Merge pull request #1793 from schveiguy/addbooldur
schveiguy Mar 17, 2017
adfae79
Remove a catch of Throwable in object.d
JackStouffer Jan 16, 2017
5a94816
Merge pull request #1743 from JackStouffer/error
dlang-bot Mar 17, 2017
4bd1204
Added missing values to oaidl.d
jsatellite Mar 17, 2017
52ccc9c
Merge remote-tracking branch 'upstream/master' into merge_master
MartinNowak Mar 22, 2017
644d6fb
Merge pull request #1796 from MartinNowak/merge_master
MartinNowak Mar 22, 2017
24bc730
netbsd patch: core/sys/netbsd
sibnick Feb 4, 2016
6046383
cannot throw scoped exception
WalterBright Apr 4, 2017
68301f6
Merge pull request #1799 from WalterBright/minfo-scope
schveiguy Apr 5, 2017
0748d40
Add eventfd bindings
nemanja-boric-sociomantic Apr 4, 2017
fcbec36
Merge pull request #1800 from nemanja-boric-sociomantic/eventfd
dlang-bot Apr 6, 2017
08835c0
Simple multithreaded program + "-profile=gc" = crash
mihails-strasuns-sociomantic Apr 6, 2017
f056b99
Merge pull request #1803 from mihails-strasuns-sociomantic/stable
WalterBright Apr 6, 2017
9cfde10
Merge pull request #1493 from nrTQgc/netbsd_core_sys_netbsd
dlang-bot Apr 8, 2017
53b6610
update pipeline ci repo url
MartinNowak Apr 9, 2017
5d5645c
Merge pull request #1805 from MartinNowak/jenkins
MartinNowak Apr 9, 2017
38c5724
purge changelog
MartinNowak Apr 10, 2017
a98edfc
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Apr 10, 2017
5ac6966
clear changelog
aG0aep6G Apr 10, 2017
dc7d312
remove TypeInfo.init
aG0aep6G Apr 10, 2017
1f292ca
Merge pull request #1807 from aG0aep6G/remove-TypeInfo.init
dlang-bot Apr 10, 2017
dc10926
Array Literal Overloads
somzzz Apr 11, 2017
378615b
Merge pull request #1808 from somzzz/arrayEq
dlang-bot Apr 13, 2017
af5fe9f
Update core.sys.freebsd.sys.event to FreeBSD 11.0
Apr 13, 2017
f0365f2
Add attributes to core.sys.freebsd.sys.event
Apr 13, 2017
596f145
windows: make precise scanning of DATA and TLS optional
rainers Mar 1, 2017
6cf6035
rename scandseg to scanDataSeg, add optimization to combine adjacent …
rainers Apr 15, 2017
8129006
apply changes for netbsd
sibnick Apr 17, 2017
50a39da
Merge pull request #1813 from nrTQgc/netbsd-patch
dlang-bot Apr 18, 2017
6025a38
__equals for floats & obj & integral types
somzzz Mar 16, 2017
1af37a8
ws
somzzz Apr 18, 2017
2463475
Merge pull request #1814 from somzzz/arrayEq_float_Obj
dlang-bot Apr 20, 2017
fe7079e
Fix __cmp(void[], void[])
kinke Apr 22, 2017
538253f
Fix rt.arrayint (RAX instead of EAX for 64-bit inline asm)
kinke Apr 23, 2017
6ae1682
Merge pull request #1816 from kinke/fixArrayint
dlang-bot Apr 23, 2017
b7dd31f
Add support for RISC-V architectures in stdc/errno.d
e-y-e Apr 25, 2017
795ab03
Add sizes of pthread types for RISC-V
e-y-e Apr 25, 2017
40e2029
Merge pull request #1817 from e-y-e/riscv
dlang-bot Apr 27, 2017
835fced
combine consecutive pointers in TLS to a single scan range
rainers Apr 30, 2017
3d01b5a
Add some Bionic declarations needed in latest phobos, plus fix a type…
joakim-noah May 3, 2017
a50b39e
Merge pull request #1819 from joakim-noah/android
dlang-bot May 3, 2017
c6b4c1a
Merge pull request #1797 from MartinNowak/merge_stable
MartinNowak May 4, 2017
6ac9c09
Add Fiber's guard page in Posix as well
nemanja-boric-sociomantic Nov 24, 2016
3e964f0
Make Fiber's stack protection-page's size configurable
nemanja-boric-sociomantic Apr 27, 2017
bd719ea
change guard_page_size to camelCase
MartinNowak May 5, 2017
3b7117b
add test for Fiber guard page
MartinNowak May 5, 2017
a5c0dc2
do not write to guard page
MartinNowak May 5, 2017
6be1794
Simplify fiber guard page test
nemanja-boric-sociomantic May 6, 2017
a3505e7
Merge pull request #1698 from nemanja-boric-sociomantic/fiber-protection
MartinNowak May 6, 2017
c85b3c0
Remove SH64 version code.
ibuclaw May 6, 2017
eb58dcb
Merge pull request #1820 from ibuclaw/rm-sh64
dlang-bot May 6, 2017
ae935af
Fixup fiber guard page changelog
dnadlinger May 6, 2017
13ffd4e
Clean up awkward inner function for cycle sorting.
schveiguy Apr 5, 2017
ed4e437
Merge pull request #1801 from schveiguy/useboolminfo
dlang-bot May 7, 2017
c56e8e0
Fix issue 16856: Apply correct alignment on the Unwind_Exception stru…
Burgos May 7, 2017
c0c720c
Print exception and abort if no handler is found
Burgos Oct 18, 2016
8eefed3
Add test for rt_trapException handling in dwarf
Burgos Oct 19, 2016
a2ead6d
Fix issue 11594: Check if the monitor is null in _d_monitorenter
Burgos Oct 19, 2016
1d73150
Ensure that valid object is passed to core.sync.mutex's const.
Burgos May 7, 2017
ab64362
change default to conservative scanning
rainers May 7, 2017
c7182eb
Merge pull request #1823 from Burgos/exception_alignment
dlang-bot May 7, 2017
29b5e73
Disable copying of inotify_event
nemanja-boric-sociomantic Mar 21, 2017
f4095df
Merge pull request #1795 from nemanja-boric-sociomantic/inotify
DmitryOlshansky May 9, 2017
0940161
Simplify backtrace output to stop at D main() function
yazd May 10, 2017
11ac522
fix Issue 13186 - core/sys/posix/sys/uio.d is not linked into the sta…
WalterBright May 11, 2017
75aefae
Add new options for Linux's fallocate(2)
Burgos Oct 23, 2016
a1fb391
Fix issue 9275: Add test for removeRoot
Burgos May 13, 2017
2144f2f
Merge pull request #1827 from WalterBright/fix13186
WalterBright May 13, 2017
3cf23d2
NetBSD: port struct statvfs from netbsd source
sibnick May 11, 2017
4eecbc4
Merge pull request #1826 from nrTQgc/netbsd_port
dlang-bot May 20, 2017
96c327e
Add missing binding in SRCS
Geod24 Apr 27, 2017
07e4717
Merge pull request #1825 from yazd/simpler_backtrace
dlang-bot May 21, 2017
4fc2afb
correct mistake which causes idx to be inferrred as int
UplinkCoder May 22, 2017
ef3d9ef
Merge pull request #1828 from UplinkCoder/fixArrayEq
dlang-bot May 22, 2017
a3fd043
Array equals overload for dynamic arrays only (+fixed some cases)
somzzz Apr 21, 2017
88ddb5c
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak May 23, 2017
33b0465
Merge pull request #1829 from MartinNowak/merge_stable
MartinNowak May 23, 2017
cc99c09
Merge pull request #1818 from Geod24/missing-bindings
MartinNowak May 26, 2017
9093cfe
Merge pull request #1815 from kinke/fixCmp
dlang-bot May 28, 2017
22ceb59
gc.d: annotate escaping return
WalterBright May 29, 2017
2eb7238
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Jun 1, 2017
c89fd1b
Merge pull request #1824 from somzzz/arrayEq_float_Obj
dlang-bot Jun 3, 2017
9a28c98
Make mulu faster when not defined as an intrinsic
andralex Jun 5, 2017
7d5cd3d
Merge pull request #1832 from MartinNowak/merge_stable
MartinNowak Jun 6, 2017
37543dd
Merge pull request #1831 from WalterBright/escape-gc.d
dlang-bot Jun 7, 2017
8465457
Merge pull request #1732 from LemonBoy/bool-conv
braddr Jun 7, 2017
2b14f6c
Merge pull request #1679 from Burgos/addroot
braddr Jun 7, 2017
6e0e597
Merge pull request #1833 from andralex/checkedint
dlang-bot Jun 8, 2017
5a817fb
use __traits(getLinkage) instead of mangleof to determine linkage
rainers Jun 9, 2017
a4059c5
GetMarshalSizeMax takes a DWORD as second last arg
WebFreak001 Jun 13, 2017
d86e3c2
Merge pull request #1838 from WebFreak001/patch-1
dlang-bot Jun 14, 2017
98ae5b7
Fix invalid undefined Ddoc macros
wilzbach Jun 15, 2017
7484c09
Merge pull request #1840 from wilzbach/fix-ddoc
dlang-bot Jun 15, 2017
475e051
Merge pull request #1798 from rainers/dataptr_opt
dlang-bot Jun 17, 2017
13f7f55
Merge remote-tracking branch 'upstream/master' into merge_master
MartinNowak Jun 17, 2017
d1f5e4b
Merge pull request #1841 from MartinNowak/merge_master
MartinNowak Jun 17, 2017
4b6e99b
add core.stdc.assert_
WalterBright Jun 15, 2017
30eceeb
fix deprecation messages when compiling typeinfo.d
WalterBright Jun 18, 2017
b45775e
osmodel.mak: add comments
WalterBright Jun 18, 2017
2a0678f
fix duplicate make rule
MartinNowak Jun 18, 2017
a0035cc
Merge pull request #1844 from MartinNowak/redundant_make_target
WalterBright Jun 18, 2017
05bcf26
Merge pull request #1842 from WalterBright/typeinfo-dep
wilzbach Jun 18, 2017
dc92bd2
Tweak object.d docs
ntrel Jun 19, 2017
e731f72
Merge pull request #1843 from WalterBright/comments-os.mak
dlang-bot Jun 19, 2017
26fd74c
Document all `destroy` overloads
ntrel Jun 19, 2017
9c52157
document what sed script is doing
WalterBright Jun 19, 2017
639c90c
Disable recursive mutex destruction test on Android.
joakim-noah Jun 24, 2017
092e942
Swap GC signals on Android, because the Java VM intercepts SIGUSR1 an…
joakim-noah Jun 24, 2017
36fcc58
Correct a typo in the TLS delimiter name and rewrite an incorrect com…
joakim-noah Jun 24, 2017
68ba136
Merge pull request #1851 from joakim-noah/android
dlang-bot Jun 25, 2017
6de1308
Merge pull request #1821 from klickverbot/fix-fibre-changelog
MartinNowak Jun 26, 2017
d3dea53
Enlarge the benchmarks to get meaningful diff
DmitryOlshansky Jun 27, 2017
cd1cf21
lower connappend rounds a bit
MartinNowak Jun 28, 2017
01c809e
Merge pull request #1853 from DmitryOlshansky/gc-bench
dlang-bot Jun 29, 2017
974a388
Merge pull request #1847 from WalterBright/canonicalize
dlang-bot Jul 1, 2017
b6d5b74
Merge pull request #1839 from WalterBright/assert_
dlang-bot Jul 1, 2017
d43ed6c
Added immutable to never modified variables in object.d
JackStouffer Jan 16, 2017
37dd734
Added immutable to never modified variables in core/checkedint.d
JackStouffer Jan 16, 2017
5cd5e16
Added immutable to never modified variables in core/cpuid.d
JackStouffer Jan 16, 2017
90fc0e5
Change aliases to new syntax in object.d
JackStouffer Jan 16, 2017
36e02f2
Change aliases to new syntax in core/memory.d
JackStouffer Jan 16, 2017
2f472cd
Change aliases to new syntax in core/demangle.d
JackStouffer Jan 16, 2017
ca57313
Change aliases to new syntax in core/thread.d
JackStouffer Jan 16, 2017
6573792
Merge pull request #1741 from JackStouffer/alias
dlang-bot Jul 3, 2017
0d1fa21
Merge pull request #1744 from JackStouffer/immutable
dlang-bot Jul 3, 2017
ead7d13
Remove osmodel.mak in favor of ../dmd/osmodel.mak
wilzbach Jul 3, 2017
1bc2d7d
Merge pull request #1855 from wilzbach/remove-osmodelmak
dlang-bot Jul 3, 2017
f120725
Merge pull request #1845 from ntrel/patch-1
dlang-bot Jul 4, 2017
f327ef5
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Jul 5, 2017
2fcbbd5
Merge pull request #1681 from Burgos/fallocate
dlang-bot Jul 5, 2017
62845b7
Merge pull request #1770 from quickfur/remove-builtin-reverse
dlang-bot Jul 5, 2017
1199f9c
core.memory: Fix typo (useable -> usable)
CyberShadow Jul 5, 2017
6dd8d62
Merge pull request #1856 from MartinNowak/merge_stable
MartinNowak Jul 5, 2017
d925b00
improve error message
MartinNowak Jul 6, 2017
cdf7012
core.atomic: avoid comparing nan bit patterns
WalterBright Jul 6, 2017
144c9e6
Merge pull request #1676 from Burgos/fix-monitor
dlang-bot Jul 6, 2017
c14e7db
Merge pull request #1835 from rainers/mangleof_to_traits
dlang-bot Jul 6, 2017
3802d59
Merge pull request #1673 from Burgos/uncaught-exc-dwarf
dlang-bot Jul 6, 2017
68cce53
Merge pull request #1809 from Calrama/freebsd
dlang-bot Jul 6, 2017
9ddca3b
core.demangle: support template encoding without length prefix
rainers May 27, 2017
ac13f8f
core.demangle: add demangling of back references
rainers May 27, 2017
ea596c5
core.demangle: add test cases for back references
rainers May 28, 2017
b8dcb05
demangle: improve performance for longer symbols
rainers Jun 2, 2017
f7f87ac
fix issue 14576: backtrack on ambiguous template alias parameter enco…
rainers Jun 2, 2017
0f564d6
fix issues 14319, 14563, 17609, 17610, 17611: demangle: better detect…
rainers Jun 2, 2017
7a92a41
support template aliases to externally mangled symbols with 'X' inste…
rainers Jun 2, 2017
fb6ebcf
demangle with back references: add test cases
rainers Jun 2, 2017
f54956f
purify Demangle
rainers Jun 22, 2017
92cee12
use DbI to reencode mangled string with identifier back references
rainers Jun 22, 2017
dc45571
support LName with length 0 as "__anonymous"
rainers Jun 26, 2017
2e37769
fix issue 16664 - restrict trusted code to a few small functions and …
rainers Jul 3, 2017
3496ab0
atomicOp!(double) unittests depend on has64BitCAS
ibuclaw Jul 7, 2017
d19ba06
Merge pull request #1858 from WalterBright/snan
dlang-bot Jul 8, 2017
b48e7bf
update linux mman.h headers
MartinNowak Jul 8, 2017
fa08dcd
Merge pull request #1860 from ibuclaw/64bitcas
dlang-bot Jul 9, 2017
d7f0dca
Add missing errno codes in existing linux platforms.
ibuclaw Jul 9, 2017
b418dce
Add support for MIPS32 and SPARC64 architectures in stdc/errno.d
ibuclaw Jul 9, 2017
490b273
Add support for MIPS32, SPARC64 and SystemZ architectures in stdc/math.d
ibuclaw Jul 9, 2017
ee93edc
Replace 2147483647 for int.max in stdc/math.d
ibuclaw Jul 9, 2017
dc7d392
Add support for SPARC64 in sys/posix/sys/types.d
ibuclaw Jul 9, 2017
f42acef
Add missing -dip1000 flag to test-suite DFLAGs
Burgos Jul 9, 2017
d9f0ebc
Merge pull request #1861 from MartinNowak/madvise
MartinNowak Jul 9, 2017
3e10db5
Merge pull request #1866 from ibuclaw/ilogb-support
dlang-bot Jul 9, 2017
1784e74
Merge pull request #1865 from ibuclaw/errno-mips32-sparc64
dlang-bot Jul 9, 2017
38d0f95
Merge pull request #1868 from Burgos/dip1000test
dlang-bot Jul 9, 2017
ce863ec
Fix issue 16856: Don't use dlopen from the fini sections
Burgos Jul 8, 2017
868fce8
Merge pull request #1867 from ibuclaw/pthread-sparc64
dlang-bot Jul 9, 2017
1d98350
Merge pull request #1862 from Burgos/dso
dlang-bot Jul 9, 2017
5d714b7
Merge pull request #1864 from ibuclaw/errno-codes
dlang-bot Jul 9, 2017
91baa92
Partial fix for running druntime unittest with PIC=1.
jmdavis Dec 23, 2016
f9276a7
Merge pull request #1721 from jmdavis/fpic_unittest
dlang-bot Jul 10, 2017
180644a
Fix Issue 17624 - typo in Fields documentation section of https://dla…
wilzbach Jul 13, 2017
08c1b88
Merge pull request #1871 from wilzbach/fix-17624
dlang-bot Jul 13, 2017
c6d8bda
Merge pull request #1859 from CyberShadow/pull-20170705-181424
dlang-bot Jul 14, 2017
4988cc3
Merge pull request #1794 from jsatellite/patch-1
dlang-bot Jul 14, 2017
efafd50
Disable Codecov status messages
wilzbach Jul 16, 2017
2945c19
CodeCov: add a hook to the Dlang-Bot
wilzbach Jul 16, 2017
c2c1abc
Merge pull request #1874 from wilzbach/disable-codecov
dlang-bot Jul 16, 2017
81a06e7
disable some inlining to tame dmd inliner, it causes huge compilation…
rainers Jul 16, 2017
692bcad
make coverage a bit more deterministic
rainers Jul 15, 2017
a3627aa
Merge pull request #1875 from rainers/gc_coverage
andralex Jul 16, 2017
bcadc98
Merge pull request #1830 from rainers/mangle_backrefs
dlang-bot Jul 16, 2017
d4015f4
Merge remote-tracking branch 'upstream/mangle' into merge_mangle
MartinNowak Jul 16, 2017
5df37ff
Merge pull request #1877 from MartinNowak/merge_mangle
dlang-bot Jul 16, 2017
e80a739
profile test: allow both the old and the new mangling
rainers Jul 16, 2017
0d9e08f
Merge pull request #1878 from rainers/fix_profile_mangle_test
dlang-bot Jul 16, 2017
f286718
Add SO_REUSEPORT constant for Linux, Darwin and FreeBSD
Burgos Jul 17, 2017
24d8d84
Add ddoc for FALLOC_* consts
nemanja-boric-sociomantic Jul 18, 2017
75e20bf
Add constants for F_OFT_* locks
nemanja-boric-sociomantic Jul 14, 2017
d9dcfa7
Merge pull request #1879 from Burgos/soreusse
dlang-bot Jul 18, 2017
ad733b1
Merge pull request #1873 from nemanja-boric-sociomantic/fileprivatelock
dlang-bot Jul 18, 2017
95a1782
Some minor improvements to Duration.toString.
jmdavis Jul 18, 2017
18c4176
Merge pull request #1882 from jmdavis/time
dlang-bot Jul 18, 2017
548f527
purge changelog
MartinNowak Jul 19, 2017
ca8b54c
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Jul 19, 2017
95c7421
Merge pull request #1883 from MartinNowak/merge_stable
dlang-bot Jul 19, 2017
271f32f
Revert "Add SO_REUSEPORT constant"
wilzbach Jul 20, 2017
e78a928
Merge pull request #1885 from dlang/revert-1879-soreusse
dlang-bot Jul 20, 2017
fc9448d
[Trivial] core.thread: Fix missing alignment of global
kinke Jul 23, 2017
4392df1
Merge pull request #1888 from kinke/stable
wilzbach Jul 26, 2017
16fdb99
fix changelog entry
MartinNowak Jul 26, 2017
672cca8
Merge pull request #1890 from MartinNowak/fix_changelog
dlang-bot Jul 26, 2017
46cc93e
Add pureFree to core.memory
nordlow Dec 21, 2016
0329ee1
Merge pull request #1836 from nordlow/pureFree
andralex Jul 28, 2017
bec52ee
Remove TypeInfo_Typedef
mathias-lang-sociomantic Jul 28, 2017
6859d5b
Don't assert on what name the binary is in the shared testsuite.
ibuclaw Jul 27, 2017
aad9b3a
Merge pull request #1892 from ibuclaw/dumb-asserts
dlang-bot Jul 30, 2017
cf3a7e9
Enable -fPIC by default
wilzbach Jul 18, 2017
d2811a7
Merge pull request #1893 from mathias-lang-sociomantic/typedef
dlang-bot Jul 31, 2017
1ab473d
Fix issue 17665
rikkimax Jul 19, 2017
a896412
Merge pull request #1880 from wilzbach/fpic-by-default
dlang-bot Aug 2, 2017
03b70be
Merge pull request #1884 from rikkimax/rikkimax-patch-17665
dlang-bot Aug 2, 2017
3971109
core.stdc.fenv: Add platform-specific FE_XXX flags
ibuclaw Apr 30, 2016
344fbe2
Merge pull request #1554 from ibuclaw/fenv
dlang-bot Aug 7, 2017
184435f
implement templated array ops
MartinNowak May 27, 2016
84d49d1
fix plotting of arrayops benchmark
MartinNowak Mar 13, 2017
f8dd223
change plot to relative numbers
MartinNowak Mar 13, 2017
973f3a2
switch to easier to read bar plot
MartinNowak Jul 24, 2017
549bc8b
vectorizable ops by introspection
MartinNowak Apr 9, 2017
60d0eef
proper error message for unsupported scalar ops
MartinNowak Apr 9, 2017
4eaf500
remove Issue 7509/16488 workaround
MartinNowak Apr 11, 2017
9c5d83b
always use vec ops
MartinNowak Jun 9, 2017
9d7faf9
rely on auto-vectorizer for gdc/ldc
MartinNowak Jul 24, 2017
69ff724
use __gshared scalar to avoid const-folding
MartinNowak Jul 24, 2017
6bdc5a4
add changelog for templated array ops
MartinNowak Jul 26, 2017
ee9f581
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Aug 8, 2017
a2f3a2c
Merge pull request #1896 from MartinNowak/merge_stable
dlang-bot Aug 8, 2017
19abc2a
winioctl.d: inure against unary + - ~ integral promotion rules
WalterBright Aug 8, 2017
aee45fb
more docs
MartinNowak Aug 9, 2017
0f9d54f
Merge pull request #1897 from WalterBright/unary-winioctl.d
dlang-bot Aug 9, 2017
bc16735
Merge pull request #1891 from MartinNowak/arrayOps
dlang-bot Aug 9, 2017
81320e9
Eliminate one shared static this from thread.d
andralex Jun 12, 2017
f3282fd
Merge pull request #1837 from andralex/nosharedthisthread
dlang-bot Aug 9, 2017
0a8261e
add missing ^^ and ^^= arrayop support
MartinNowak Aug 10, 2017
4575297
Merge pull request #1899 from MartinNowak/array_pow
WalterBright Aug 10, 2017
34dbe07
Merge remote-tracking branch 'upstream/master' into stable
MartinNowak Aug 16, 2017
e051131
Revert "add changelog for templated array ops"
MartinNowak Aug 16, 2017
34d69c4
Merge pull request #1901 from MartinNowak/defer_arrayops
MartinNowak Aug 16, 2017
07a25c9
fix issue 17788: MSCOFF: with VS2017 15.3.1 segment .tls is no longer…
rainers Aug 27, 2017
9676365
fix ws, add comment, use D_InlineAsm versions
rainers Aug 28, 2017
2049db9
purge changelog
MartinNowak Sep 1, 2017
e07fa03
Merge pull request #1910 from rainers/issue17788
PetarKirov Sep 5, 2017
8b655b5
use ci repo as shared jenkins library
MartinNowak Oct 6, 2017
70d536e
fix Issue 17876 - moved bad assertion that failed for arrays of array…
rainers Oct 8, 2017
28d4ef8
add constraint that both arguments are not arrays of scalars
rainers Oct 9, 2017
ec9a79e
Merge pull request #1934 from rainers/issue_17876
MartinNowak Oct 9, 2017
4587822
Merge tag 'v2.076.1' into merge-2.076.1
wilzbach Jan 4, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 21 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# https://github.com/codecov/support/blob/master/codecov.yml
codecov:
bot: dlang-bot

coverage:
precision: 2
round: down
range: 70...100

status:
# Learn more at https://codecov.io/docs#yaml_default_commit_status
project: false
patch: false
changes: false

notify:
webhook:
default:
url: "https://dlang-bot.herokuapp.com/codecov_hook"

comment: false
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ doc/*
lib/*
obj/*
import/*
generated/*
druntime.json
.DS_Store
trace.def
trace.log
Makefile
/errno_c.obj
/Makefile
/errno_c*.obj
/msvc*.obj
make
test/*
1 change: 0 additions & 1 deletion HACKING.md → CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ updated:
* mak/COPY
* mak/DOCS
* mak/IMPORTS
* mak/MANIFEST
* mak/SRCS

Operating system bindings
Expand Down
3 changes: 3 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/env groovy
library 'dlang'
runPipeline()
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
DRuntime: Runtime Library for the D Programming Language
========================================================

[![GitHub tag](https://img.shields.io/github/tag/dlang/druntime.svg?maxAge=86400)](#)
[![Build status](https://img.shields.io/circleci/project/dlang/druntime.svg?maxAge=86400)](https://circleci.com/gh/dlang/druntime)
[![Code coverage](https://img.shields.io/codecov/c/github/dlang/druntime.svg?maxAge=86400)](https://codecov.io/gh/dlang/druntime)
[![Issue Stats](https://img.shields.io/issuestats/p/github/dlang/druntime.svg?maxAge=2592000)](http://www.issuestats.com/github/dlang/druntime)

This is DRuntime. It is the low-level runtime library
backing the D programming language.

Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/bigval.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2015.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
void main(string[] args)
{
Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/bulk.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2011.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
import std.random, std.typetuple, std.conv;

Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/int.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2015.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
import std.random;

Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/l3cache.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2015.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
void main(string[] args)
{
Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/obj.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2015.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
import std.random;

Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/ptr.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2015.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
import std.random;

Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/resize.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2011.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/

import std.random;
Expand Down
2 changes: 1 addition & 1 deletion benchmark/aabench/stomper.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright: Copyright Martin Nowak 2015 - .
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
import std.file, std.algorithm, std.random, std.math;

Expand Down
4 changes: 3 additions & 1 deletion benchmark/aabench/string.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
*
* Copyright: Copyright Martin Nowak 2011 - 2015.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
* Authors: Martin Nowak
*/
module aabench.string;

import std.algorithm, std.file;

void runTest(R)(R words)
Expand Down
193 changes: 193 additions & 0 deletions benchmark/arrayops/arrayops.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
/**
* Benchmark for array ops.
*
* Copyright: Copyright Martin Nowak 2016 -.
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
*/
import core.cpuid, std.algorithm, std.datetime, std.meta, std.stdio, std.string,
std.range;

float[6] getLatencies(T, string op)()
{
enum N = (64 * (1 << 6) + 64) * T.sizeof;
auto a = Array!T(N), b = Array!T(N), c = Array!T(N);
float[6] latencies = float.max;
foreach (i, ref latency; latencies)
{
auto len = 1 << i;
foreach (_; 1 .. 32)
{
a[] = 24;
b[] = 4;
c[] = 2;
__gshared T s = 2; // scalar, use __gshared to avoid const-folding
auto sw = StopWatch(AutoStart.yes);
foreach (off; size_t(0) .. size_t(64))
{
off = off * len + off;
enum op = op
.replace("scalar", "s")
.replace("a", "a[off .. off + len]")
.replace("b", "b[off .. off + len]")
.replace("c", "c[off .. off + len]");
mixin(op ~ ";");
}
latency = min(latency, sw.peek.nsecs);
}
}
float[6] res = latencies[] / 1024;
return res;
}

float[4] getThroughput(T, string op)()
{
enum N = (40 * 1024 * 1024 + 64 * T.sizeof) / T.sizeof;
auto a = Array!T(N), b = Array!T(N), c = Array!T(N);
float[4] latencies = float.max;
size_t[4] lengths = [
8 * 1024 / T.sizeof, 32 * 1024 / T.sizeof, 512 * 1024 / T.sizeof, 32 * 1024 * 1024 / T
.sizeof
];
foreach (i, ref latency; latencies)
{
auto len = lengths[i] / 64;
foreach (_; 1 .. 4)
{
a[] = 24;
b[] = 4;
c[] = 2;
__gshared T s = 2; // scalar, use __gshared to avoid const-folding
auto sw = StopWatch(AutoStart.yes);
foreach (off; size_t(0) .. size_t(64))
{
off = off * len + off;
enum op = op
.replace("scalar", "s")
.replace("a", "a[off .. off + len]")
.replace("b", "b[off .. off + len]")
.replace("c", "c[off .. off + len]");
mixin(op ~ ";");
}
immutable nsecs = sw.peek.nsecs;
runMasked({latency = min(latency, nsecs);});
}
}
float[4] throughputs = void;
runMasked({throughputs = T.sizeof * lengths[] / latencies[];});
return throughputs;
}

string[] genOps()
{
string[] ops;
foreach (op1; ["+", "-", "*", "/"])
{
ops ~= "a " ~ op1 ~ "= b";
ops ~= "a " ~ op1 ~ "= scalar";
foreach (op2; ["+", "-", "*", "/"])
{
ops ~= "a " ~ op1 ~ "= b " ~ op2 ~ " c";
ops ~= "a " ~ op1 ~ "= b " ~ op2 ~ " scalar";
}
}
return ops;
}

void runOp(string op)()
{
foreach (T; AliasSeq!(ubyte, ushort, uint, ulong, byte, short, int, long, float,
double))
writefln("%s, %s, %(%.2f, %), %(%s, %)", T.stringof, op,
getLatencies!(T, op), getThroughput!(T, op));
}

struct Array(T)
{
import core.stdc.stdlib : free, malloc;

this(size_t n)
{
ary = (cast(T*) malloc(T.sizeof * n))[0 .. n];
}

~this()
{
free(ary.ptr);
}

T[] ary;
alias ary this;
}

version (X86)
version = SSE;
else version (X86_64)
version = SSE;
else
static assert(0, "unimplemented");

version (SSE)
{
uint mxcsr()
{
uint ret = void;
asm
{
stmxcsr ret;
}
return ret;
}

void mxcsr(uint val)
{
asm
{
ldmxcsr val;
}
}

// http://softpixel.com/~cwright/programming/simd/sse.php
enum FPU_EXCEPTION_MASKS = 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 7;
enum FPU_EXCEPTION_FLAGS = 1 << 5 | 1 << 4 | 1 << 3 | 1 << 2 | 1 << 1 | 1 << 0;

void maskFPUExceptions()
{
mxcsr = mxcsr | FPU_EXCEPTION_MASKS;
}

void unmaskFPUExceptions()
{
mxcsr = mxcsr & ~FPU_EXCEPTION_MASKS;
}

uint FPUExceptionFlags()
{
return mxcsr & FPU_EXCEPTION_FLAGS;
}

void clearFPUExceptionFlags()
{
mxcsr = mxcsr & ~FPU_EXCEPTION_FLAGS;
}
}

void runMasked(scope void delegate() dg)
{
assert(FPUExceptionFlags == 0);
maskFPUExceptions;
dg();
clearFPUExceptionFlags;
unmaskFPUExceptions;
}

void main()
{
unmaskFPUExceptions;

writefln("type, op, %(latency%s, %), %-(throughput%s, %)", iota(6)
.map!(i => 1 << i), ["8KB", "32KB", "512KB", "32768KB"]);
foreach (op; mixin("AliasSeq!(%(%s, %))".format(genOps)))
runOp!op;
maskFPUExceptions;
}
Empty file.
35 changes: 35 additions & 0 deletions benchmark/arrayops/plot.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Use `Rscript --vanilla plot.R old.csv new.csv` to run this script.
# It will read old.csv and new.csv files and create a comparison plot for them.
library(ggplot2)
library(dplyr)
library(tidyr)

dat <- NULL
args <- commandArgs(trailingOnly=T)
old <- read.csv(args[1]) %>% tbl_df()
new <- read.csv(args[2]) %>% tbl_df()

col.indices <- which(!colnames(new) %in% c("type", "op"))

# relative values
new[,col.indices] <- 100 * new[,col.indices] / old[,col.indices]

# arrange type factor levels
new$type <- factor(new$type, levels = c('byte', 'ubyte', 'short', 'ushort', 'int', 'uint', 'long', 'ulong', 'float', 'double'))

latencies <- gather(new %>% select(-starts_with('throughput')), num_elems, latency, starts_with('latency')) %>%
mutate(num_elems = factor(as.integer(sub("latency(\\d+)", "\\1", num_elems))))
throughputs <- gather(new %>% select(-starts_with('latency')), array_size, throughput, starts_with('throughput')) %>%
mutate(array_size = factor(as.integer(sub("throughput(\\d+)KB", "\\1", array_size))))

img <- ggplot(latencies, aes(x=num_elems, y=latency, fill=type)) +
geom_bar(position="dodge", stat="identity") +
facet_grid(op ~ ., scales="free_y") +
labs(x="num elements", y="relative latency / %")
ggsave('array_ops_latency.png', plot = img, width = 8, height = 40)

img <- ggplot(throughputs, aes(x=array_size, y=throughput, fill=type)) +
geom_bar(position="dodge", stat="identity") +
facet_grid(op ~ ., scales="free_y") +
labs(x="array size / KB", y="relative throughput / %")
ggsave('array_ops_throughput.png', plot = img, width = 8, height = 40)
4 changes: 2 additions & 2 deletions benchmark/gcbench/conalloc.d
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import std.conv;
import std.file;
import std.digest.sha;

auto N = 50;
auto NT = 4;
__gshared int N = 2500;
__gshared int NT = 4;

__gshared ubyte[] BYTES;
shared(int) running; // Atomic
Expand Down
4 changes: 2 additions & 2 deletions benchmark/gcbench/conappend.d
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import std.conv;
import std.file;
import std.exception;

auto N = 50;
auto NT = 4;
__gshared int N = 10000;
__gshared int NT = 4;

__gshared ubyte[] BYTES;
shared(int) running; // Atomic
Expand Down
Loading