IRC channel logs

2019-10-23.log

back to list of logs

<janneke>OriansJ: yay, my first mes-m2 segfault!
<janneke>pointer-based garbage collector compiles ... but still buggy/problematic
<OriansJ>janneke: I am going to be adding a block based compressing garbage collector when I finish getting mes-m2 into the form I like
<OriansJ>It'll significantly reduce the memory footprint and speed up compression
***ng0_ is now known as ng0
<janneke>OriansJ: oh!? wow...
<janneke>OriansJ: i just found that && does not seem to short-circuit in M2-Planet
<janneke>ie, this segfaults: { char *a = 0; if (a && a[0]) return 1; }
<janneke>
<janneke>meanwhile, i haven't got my stop-and-copy garbage collector to fully work
<OriansJ>janneke: yeah, nothing short-circuits at all
<janneke>with pointer-based cells, that is
<janneke>OriansJ: okay, that's not a problem...but very good to know!
<janneke>:)
<OriansJ>it also is the Wirth way of doing things I guess (how pascal does comparisons)
<OriansJ>It was selected for simplicity of implementation.
<OriansJ>You'll also find that goto's are naive gotos as well
<OriansJ>aka gotos will jump to any label in any function but will not do any stack clean up at all
<janneke>hah, we could use that to our advantage ... *evil grin*
<OriansJ>only if you are careful
<OriansJ>aka never do a int foo; inside of a goto
<OriansJ>it will cause a stack offset that can cause problems
<OriansJ>as it also does naive stack cleanup (it pops off the stack rather than simply reseting the pointer)
<OriansJ>Which means there is a dirt cheap way to add speed to M2-Planet; that I left there for anyone who wants to make M2-Planet faster
<OriansJ>(or M2-Planet generated binaries faster)
<OriansJ>(I try to leave alot of fun ways to contribute in hope that new people see them and go hey I can do that in 5 minutes)
<OriansJ>Trivial typos, grammar issues, obvious enhancements to performance or ports
<OriansJ>the sort of thing that makes it easy to contribute and help make the world a better place
<stikonas>my last typo fix required sed :D... too many to fix by hand
<OriansJ>stikonas: well that is because you have a far more impressive output than I do 0_0
<xentrac>you're both producing very impressive output
<OriansJ>xentrac: says the person behind dercuano ..... ^_-
<xentrac>have you been reading it? I'd love to have your feedback!
<OriansJ>xentrac: yes but slowly
<stikonas>my output is trivial... at least for this bootstrapping project :D OriansJ does bulk of the work
<stikonas>I do work on some other projects though :D
<OriansJ>stikonas: every little bit helps ^_^
<OriansJ>especially when I get stuck on such a trivial thing
<xentrac>OriansJ: feel free to ask me about things or tell me things about it
<OriansJ>xentrac: I'll be sure to do that from time to time ^_^
<OriansJ>now that diff took a while to review
<OriansJ>stikonas: your M2-Planet commit failed to update the test100 answer; as that will be changed as the expected binary would be different
<stikonas>OriansJ: oh I see, I'll fix it
<OriansJ>thank you stikonas
<stikonas>btw, I was a bit confused about some shared files... e.g. cc_x86 is present in many repos, are they simply synced to be the same?
<OriansJ>currently yes but I probably should replace that by simply making them submodules in mescc-tools-seed
<stikonas>is there a way to run all tests in M2-Planet?
<OriansJ>stikonas: make clean test works pretty well
<OriansJ>and export GET_MACHINE_FLAGS="--override x86" will allow an AMD64 platform to test the x86 specific build tests too
<stikonas>ok, I have AMD64 build here...
<OriansJ>yep, most common platform for devs
<stikonas>well, I have ARM64 machine too :D
<stikonas>which nicely run without any blobs
<OriansJ>well you could send --override armv7l if you wanted but then your processor would choke on trying to run an armv7l binary
<stikonas>well, amd64 will be fine for now
<OriansJ>but your aarch64 system should be able to handle that just fine
<stikonas>hmm, need to build exec_enable before I can run all tests...
<stikonas>test99 seems to require that
<OriansJ>side effect of cc_500.c not supporting chmod
<OriansJ>and I still have no idea why kaem-optional-seed was changed; as the string rec* should not appear in the binary at all