github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:05 Altai-man_ joined 00:06 sena_kun left 00:36 colomon joined 00:38 lucasb left 00:40 Altai-man_ left 01:23 MasterDuke left 01:41 colomon left 01:43 colomon joined 03:18 colomon left 05:08 quotable6 left, statisfiable6 left, coverable6 left, shareable6 left, reportable6 left, greppable6 left, releasable6 left, squashable6 left, nativecallable6 left, benchable6 left, bisectable6 left, unicodable6 left, bloatable6 left, notable6 left, committable6 left, coverable6 joined, reportable6 joined 05:09 shareable6 joined, greppable6 joined, squashable6 joined, bisectable6 joined, benchable6 joined, notable6 joined 05:10 quotable6 joined, nativecallable6 joined, bloatable6 joined, statisfiable6 joined, committable6 joined 05:11 unicodable6 joined, releasable6 joined 07:00 greppable6 left, benchable6 left, shareable6 left, reportable6 left, bisectable6 left, notable6 left, bloatable6 left, releasable6 left, committable6 left, coverable6 left, statisfiable6 left, squashable6 left, quotable6 left, unicodable6 left, nativecallable6 left, squashable6 joined, shareable6 joined, statisfiable6 joined, greppable6 joined, nativecallable6 joined 07:01 reportable6 joined, bisectable6 joined 07:02 coverable6 joined, benchable6 joined, committable6 joined, bloatable6 joined, unicodable6 joined 07:03 notable6 joined, releasable6 joined, quotable6 joined 08:09 domidumont joined
samcv AlexDaniel, wikipedia updated 08:23
nine Our Makefile copies src/gen/config.h to /usr/include/moar in addition to /usr/include/moar/gen. Is this actually useful? moar.h #includes "gen/config.h" and that's all an embedder would include. 08:34
09:02 zakharyas joined 09:26 zakharyas left 09:27 zakharyas joined 09:29 zakharyas left 09:30 zakharyas joined 09:42 AlexDaniel left 09:54 zakharyas left 09:56 zakharyas joined 11:15 sena_kun joined 12:04 AlexDaniel joined, AlexDaniel left, AlexDaniel joined, Altai-man_ joined 12:06 sena_kun left
Guest38485 nwc10: I actually had my RPi 4 standing vertically. It did help a little. Anyway I have since bought a flirc.tv/more/raspberry-pi-4-case 12:07
12:18 zakharyas left 12:37 brrt joined
brrt \o 12:37
12:45 colomon joined
nine Damn it, I screwed things up. 12:59
The whole support for serializing NativeCall sites that underlies the NativeCall precompilation improvements has a fatal flaw: it breaks packaging 13:00
That's because the path to a %?RESOURCES library will change between precompilation and runtime. But now the old path is baked into the precomp file :(
I fixed that issue in the HLL by having %?RESOURCES return not strings but objects that resolve paths relative to the current path of the repository and NativeCall knows how to deal with those objects. But the same won't work for MoarVM 13:02
13:30 MasterDuke joined 13:41 brrt left 14:05 sena_kun joined 14:06 Altai-man_ left 14:18 zakharyas joined, colomon left
lizmat interesting NativeCall issue: stackoverflow.com/questions/591067...rent-order 14:58
15:05 robertle joined
nine lizmat: would be most helpful to know which exact rakudo version 15:05
lizmat will ask
16:04 Altai-man_ joined 16:06 sena_kun left
Geth MoarVM: 8a9444b115 | (Stefan Seifert)++ | 3 files
A couple more minor signedness fixes
16:07
MoarVM: ef7d0ecf4d | (Stefan Seifert)++ | 16 files
Fix numerous signedness inconsistencies in the JIT compiler

Try to stick to using unsigned numbers for counting things and for indexing into arrays. Fixes compiler warnings.
16:18 Guest38485 left
Geth MoarVM: a335add83b | (Stefan Seifert)++ | src/debug/debugserver.c
Fix potential NULL pointer dereference in debugserver

find_handle_target can return NULL
16:28
nine There is a -Wnull-dereference since GCC 6 that can be very handy 16:29
jnthn nine++
nine Btw. there are only 2 warnings left. One in complicated string code that I'm not sure about and one in our imported memmem implementation 16:30
That's why I'm experimenting with additional warnings not even covered by -Wall and -Wextra 16:31
16:32 zakharyas left
Kaiepi do builds work on windows? my pr is failing the appveyor build because of a syntax error in src/core/ops.c, even though i haven't changed it ci.appveyor.com/project/samcv/moar...le2c5tcado 16:34
nine src/spesh/optimize.c:2208:52: warning: potential null pointer dereference 16:36
That warning seems legit 16:37
jnthn nine: Will take a quick look 16:40
Hm, it thinks logged_ann could be null?
Hm, I think I agree 16:41
nine jnthn: yes and the author of the code thought so, too, as there's an if(logged_ann) above 16:42
jnthn Wonder who wrote this... :)
Maybe `else if (logged_ann)` is sensible 16:43
Though really this should probably never happen
Geth MoarVM: 14f581683d | (Stefan Seifert)++ | src/spesh/graph.c
Fix misplaced closing curly brace

Probably a merge error. It's harmless but certainly confusing and may cause issues when code is added at some point.
16:45
nine That ^^^ one was was cought by -Wjump-misses-init 16:46
16:47 domidumont left
nine Oooh....we actually do not even enable -Wall! 16:59
lizmat nine: I seem to recall that jnthn didn't like that 17:00
17:01 vrurg left
jnthn The only thing I can remember not liking was the warning about not inserting extra parens in case folks don't know that & is tighter than | :P 17:01
17:02 vrurg joined
nine We probably also don't want -Wunused-parameter as it flags too many places where the parameter is just part of the interface and not used by all implementations 17:03
But we can disable those separately
17:06 vrurg left 17:13 vrurg joined 17:14 Kaiepi left 17:15 Kaiepi joined 17:17 vrurg left
nine There are some warnings about undefined behaviour that are certainly worth a look 17:24
Geth MoarVM: 20804df5bb | (Stefan Seifert)++ | src/profiler/configuration.c
Remove return type of function that doesn't actually return anything.
17:28
17:40 lucasb joined 17:47 Kaiepi left 17:49 Kaiepi joined 18:05 sena_kun joined 18:06 Altai-man_ left 18:07 domidumont joined 18:19 domidumont left 18:27 AlexDaniel left 18:28 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 18:56 MasterDuke left 18:59 domidumont joined 19:05 vrurg joined 19:10 domidumont left 19:16 Ven`` joined 19:18 Ven`` left 19:53 vrurg left, vrurg joined 19:55 Ven`` joined 19:58 vrurg left 20:01 Ven`` left 20:04 Altai-man_ joined 20:06 sena_kun left
Geth MoarVM: f59f8f5de6 | (Stefan Seifert)++ | 2 files
Fix strict aliasing violations when accessing floating point number's memory

C does not allow for two different objects of different types to use the same memory location. While the compiler accepts casting the address of a local variable to a different pointer type and to dereference the result, this actually yields undefined behaviour. The compiler may e.g. reorder reads and writes, so the result of the operation may be some unrelated leftover from memory.
Fix by assigning to and reading from a union.
20:08
20:12 Kaiepi left 20:17 Kaiepi joined
Geth MoarVM: 13b618c25d | (Stefan Seifert)++ | 2 files
Fix strict aliasing violation in MVMHash_gc_mark

C does not allow for two different objects of different types to use the same memory location. While the compiler accepts casting the address of a local variable to a different pointer type and to dereference the result, this actually yields undefined behaviour. The compiler may e.g. reorder reads and writes, so the result of the operation may be some unrelated leftover from memory.
Fix by adding MVM_gc_worklist_add_object_no_include_gen2_nocheck for MVMObject*
20:29
nine This is undefined behaviour: MVM_VECTOR_ENSURE_SPACE(compiler->spills, idx = compiler->spills_num++); 20:57
And frankly, I wouldn't really know what exactly it's supposed to do.
It does after all expand to: MVM_VECTOR_ENSURE_SIZE(compiler->spills, (compiler->spills_num) + (idx = compiler->spills_num++))
So should it end up as compiler->spills_num * 2 or as compiler->spills_num * 2 + 1? 20:58
Since this is about growing a vector, I guess just x2 21:00
Geth MoarVM: 8ac4ac2cf4 | (Stefan Seifert)++ | src/spesh/arg_guard.c
Fix warnings about unhandled enumeration values

Simply adding a default to the switch statement makes it clear that the other values don't need special treatment. Makes the compiler specific pragmas obsolete.
21:09
MoarVM: de1bebc72a | (Stefan Seifert)++ | 6 files
Remove a bunch of variables that were written to but never read
MoarVM: d91f86ba81 | (Stefan Seifert)++ | src/jit/compile.c
Fix undefined behaviour in MVM_jit_spill_memory_select

The MVM_VECTOR_ENSURE_SPACE macro expanded to MVM_VECTOR_ENSURE_SIZE( compiler->spills, (compiler->spills_num) + (idx = compiler->spills_num++)) So it was unclear whether the size should be compiler->spills_num * 2 or compiler->spills_num * 2 + 1. I'm pretty sure the former was meant, so let's make that clear. Fixes a compiler warning.
MoarVM: 4ce5570e24 | (Stefan Seifert)++ | 2 files
Fix warnings about control reaching end of function without return value
21:33
MoarVM: cac9b9a9d7 | (Stefan Seifert)++ | src/6model/sc.h
Remove useless assertion - unsigned value will always be >= 0
21:39
MoarVM: 91e3530acf | (Stefan Seifert)++ | src/6model/sc.h
Fix signedness mismatch in comparisons in assertions
21:43 Ven`` joined 22:05 sena_kun joined 22:07 Altai-man_ left 22:12 AlexDani` joined 22:13 AlexDaniel left 22:37 vrurg joined 22:42 vrurg left 23:17 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 23:44 sena_kun left