This passes now on latest Rakudo per https://irclog.perlgeek.de/perl6/2016-11-18#i_13592286
On Tue, 22 Dec 2015 07:41:52 -0800, na...@cpan.org wrote: > This is from a fresh clone. There is no perl6 on the %PATH%. > > First, no options. Killed after moar.exe CPU use fell to 0, and Task > Manager showed moar.exe waiting on two threads. > > D:\Src\rakudo> perl t\harness t\spec\S17-supply\throttle.t > t\spec\S17-supply\throttle.t .. Dubious, test returned 1 (wstat 256, > 0x100) > Failed 34/47 subtests > > Test Summary Report > ------------------- > t\spec\S17-supply\throttle.t (Wstat: 256 Tests: 13 Failed: 0) > Non-zero exit status: 1 > Parse errors: Bad plan. You planned 47 tests but ran 13. > Files=1, Tests=13, 65 wallclock secs ( 0.11 usr + 0.00 sys = 0.11 > CPU) > Result: FAIL > > This time with verbosity to print progress. Again, kill after moar.exe > cpu use falls to 0, and Task Manager showed moar.exe waiting on two > threads. Note that the number of tests run in this case is 11: > > D:\Src\rakudo> perl t\harness t\spec\S17-supply\throttle.t > --verbosity=3 > t\spec\S17-supply\throttle.t .. > 1..47 > ok 1 - can not be called as a class method > # **** scheduling with ThreadPoolScheduler > ok 2 - did we see all of the element > ok 3 - difference between each at least .5 seconds > ok 4 - difference between each at most .8 seconds > ok 5 - did we see all of the element > ok 6 - difference between each at least something > ok 7 - difference between each at most .5 seconds > ok 8 - ok with 1 at a time > ok 9 - ok with 2 at a time > ok 10 - ok with 3 at a time > ok 11 - ok with 4 at a time > Dubious, test returned 1 (wstat 256, 0x100) > Failed 36/47 subtests > > Test Summary Report > ------------------- > t\spec\S17-supply\throttle.t (Wstat: 256 Tests: 11 Failed: 0) > Non-zero exit status: 1 > Parse errors: Bad plan. You planned 47 tests but ran 11. > Files=1, Tests=11, 249 wallclock secs ( 0.09 usr + 0.00 sys = 0.09 > CPU) > Result: FAIL > > Whether the actual number of tests run is 11 or 13, the triggering > code seems to be this block starting on line 51: > > for 1..10 -> $n { > my @a; @a[9] = 0; # pre-size array to allow seamless multi-thread > updates > (1..10).Supply.throttle( $n, { @a[$_] = 1 } ).wait; > is @a.sum, 10, "ok with $n at a time"; > } > > Let's try one more time: > > D:\Src\rakudo> perl t\harness t\spec\S17-supply\throttle.t > --verbosity=3 > t\spec\S17-supply\throttle.t .. > 1..47 > ok 1 - can not be called as a class method > # **** scheduling with ThreadPoolScheduler > ok 2 - did we see all of the element > ok 3 - difference between each at least .5 seconds > ok 4 - difference between each at most .8 seconds > ok 5 - did we see all of the element > ok 6 - difference between each at least something > ok 7 - difference between each at most .5 seconds > ok 8 - ok with 1 at a time > ok 9 - ok with 2 at a time > ok 10 - ok with 3 at a time > ok 11 - ok with 4 at a time > ok 12 - ok with 5 at a time > ok 13 - ok with 6 at a time > ok 14 - ok with 7 at a time > ok 15 - ok with 8 at a time > ok 16 - ok with 9 at a time > ok 17 - ok with 10 at a time > ok 18 - parallelism as expected with 1 > ok 19 - ok with 1 at a time with random delay > ok 20 - parallelism as expected with 2 > ok 21 - ok with 2 at a time with random delay > ok 22 - parallelism as expected with 3 > ok 23 - ok with 3 at a time with random delay > ok 24 - parallelism as expected with 4 > ok 25 - ok with 4 at a time with random delay > ok 26 - parallelism as expected with 5 > ok 27 - ok with 5 at a time with random delay > ok 28 - parallelism as expected with 6 > ok 29 - ok with 6 at a time with random delay > ok 30 - parallelism as expected with 7 > ok 31 - ok with 7 at a time with random delay > ok 32 - parallelism as expected with 8 > ok 33 - ok with 8 at a time with random delay > ok 34 - parallelism as expected with 9 > ok 35 - ok with 9 at a time with random delay > ok 36 - parallelism as expected with 10 > ok 37 - ok with 10 at a time with random delay > ok 38 - Nothing should be seen yet > ok 39 - did we see all in the right order? > ok 40 - did we get the final status? > ok 41 - currently allowed to run > ok 42 - no bleeds done > ok 43 - none left in buffer > ok 44 - number of results emitted > ok 45 - correct status ID > ok 46 - maximally allowed to run > ok 47 - none are running still > ok > All tests successful. > Files=1, Tests=47, 33 wallclock secs ( 0.08 usr + 0.02 sys = 0.09 > CPU) > Result: PASS > > One more time: > > D:\Src\rakudo> perl t\harness t\spec\S17-supply\throttle.t > t\spec\S17-supply\throttle.t .. ok > All tests successful. > Files=1, Tests=47, 32 wallclock secs ( 0.06 usr + 0.01 sys = 0.08 > CPU) > Result: PASS > > So, what we have here is a Heisenbug related to threads. Sorry I can't > be of more help right now. > > Here's my environment and build info: > > C:\> ver > Microsoft Windows [Version 10.0.10586] > > C:\> cl > Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64 > > C:\> nmake /? > Microsoft (R) Program Maintenance Utility Version 12.00.21005.1 > > C:\> D:\Src\rakudo\perl6 -V > > moar::syslibs[6]=iphlpapi > moar::dcbrule=@: > moar::ar=lib > moar::mastdir=C:\opt\perl6\share\nqp\lib\MAST > moar::tomrule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\libtommath\*.obj > moar::syslibs[2]=mswsock > moar::shaobjects=3rdparty\sha1\sha1.obj > moar::ccshared= > moar::be=0 > moar::dynasmlua=.\3rdparty\dynasm\dynasm.lua > moar::ld=link > moar::mtlib=3rdparty\tinymt\tinymt.lib > moar::mtobjects=3rdparty\tinymt\tinymt64.obj > moar::noreturnspecifier=__declspec(noreturn) > moar::perl=c:\opt\perl\5.23.5\bin\perl.exe > moar::shaclean=$(RM) 3rdparty\sha1\sha1.lib 3rdparty\sha1\*.obj > moar::static_inline=static __inline > moar::ccdebugflags=/Zi > moar::auxclean=$(RM) moar.ilk moar.pdb moar.dll.lib moar.dll.exp > vc100.pdb > moar::thirdpartylibs=3rdparty\dyncall\dyncall\libdyncall_s.lib > 3rdparty\dyncall\dyncallback\libdyncallback_s.lib > 3rdparty\dyncall\dynload\libdynload_s.lib 3rdparty\tinymt\tinymt.lib > 3rdparty\sha1\sha1.lib 3rdparty\libtommath\tommath.lib > 3rdparty\libuv\uv.lib > moar::config=--optimize --prefix=C:\opt\perl6 --make-install > moar::ccinc=/I > moar::booltype=_Bool > moar::ldout=/out: > moar::moarlib=moar.lib > moar::mtrule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\tinymt\*.obj > moar::syslibs[0]=shell32 > moar::dcrule=cd 3rdparty\dyncall && configure.bat /target-x64 && > $(MAKE) -f Nmakefile > moar::dcbobjects= > moar::cflags=/nologo /MT /Ox /GL /DNDEBUG /DWIN32 > /DAO_ASSUME_WINDOWS98 > moar::laolib=__lao__ > moar::libdir=C:\opt\perl6\bin > moar::nul=NUL > moar::osvers=10.0 > moar::translate_newline_output=1 > moar::dlrule=@: > moar::cat=type > moar::can_unaligned_int32=1 > moar::ldimp=%s.dll.lib > moar::win32_compiler_toolchain=win32 > moar::ccdef=/D > moar::lib=%s.lib > moar::tomclean=$(RM) 3rdparty\libtommath\tommath.lib > 3rdparty\libtommath\*.obj > moar::dlllocal= > moar::dcbclean=$(RM) 3rdparty\dyncall\dyncallback\libdyncallback_s.lib > moar::noreturnattribute= > moar::ptr_size=8 > moar::syslibs[5]=psapi > moar::dllimport=__declspec(dllimport) > moar::ccout=/Fo > moar::can_unaligned_num64=1 > moar::has_pthread_yield=0 > moar::ldrpath= > moar::ldusr=%s.lib > moar::mainflags=/DMVM_SHARED > moar::name=moar > moar::dll=%s.dll > moar::cincludes= /I3rdparty\libuv\include /I3rdparty\libuv\src > /I3rdparty\libatomic_ops\src /I3rdparty\libtommath /I3rdparty\dynasm > /I3rdparty\dyncall\dynload /I3rdparty\dyncall\dyncall > /I3rdparty\dyncall\dyncallback > moar::uvrule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\libuv\src\*.obj > 3rdparty\libuv\src\win\*.obj > moar::tomlib=3rdparty\libtommath\tommath.lib > moar::syslibs[3]=rpcrt4 > moar::staticlib= > moar::dlclean=$(RM) 3rdparty\dyncall\dynload\libdynload_s.lib > moar::make=nmake > moar::ccinstflags= > moar::ldflags=/nologo /LTCG > moar::crossconf= > moar::obj=.obj > moar::dlobjects= > moar::defs[0]=WIN32 > moar::cppout=/Fi > moar::ccoptiflags=/Ox /GL /DNDEBUG > moar::asmswitch=/c /FAs > moar::ldoptiflags=/LTCG > moar::mkflags=/nologo > moar::moar=moar.dll > moar::version=2015.11-120-gb258173 > moar::dcclean=$(RM) 3rdparty\dyncall\ConfigVars > 3rdparty\dyncall\dyncall\libdyncall_s.lib > 3rdparty\dyncall\dyncallback\libdyncallback_s.lib > 3rdparty\dyncall\dynload\libdynload_s.lib > 3rdparty\dyncall\dyncall\*.obj 3rdparty\dyncall\dyncallback\*.obj > 3rdparty\dyncall\dynload\*.obj > moar::moarshared=/implib:moar.dll.lib > moar::sharule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\sha1\*.obj > moar::ccwarnflags= > moar::jit=$(JIT_WIN32_X64) > moar::moardll=moar.dll > moar::asm=.asm > moar::mknoisy=!IF $(NOISY) != 1MSG = @echoCMD = @NOOUT = > NULNOERR = > 2> NUL!ENDIF > moar::dclib=3rdparty\dyncall\dyncall\libdyncall_s.lib > moar::ccdefflags=/DWIN32 /DAO_ASSUME_WINDOWS98 > moar::cc=cl > moar::exe=.exe > moar::lddir=/libpath: > moar::uvlib=3rdparty\libuv\uv.lib > moar::dllib=3rdparty\dyncall\dynload\libdynload_s.lib > moar::shaincludedir=3rdparty\sha1 > moar::versionmajor=2015 > moar::cppswitch=/P > moar::can_unaligned_int64=1 > moar::lua=.\3rdparty\dynasm\minilua.exe > moar::dcobjects= > moar::cancgoto=0 > moar::ldlibs=shell32.lib ws2_32.lib mswsock.lib rpcrt4.lib > advapi32.lib psapi.lib iphlpapi.lib > moar::mainlibs=/libpath:. moar.dll.lib > moar::nativecall_backend=dyncall > moar::objflags=/DMVM_BUILD_SHARED > moar::versionpatch=120 > moar::laoclean=@: > moar::versionminor=11 > moar::ccmiscflags=/nologo /MT > moar::install= $(MKPATH) $(DESTDIR)$(PREFIX)\include\libuv $(CP) > 3rdparty\libuv\include\*.h $(DESTDIR)$(PREFIX)\include\libuv > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\armcc > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\gcc > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\hpc > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\ibmc > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\icc > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\loadstore > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\msftc > $(MKPATH) > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\sunc > $(CP) 3rdparty\libatomic_ops\src\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops $(CP) > 3rdparty\libatomic_ops\src\atomic_ops\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops $(CP) > 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps $(CP) > 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\armcc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\armcc > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\gcc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\gcc > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\hpc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\hpc > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\ibmc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\ibmc > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\icc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\icc > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\loadstore\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\loadstore > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\msftc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\msftc > $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\sunc\*.h > $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\sunc > $(CP) 3rdparty\libtommath\*.h $(DESTDIR)$(PREFIX)\include\libtommath > $(MKPATH) $(DESTDIR)$(PREFIX)\include\dyncall $(CP) > 3rdparty\dyncall\dynload\*.h $(DESTDIR)$(PREFIX)\include\dyncall > $(CP) 3rdparty\dyncall\dyncall\*.h $(DESTDIR)$(PREFIX)\include\dyncall > $(CP) 3rdparty\dyncall\dyncallback\*.h > $(DESTDIR)$(PREFIX)\include\dyncall > moar::laoobjects= > moar::mtclean=$(RM) 3rdparty\tinymt\tinymt.lib 3rdparty\tinymt\*.obj > moar::rm=del > moar::uvclean=$(RM) 3rdparty\libuv\uv.lib 3rdparty\libuv\src\*.obj > 3rdparty\libuv\src\win\*.obj > moar::sharedlib=moar.dll.lib > moar::dllexport=__declspec(dllexport) > moar::shalib=3rdparty\sha1\sha1.lib > moar::arout=/out: > moar::lddebugflags=/debug /pdb:$@.pdb > moar::osname=MSWin32 > moar::prefix=C:\opt\perl6 > moar::uvobjects=3rdparty\libuv\src\fs-poll.obj > 3rdparty\libuv\src\inet.obj 3rdparty\libuv\src\threadpool.obj > 3rdparty\libuv\src\uv-common.obj 3rdparty\libuv\src\version.obj > 3rdparty\libuv\src\win\async.obj 3rdparty\libuv\src\win\core.obj > 3rdparty\libuv\src\win\dl.obj 3rdparty\libuv\src\win\error.obj > 3rdparty\libuv\src\win\fs-event.obj 3rdparty\libuv\src\win\fs.obj > 3rdparty\libuv\src\win\getaddrinfo.obj > 3rdparty\libuv\src\win\getnameinfo.obj > 3rdparty\libuv\src\win\handle.obj > 3rdparty\libuv\src\win\loop-watcher.obj > 3rdparty\libuv\src\win\pipe.obj 3rdparty\libuv\src\win\poll.obj > 3rdparty\libuv\src\win\process-stdio.obj > 3rdparty\libuv\src\win\process.obj 3rdparty\libuv\src\win\req.obj > 3rdparty\libuv\src\win\signal.obj 3rdparty\libuv\src\win\stream.obj > 3rdparty\libuv\src\win\tcp.obj 3rdparty\libuv\src\win\thread.obj > 3rdparty\libuv\src\win\timer.obj 3rdparty\libuv\src\win\tty.obj > 3rdparty\libuv\src\win\udp.obj 3rdparty\libuv\src\win\util.obj > 3rdparty\libuv\src\win\winapi.obj 3rdparty\libuv\src\win\winsock.obj > moar::dcblib=3rdparty\dyncall\dyncallback\libdyncallback_s.lib > moar::bindir=C:\opt\perl6\bin > moar::asmout=/Fa > moar::havebooltype=1 > moar::laorule=@: > moar::os=win32 > moar::sh=cmd > moar::arflags=/nologo > moar::ldshared=/dll > moar::defs[1]=AO_ASSUME_WINDOWS98 > moar::impinst=moar.dll.lib > moar::ldinstflags=/Profile > moar::ldmiscflags=/nologo > moar::ldsys=%s.lib > moar::platform=$(PLATFORM_WIN32) > moar::ccswitch=/c > moar::formatattribute= > moar::tomobjects=3rdparty\libtommath\bn_error.obj > 3rdparty\libtommath\bn_fast_mp_invmod.obj > 3rdparty\libtommath\bn_fast_mp_montgomery_reduce.obj > 3rdparty\libtommath\bn_fast_s_mp_mul_digs.obj > 3rdparty\libtommath\bn_fast_s_mp_mul_high_digs.obj > 3rdparty\libtommath\bn_fast_s_mp_sqr.obj > 3rdparty\libtommath\bn_mp_2expt.obj 3rdparty\libtommath\bn_mp_abs.obj > 3rdparty\libtommath\bn_mp_add.obj 3rdparty\libtommath\bn_mp_add_d.obj > 3rdparty\libtommath\bn_mp_addmod.obj 3rdparty\libtommath\bn_mp_and.obj > 3rdparty\libtommath\bn_mp_clamp.obj > 3rdparty\libtommath\bn_mp_clear.obj > 3rdparty\libtommath\bn_mp_clear_multi.obj > 3rdparty\libtommath\bn_mp_cmp.obj 3rdparty\libtommath\bn_mp_cmp_d.obj > 3rdparty\libtommath\bn_mp_cmp_mag.obj > 3rdparty\libtommath\bn_mp_cnt_lsb.obj > 3rdparty\libtommath\bn_mp_copy.obj > 3rdparty\libtommath\bn_mp_count_bits.obj > 3rdparty\libtommath\bn_mp_div.obj 3rdparty\libtommath\bn_mp_div_2.obj > 3rdparty\libtommath\bn_mp_div_2d.obj > 3rdparty\libtommath\bn_mp_div_3.obj > 3rdparty\libtommath\bn_mp_div_d.obj > 3rdparty\libtommath\bn_mp_dr_is_modulus.obj > 3rdparty\libtommath\bn_mp_dr_reduce.obj > 3rdparty\libtommath\bn_mp_dr_setup.obj > 3rdparty\libtommath\bn_mp_exch.obj > 3rdparty\libtommath\bn_mp_expt_d.obj > 3rdparty\libtommath\bn_mp_exptmod.obj > 3rdparty\libtommath\bn_mp_exptmod_fast.obj > 3rdparty\libtommath\bn_mp_exteuclid.obj > 3rdparty\libtommath\bn_mp_fread.obj > 3rdparty\libtommath\bn_mp_fwrite.obj 3rdparty\libtommath\bn_mp_gcd.obj > 3rdparty\libtommath\bn_mp_get_int.obj > 3rdparty\libtommath\bn_mp_get_long.obj > 3rdparty\libtommath\bn_mp_grow.obj 3rdparty\libtommath\bn_mp_init.obj > 3rdparty\libtommath\bn_mp_init_copy.obj > 3rdparty\libtommath\bn_mp_init_multi.obj > 3rdparty\libtommath\bn_mp_init_set.obj > 3rdparty\libtommath\bn_mp_init_set_int.obj > 3rdparty\libtommath\bn_mp_init_size.obj > 3rdparty\libtommath\bn_mp_invmod.obj > 3rdparty\libtommath\bn_mp_invmod_slow.obj > 3rdparty\libtommath\bn_mp_is_square.obj > 3rdparty\libtommath\bn_mp_jacobi.obj > 3rdparty\libtommath\bn_mp_karatsuba_mul.obj > 3rdparty\libtommath\bn_mp_karatsuba_sqr.obj > 3rdparty\libtommath\bn_mp_lcm.obj 3rdparty\libtommath\bn_mp_lshd.obj > 3rdparty\libtommath\bn_mp_mod.obj 3rdparty\libtommath\bn_mp_mod_2d.obj > 3rdparty\libtommath\bn_mp_mod_d.obj > 3rdparty\libtommath\bn_mp_montgomery_calc_normalization.obj > 3rdparty\libtommath\bn_mp_montgomery_reduce.obj > 3rdparty\libtommath\bn_mp_montgomery_setup.obj > 3rdparty\libtommath\bn_mp_mul.obj 3rdparty\libtommath\bn_mp_mul_2.obj > 3rdparty\libtommath\bn_mp_mul_2d.obj > 3rdparty\libtommath\bn_mp_mul_d.obj > 3rdparty\libtommath\bn_mp_mulmod.obj > 3rdparty\libtommath\bn_mp_n_root.obj 3rdparty\libtommath\bn_mp_neg.obj > 3rdparty\libtommath\bn_mp_or.obj > 3rdparty\libtommath\bn_mp_prime_fermat.obj > 3rdparty\libtommath\bn_mp_prime_is_divisible.obj > 3rdparty\libtommath\bn_mp_prime_is_prime.obj > 3rdparty\libtommath\bn_mp_prime_miller_rabin.obj > 3rdparty\libtommath\bn_mp_prime_next_prime.obj > 3rdparty\libtommath\bn_mp_prime_rabin_miller_trials.obj > 3rdparty\libtommath\bn_mp_prime_random_ex.obj > 3rdparty\libtommath\bn_mp_radix_size.obj > 3rdparty\libtommath\bn_mp_radix_smap.obj > 3rdparty\libtommath\bn_mp_rand.obj > 3rdparty\libtommath\bn_mp_read_radix.obj > 3rdparty\libtommath\bn_mp_read_signed_bin.obj > 3rdparty\libtommath\bn_mp_read_unsigned_bin.obj > 3rdparty\libtommath\bn_mp_reduce.obj > 3rdparty\libtommath\bn_mp_reduce_2k.obj > 3rdparty\libtommath\bn_mp_reduce_2k_l.obj > 3rdparty\libtommath\bn_mp_reduce_2k_setup.obj > 3rdparty\libtommath\bn_mp_reduce_2k_setup_l.obj > 3rdparty\libtommath\bn_mp_reduce_is_2k.obj > 3rdparty\libtommath\bn_mp_reduce_is_2k_l.obj > 3rdparty\libtommath\bn_mp_reduce_setup.obj > 3rdparty\libtommath\bn_mp_rshd.obj 3rdparty\libtommath\bn_mp_set.obj > 3rdparty\libtommath\bn_mp_set_int.obj > 3rdparty\libtommath\bn_mp_set_long.obj > 3rdparty\libtommath\bn_mp_shrink.obj > 3rdparty\libtommath\bn_mp_signed_bin_size.obj > 3rdparty\libtommath\bn_mp_sqr.obj 3rdparty\libtommath\bn_mp_sqrmod.obj > 3rdparty\libtommath\bn_mp_sqrt.obj 3rdparty\libtommath\bn_mp_sub.obj > 3rdparty\libtommath\bn_mp_sub_d.obj > 3rdparty\libtommath\bn_mp_submod.obj > 3rdparty\libtommath\bn_mp_to_signed_bin.obj > 3rdparty\libtommath\bn_mp_to_signed_bin_n.obj > 3rdparty\libtommath\bn_mp_to_unsigned_bin.obj > 3rdparty\libtommath\bn_mp_to_unsigned_bin_n.obj > 3rdparty\libtommath\bn_mp_toom_mul.obj > 3rdparty\libtommath\bn_mp_toom_sqr.obj > 3rdparty\libtommath\bn_mp_toradix.obj > 3rdparty\libtommath\bn_mp_toradix_n.obj > 3rdparty\libtommath\bn_mp_unsigned_bin_size.obj > 3rdparty\libtommath\bn_mp_xor.obj 3rdparty\libtommath\bn_mp_zero.obj > 3rdparty\libtommath\bn_prime_tab.obj > 3rdparty\libtommath\bn_reverse.obj 3rdparty\libtommath\bn_s_mp_add.obj > 3rdparty\libtommath\bn_s_mp_exptmod.obj > 3rdparty\libtommath\bn_s_mp_mul_digs.obj > 3rdparty\libtommath\bn_s_mp_mul_high_digs.obj > 3rdparty\libtommath\bn_s_mp_sqr.obj > 3rdparty\libtommath\bn_s_mp_sub.obj 3rdparty\libtommath\bncore.obj > moar::syslibs[4]=advapi32 > moar::syslibs[1]=ws2_32 > perl6::language_version=6.b > perl6::codename= > perl6::release-number= > perl6::build-date=2015-12-22T15:06:37Z > perl6::version=2015.11-718-g73d193b > perl6::implementation=Rakudo