Camelia, the Perl 6 bug

IRC log for #parrot, 2012-09-15

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:19 arnsholt joined #parrot
00:29 kid51 joined #parrot
01:30 rurban Found some optimizability in the print_n and print_i ops and say variants. No need to go through STRING and various va_args
01:44 JimmyZ joined #parrot
01:45 JimmyZ hi rurban
01:45 rurban hi
01:48 JimmyZ rurban: is there any vmkit  docs ?
01:49 rurban no idea yet. svn is empty
01:50 JimmyZ :(
01:52 JimmyZ I think rewrite parrot with vmkit is hard too, here are no developers
01:53 JimmyZ joined #parrot
01:57 rurban I'll try it alone
01:57 mvorl joined #parrot
01:57 mvorl left #parrot
01:57 rurban Does not look too hard.
02:03 * JimmyZ can't find any document about vmkit
02:06 rurban Added https://github.com/parrot/parrot/issues/828
02:07 JimmyZ benabik: rakudo seems that it didn't use parrot's namespace and object model
02:14 benabik http://vmkit.llvm.org/publications/vmkit.html
02:14 benabik JimmyZ: I thought it still used our namespaces.
02:16 JimmyZ benabik: I only see '.namespace []' in NQP.pir
02:16 rurban vmkit: In some paper they even mentioned explicitly perl as potential target
02:16 benabik Oh, yeah, it uses their own stashes.
02:16 benabik :-/
02:17 JimmyZ so the pain is ops and pcc
02:18 benabik That's Rakudo's pain.
02:18 benabik I think that the fact that they've replaced a lot indicates that there are more pain points than that.
02:19 MikeFair howdy all! :)
02:19 JimmyZ benabik: porting parrot to 6model will reduce more pain, me thinks
02:20 benabik JimmyZ: Yes, that would be nice.
02:21 JimmyZ loritor's goal is to reduce ops and pcc pain, me thinks
02:22 MikeFair So is VMKit a MRE on top of LLVM?
02:23 benabik LLVM + GC + threads
02:23 benabik + nice interface to JIT
02:23 * MikeFair nods.
02:24 MikeFair So is the question on the table about making a PASM/PIR -> VMKit port?
02:24 benabik It wasn't a question so much as random ponderings, on my part.
02:24 benabik I'm not impressed by their GC.
02:25 benabik GC written in Java compiled to LLVM by their custom JVM...
02:25 MikeFair Open Source I assume?
02:25 benabik yar
02:26 MikeFair The fact they have both a CLR and JVM means something about their design I think.. doesn't it?
02:27 MikeFair I imagine things like GC improve over time
02:27 MikeFair Given effort
02:27 MikeFair Initial design decisions become much harder to rewrite
02:27 benabik That GC design is a design decision, kinda.
02:27 MikeFair (like to add a GC concept to the product later)
02:27 MikeFair benabik: Ahh
02:27 MikeFair benabik: not abstracted to allow for other models?
02:28 benabik MikeFair: Their chosen abstraction layer is in Java.
02:28 benabik It's the only part of the system in Java, which makes it kinda odd.
02:29 rurban I came up with the idea on the Moose hackathon in Norway discussing parrot with pmichaud
02:29 MikeFair That kind of begs another question I've been having about a Parrot->Java backend -- how different is a basic Java object from a PBC
02:30 MikeFair I mean they seem like much the same thing to me from my perspective
02:30 rurban jonathan should know that.
02:30 MikeFair Err PMC!!!
02:30 MikeFair not PBC
02:31 MikeFair benabik: So they have a JVM 'on the side' for object management for their VM?
02:32 benabik MikeFair: They compile Java to Java Bytecode, then bytecode to LLVM.
02:33 MikeFair benabik: That's interesting, kind of makes my musing about java byte code ->parrot byte code and vice versa seem not so unreasonable
02:34 rurban j3 is a jvm. the execute their gc in their environment.
02:34 benabik I think they basically use j3 to JIT the GC.
02:34 MikeFair yeah that makes more sense, I always thought of the GC engine as a "VM" thing, not something that would end up in my complied byte code
02:36 MikeFair I mean if I dissambled the byte code for my program I might find references to "execute the GC" if I explicitly asked for it in my program, but I don't think I'll see any GC reclamation code in there
02:36 MikeFair which means the 'algorithm' for actually doing GC comes from the execution host, not my compiled program (or in this case, their compiled java)
02:37 rurban MikeFair: A PMC can be dynamically added, a java class not
02:37 MikeFair rurban: OOOOHHHHHHHHH that's an important distinction....
02:37 rurban So it bypasses most compiler optimizations on classes and methods
02:38 rurban But it can still be done, recompile method resolution and isa when loaded
02:38 MikeFair rurban: That doesn't make much sense to me though, I know that there are java programs that support plugin systems by adding JARs to its environment
02:38 rurban perl5 classes have the same problem.
02:38 rurban jar yes, but not extending classes with roles e.g.
02:39 rurban we can extend our type system
02:39 MikeFair ahhh so at runtime the types can be inherited from
02:39 MikeFair and other things
02:39 rurban yep. our main advantage over jvm and .NET
02:40 * MikeFair makes a mental note to reread up on what the heck roles are again.  "they sound like an important concept not in many other systems"
02:40 MikeFair rurban: That makes total sense
02:40 rurban I also have no good idea on roles.
02:40 MikeFair rurban: But if you made a Java class called "PMC" what wouldthe VM care?
02:40 rurban Though I listened to sartak's talk twice
02:41 rurban registration with multi
02:41 MikeFair I mean aren't we writing our own type inheritance system?
02:41 MikeFair and our own dispatch system
02:41 MikeFair I guess I'm thinking it'd end up being the same thing that those LLVM guys just did
02:42 MikeFair JVM would just handle GC
02:42 MikeFair Sorry side tracked on to Parrot on Java
02:42 MikeFair :)
02:44 MikeFair I'm really curious what folks thought are on this.  I have noticed that the Perl6 guys seem to have rewritten everything in a language they understand -- which I think of as 6model
02:45 MikeFair benabik / rurban: Can you guys explain to me where 6model fits in the hierarchy of technology around here - I mean why is it needed and what's the disctintion between that and whatever Parrot does now?
02:46 rurban g d
02:46 rurban whiteknight seems to know. me not
02:46 rurban 6model is like the perl6 mop, their object model and type system
02:50 MikeFair I think I found an overview
02:51 MikeFair So I guess I'm left with the question is there seomthing different or "better" about Parrot's existing model?
02:51 MikeFair I mean I can't imagine that there is anything in Perl6's object model that Parrot wouldn't want to be able to do
02:53 MikeFair And if it's not a drastically different paradigm, it seems like the Parrot Object Model could rebase on 6model allowing it to take adavantage of the multiple backends that the Perl6 guys are targeting which would be "good" I think, right?
02:53 rurban I have no idea, sorry
02:53 MikeFair yeah, kind of hard to get a read on something from the outside looking in :)
02:53 rurban But we seem to take 6model, whiteknight will be working on it as soon as threads land.
02:54 MikeFair Yeah ok, that seems consistent with other things I've been seeing, like the new NQP being 6model based
02:57 MikeFair It also seems kind of cool that it's going back and forth Parrot Object model guys bootstrap, discover limitations, Perl6 guys augment and create a new larger paradigm with seemingly more desirable features, Parrot guys wilthen consume and extend it again (perhaps?) and the cycle continues :)
02:58 rurban That's a normal bootstrapping cycle
02:58 rurban It's just that the project started 2001, not 2010
02:58 MikeFair agreed
02:59 rurban The problem is there is not much progress in parrot, while there is a lot in perl6.
02:59 MikeFair Releted to the Compiler Toolkit, any idaes why I can't seem to match \n character?
03:00 MikeFair \n nor $$ seem to ever find anything
03:01 sorear nqp: say("x" ~~ /\n/)
03:01 p6eval nqp: OUTPUT«␤»
03:01 sorear nqp: say("\n" ~~ /\n/)
03:01 p6eval nqp: OUTPUT«␤␤»
03:01 rurban I'm not good in parsing, sorry
03:01 sorear seems \n does match
03:04 MikeFair AHA!!!
03:04 * MikeFair whacks head.
03:04 MikeFair \s+ matches \n
03:04 MikeFair So <.ws> was sucking it up
03:04 MikeFair At least according to what I'm seeing in S05
03:06 JimmyZ I'm trying make cover parrot by run rakudo, to see how much parrot codes rakudo uses
03:06 MikeFair there's new \h and \v sequences where \v equals "Vertical Whitespace" and \h = "Horizontal Whitespace"  (\h == (\s expect for the \v stuff))
03:07 MikeFair JimmyZ: What is make cover supposed to do?
03:07 JimmyZ MikeFair: see `make help` in parrot dir
03:07 rurban rakudo itself does not use parrot, nqp does. see the pir: calls
03:07 MikeFair soundsgood
03:08 JimmyZ I think it's good idea to rip out parrot code that rakudo didn't use
03:14 sorear parrot has goals other than "run rakudo"
03:16 JimmyZ I hate the goal
03:16 JimmyZ currently
03:29 rurban floatval != double are totally broken, almost fixed everything in rurban/va_arg_print_n. Are there no smokers for long double and such?
03:46 MikeFair ok i have a strange whitespace question, it seems that I have two kinds of ws needs, sometimes I need to include \n and othertimes I don't want to include \n
03:47 MikeFair At least I'd like to avoid needing to hand code all the whitespace potentials
03:47 MikeFair Could I use an embedded contextual to make this work?
03:48 MikeFair Something like { ${NEWLINEOFF}=1 } <return>
03:48 MikeFair and then in <ws> test for that?
04:21 dalek parrot/rurban/va_arg_print_n: 85d9301 | rurban++ | / (3 files):
04:21 dalek parrot/rurban/va_arg_print_n: [GH# 828] Avoid passsing non-double through va_list
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: va_list does not support float, long double nor __float128 on most systems.
04:21 dalek parrot/rurban/va_arg_print_n: Promote FLOATVAL to double to avoid that.
04:21 dalek parrot/rurban/va_arg_print_n: review: https://github.com/parrot/parrot/commit/85d9301aab
04:21 dalek parrot/rurban/va_arg_print_n: 6f0e533 | rurban++ | / (7 files):
04:21 dalek parrot/rurban/va_arg_print_n: [GH #828] Fix most tests for non-double floatval
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: Add more needed precisions to numeric tests, tested with intel long double.
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: Change a magic number in t/library/test_more.t 888.81<=>888.82 1e-2
04:21 dalek parrot/rurban/va_arg_print_n:   was not stable enough for intel long double
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: Use t/pmc/testlib/annotations.pbc for binary comparisons of packfiles since
04:21 dalek parrot/rurban/va_arg_print_n:   stringifying non-double numbers is not stable enough.
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: Fix src/dynoplibs/sys.ops doublesize to numvalsize. This only works for double.
04:21 dalek parrot/rurban/va_arg_print_n: review: https://github.com/parrot/parrot/commit/6f0e533ca1
04:21 dalek parrot/rurban/va_arg_print_n: 2958219 | rurban++ | src/ops/ (2 files):
04:21 dalek parrot/rurban/va_arg_print_n: [GH #828] Optimize print_n/i and say_n/i
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: print_n/nc/i/ic and the say variants go through a full Parrot_io_printf with
04:21 dalek parrot/rurban/va_arg_print_n: 3 va_start/va_end scenarios and a custom format string parser,
04:21 dalek parrot/rurban/va_arg_print_n: and through char* -> STRING->char* conversion until the fixed
04:21 dalek parrot/rurban/va_arg_print_n: FLOATVAL_FMT or INTVAL_FMT printf is done.
04:21 dalek parrot/rurban/va_arg_print_n: Just to print a single int or number.
04:21 dalek parrot/rurban/va_arg_print_n:
04:21 dalek parrot/rurban/va_arg_print_n: This also lost precision for non-double floatval's - if cast to (double).
04:21 dalek parrot/rurban/va_arg_print_n: Now avoided.
04:21 dalek parrot/rurban/va_arg_print_n: review: https://github.com/parrot/parrot/commit/29582199ae
04:22 rurban all tests pass now with long double. I'll tests with other floatval types also.
04:25 JimmyZ joined #parrot
04:25 JimmyZ rurban++
04:28 rurban Nope, smokes are black.
05:00 mdupont joined #parrot
05:13 dalek parrot/threads: d351afe | rurban++ | src/pmc/task.pmc:
05:13 dalek parrot/threads: Fix a mailbox threads race, document another threads race
05:13 dalek parrot/threads:
05:13 dalek parrot/threads: The mailbox threads race was improved by suggestion of nine++.
05:13 dalek parrot/threads: TASK_recv_block_CLEAR(partner) writes concurrent with a read in !TASK_in_preempt_TEST(SELF).
05:13 dalek parrot/threads: To repro: m parrot && ~/bin/tsan-r4356-amd64-linux-self-contained.sh ./parrot t/pmc/task.t
05:13 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/d351afeabf
05:16 rurban get_num_cpus() tomorrow. I have no idea how to fix the documented race in TASK_recv_block_CLEAR(partner)
05:21 benabik joined #parrot
06:50 zby_home joined #parrot
07:26 tadzik joined #parrot
08:20 Psyche^ joined #parrot
09:39 tadzik joined #parrot
09:53 PacoAir joined #parrot
09:58 PacoAir joined #parrot
10:20 dalek rakudo/nom: 286df2a | moritz++ | t/spectest.data:
10:20 dalek rakudo/nom: four more passing test files (is this Christmas? :-)
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/286df2a75d
10:46 whiteknight joined #parrot
10:47 whiteknight good morning, #parrot
10:48 tadzik good morning whiteknight
11:15 JimmyZ joined #parrot
11:30 whiteknight hello tadzik
11:31 whiteknight blah. Every time I look at the source of Sub PMC I'm reminded that it needs to be radically cleaned
11:38 LizM joined #parrot
11:39 woolfy_ joined #parrot
12:02 dalek nqp: 1fbc5ed | jnthn++ | src/how/NQPClassHOW.pm:
12:02 dalek nqp: Cannot use say in the meta-objects, as they are compiled without the setting.
12:02 dalek nqp: review: https://github.com/perl6/nqp/commit/1fbc5ed6da
12:08 dalek rakudo/nom: 81edc97 | jnthn++ | src/core/control.pm:
12:08 dalek rakudo/nom: The spawnw op can in some cases throw an exception; be sure to handle it. Unbusts system.t on Windows.
12:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/81edc97f81
12:08 Ultali joined #parrot
12:08 whiteknight msg nine it looks like Proxy is read-only and disallows writes. I thought there was a mechanism to schedule writes as tasks on the owner thread?
12:08 aloha OK. I'll deliver the message.
12:09 Ultali neat, I was just going to ask if anyone is interested/looking at threading
12:10 whiteknight Ultali: if all goes will with my fixing and testing, we could merge a new threading system within the next few days
12:15 dalek parrot/threads: a54a581 | rurban++ | / (70 files):
12:15 dalek parrot/threads: Merge remote-tracking branch 'origin/master' into threads
12:15 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/a54a581d23
12:15 dalek parrot/threads: cac1aa6 | Whiteknight++ | / (7 files):
12:15 dalek parrot/threads: Merge branch 'threads' of github.com:parrot/parrot into threads
12:15 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/cac1aa648a
12:15 dalek parrot/threads: 51d178a | Whiteknight++ | / (3 files):
12:15 dalek parrot/threads: If we're using a Proxied CallContext as the outer ctx of a closure scheduled as a Task on a new thread, we need to de-proxy it. Create a dummy empty CallContext to serve in place of the Proxy. This fixes a segfault/assert_fail pointed out by tadzik++, although the behavior of his example is still not 100% as expected
12:15 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/51d178acdf
12:15 whiteknight tadzik: Here's the first part of a fix for your lexicals example. Can you give it a spin and see if it's any better for you?
12:15 whiteknight tadzik: the lexical variable appears to be read-only right now. I'm working on that
12:17 Ultali whiteknight: that's amazing news
12:18 moritz whiteknight++
12:18 Ultali I just read your blog article from April last year
12:18 tadzik whiteknight: not really, I have to leave home quite soon
12:19 tadzik I think all my testcases are gisted, possibly someone else can try
12:19 whiteknight tadzik: okay, no rush. I've got a few other things I want to play with
12:19 whiteknight Ultali: you're interested in threading?
12:20 Ultali I was just interested to see how parrot was going to manage threading in a way that might work for any scripting language that has its own threading model
12:22 whiteknight Ultali: So far we're just trying to provide a system with some low-level features, but we really need some use-cases to help shape it in the future
12:22 Ultali yeah any threading is good threading :)
12:25 whiteknight Okay, I think I can enable cross-thread proxied writes, but I don't want to do that until I find out from nine why they're disabled in the first place
12:28 mdupont joined #parrot
12:33 dalek nqp: ff65502 | jnthn++ | src/6model/reprs/P6opaque.c:
12:33 dalek nqp: Improve wording of an error.
12:33 dalek nqp: review: https://github.com/perl6/nqp/commit/ff6550265e
12:34 whiteknight Okay, I sent nine an email asking about a few things. I've got some things to do now and I'll try to work out the last few details soon.
12:50 whiteknight unhandled exception behavior and exit behavior definitely need to change in a threaded world
12:50 whiteknight One task having an unhandled exception shouldn't bring down the whole process, methinks
12:51 whiteknight although exactly what it should do is not apparent
12:55 whiteknight I feel like we should store the terminating exception in the Task, then unschedule the Task.
12:55 whiteknight so that a different task can inspect and handle the error condition
12:56 whiteknight but then we have to figure out what happens with the last task, and how we return error information back through the embedding API
12:57 whiteknight (this issue wouldn't block a merge, I don't think, because it wouldn't affect existing code)
13:09 Ultali is the assumption there is a progenitor main thread of execution? if so why not catch all the unhandled exceptions in the threads and then rethrow them in the main thread when the last returns
13:46 dalek nqp: 6046125 | jnthn++ | src/pmc/nqplexpad.pmc:
13:46 dalek nqp: Update NQP lexpad to support natively typed lexicals.
13:46 dalek nqp: review: https://github.com/perl6/nqp/commit/60461257fa
13:46 dalek nqp: 6878bf4 | jnthn++ | src/QAST/Compiler.nqp:
13:46 dalek nqp: Fix/improvement to type and scope handling in QAST::Compiler.
13:46 dalek nqp: review: https://github.com/perl6/nqp/commit/6878bf46ac
13:46 dalek nqp: 0c0bab6 | jnthn++ | src/NQP/Actions.pm:
13:46 dalek nqp: Implement natively typed lexicals.
13:47 dalek nqp: review: https://github.com/perl6/nqp/commit/0c0bab62cd
13:47 dalek nqp: e417703 | jnthn++ | t/nqp/64-native.t:
13:47 dalek nqp: Add initial tests for native ints.
13:47 dalek nqp: review: https://github.com/perl6/nqp/commit/e417703242
14:48 dalek nqp: 341b6d5 | jnthn++ | src/NQP/Actions.pm:
14:48 dalek nqp: Get natively typed paramters working.
14:48 dalek nqp: review: https://github.com/perl6/nqp/commit/341b6d52ef
14:48 dalek nqp: 25f6e41 | jnthn++ | src/stage0/ (9 files):
14:48 dalek nqp: Update bootstrap so we can start using native types in the compiler.
14:48 dalek nqp: review: https://github.com/perl6/nqp/commit/25f6e413a2
14:48 dalek nqp: 105e817 | jnthn++ | src/QRegex/Cursor.nqp:
14:48 dalek nqp: Scatter some type annotations in Cursor.
14:48 dalek nqp: review: https://github.com/perl6/nqp/commit/105e817a7b
15:19 benabik joined #parrot
15:33 dalek nqp: c06c0e8 | jnthn++ | src/HLL/Grammar.pm:
15:33 dalek nqp: Use native types in HLL::Grammar.
15:33 dalek nqp: review: https://github.com/perl6/nqp/commit/c06c0e8eaa
15:33 dalek nqp: b7126b8 | jnthn++ | src/QRegex/NFA.nqp:
15:33 dalek nqp: Use native types in QRegex::NFA.
15:33 dalek nqp: review: https://github.com/perl6/nqp/commit/b7126b8b9e
15:39 dalek rakudo/nom: 5ac5f88 | jnthn++ | tools/build/NQP_REVISION:
15:39 dalek rakudo/nom: NQP version bump for better error message and a slight performance win thanks to NQP having native types.
15:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5ac5f88e74
16:09 contingencyplan joined #parrot
16:21 rurban Anybody has an idea what happened to Parrot_runcode()? It is still documented and used in some tests
16:28 * JimmyZ doesn't know
16:47 MikeFair Howdy all! :)
16:47 MikeFair So I'm trying to figure out what this means again:
16:47 MikeFair Error while compiling block : Error while compiling block : Error while compiling op if: invoke() not implemented in class 'NQPMu'
16:47 MikeFair I tried to call a method on a null object
16:48 MikeFair Specifically I passed in a null object as a parameter to the 'if' op?
16:52 arnsholt Sounds like an NQP bug
16:52 arnsholt Try asking in #perl6
16:54 dalek parrot: d2ed3bb | rurban++ | t/src/extend.t:
16:54 dalek parrot: skip outdated extend tests with old embed API [GH #829]
16:54 dalek parrot:
16:54 dalek parrot: I also tried to convert extend_15 to the new API but failed to understand Parrot_runcode()
16:54 dalek parrot: review: https://github.com/parrot/parrot/commit/d2ed3bb3c4
16:54 dalek Heuristic branch merge: pushed 49 commits to parrot/native_pbc by rurban
16:56 rurban Oops.
17:02 lucian joined #parrot
17:02 whiteknight Parrot_runcode? I think that's gone and I don't remember what it's replaced with
17:05 rurban I pushed an idea, but it fails (t/src/extend_15.c)
17:05 rurban I submitted a ticket for it https://github.com/parrot/parrot/issues/829
17:06 rurban Who is refactoring the debugger?
17:10 rurban seen petdance
17:10 aloha petdance was last seen in #parrot 508 days 15 hours ago saying "git checkout tt1931-nci-parameters-deprecation".
17:11 travis-ci joined #parrot
17:11 travis-ci [travis-ci] parrot/parrot#548 (master - d2ed3bb : Reini Urban): The build was fixed.
17:11 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/216ce8048cdf...d2ed3bb3c4c1
17:11 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2461260
17:11 travis-ci left #parrot
17:15 dalek parrot: c26e17a | rurban++ | config/gen/makefiles/root.in:
17:15 dalek parrot: [cage] Makefile cover-clean. Make less noise and use echo
17:15 dalek parrot:
17:15 dalek parrot: make -s clean listed all dirs to be cleaned up for gcov-generated files.
17:15 dalek parrot: Print only one line
17:15 dalek parrot: review: https://github.com/parrot/parrot/commit/c26e17aaec
17:29 dalek parrot/threads: c36a7c5 | rurban++ | MANIFEST.generated:
17:29 dalek parrot/threads: dynpmc/os: and now actually install it
17:29 dalek parrot/threads:
17:29 dalek parrot/threads: Sigh
17:29 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/c36a7c5cfe
17:29 dalek parrot/threads: 216ce80 | rurban++ | MANIFEST.generated:
17:29 dalek parrot/threads: [CAGE] remove duplicate os.bundle in MANIFEST.generated
17:29 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/216ce8048c
17:29 dalek parrot/threads: f8e6af5 | rurban++ | MANIFEST.generated:
17:29 dalek parrot/threads: Merge branch 'master' into threads
17:29 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/f8e6af500a
17:29 dalek parrot/threads: db4e6e5 | rurban++ | src/call/context.c:
17:30 dalek parrot/threads: [cage] bump src/call/context.c Copyright to 2012
17:30 dalek parrot/threads:
17:30 dalek parrot/threads: Parrot_pcc_unproxy_context added, plus some threads THREAD_DEBUG additions.
17:30 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/db4e6e5450
18:17 brrt joined #parrot
18:30 dalek parrot: 4a4ec69 | rurban++ | t/src/checkdepend.t:
18:30 dalek parrot: fix bogus t/src/checkdepend.t warnings
18:30 dalek parrot:
18:30 dalek parrot: PARROT_HAS_(CORE|EXTRA)_NCI_THUNKS is in %PConfig, not %PConfig_Temp.
18:30 dalek parrot:
18:30 dalek parrot: Skip warning for src/gc/malloc.c /usr/include/malloc.h when
18:30 dalek parrot: HAVE_USR_INCLUDE_MALLOC_H is undefined.
18:30 dalek parrot:
18:30 dalek parrot: Skip warning for src/glut_nci_thunks.c glut_nci_thunks.str at all.
18:30 dalek parrot: review: https://github.com/parrot/parrot/commit/4a4ec69a9f
18:54 dalek parrot/threads: d2ed3bb | rurban++ | t/src/extend.t:
18:54 dalek parrot/threads: skip outdated extend tests with old embed API [GH #829]
18:54 dalek parrot/threads:
18:54 dalek parrot/threads: I also tried to convert extend_15 to the new API but failed to understand Parrot_runcode()
18:54 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/d2ed3bb3c4
18:54 dalek parrot/threads: c26e17a | rurban++ | config/gen/makefiles/root.in:
18:54 dalek parrot/threads: [cage] Makefile cover-clean. Make less noise and use echo
18:54 dalek parrot/threads:
18:54 dalek parrot/threads: make -s clean listed all dirs to be cleaned up for gcov-generated files.
18:54 dalek parrot/threads: Print only one line
18:54 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/c26e17aaec
18:54 dalek parrot/threads: 4a4ec69 | rurban++ | t/src/checkdepend.t:
18:54 dalek parrot/threads: fix bogus t/src/checkdepend.t warnings
18:54 dalek parrot/threads:
18:54 dalek parrot/threads: PARROT_HAS_(CORE|EXTRA)_NCI_THUNKS is in %PConfig, not %PConfig_Temp.
18:54 dalek parrot/threads:
18:54 dalek parrot/threads: Skip warning for src/gc/malloc.c /usr/include/malloc.h when
18:54 dalek parrot/threads: HAVE_USR_INCLUDE_MALLOC_H is undefined.
18:54 dalek parrot/threads:
18:54 dalek parrot/threads: Skip warning for src/glut_nci_thunks.c glut_nci_thunks.str at all.
18:54 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/4a4ec69a9f
18:54 dalek parrot/threads: d4aeea0 | rurban++ | / (2 files):
18:54 dalek parrot/threads: Merge branch 'master' into threads
18:54 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/d4aeea04ca
18:54 dalek parrot/threads: bd80582 | rurban++ | t/src/checkdepend.t:
18:54 dalek parrot/threads: Merge remote-tracking branch 'origin/master' into threads
18:54 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/bd80582664
18:54 dalek parrot/threads: 8073f66 | rurban++ | config/gen/makefiles/root.in:
18:54 dalek parrot/threads: [cage] t/src/checkdepend.t for src/call/context
18:54 dalek parrot/threads:
18:54 dalek parrot/threads: add new pmc_proxy.h dep
18:54 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/8073f660b9
19:23 lucian joined #parrot
19:28 dalek parrot: 355cfb9 | rurban++ | lib/Parrot/Test.pm:
19:28 dalek parrot: Enable VALGRIND tests with c_output test functions
19:28 dalek parrot:
19:28 dalek parrot: E.g. POSTMORTEM=1 VALGRIND=tsan perl t/src/embed.t
19:28 dalek parrot: or VALGRIND=valgrind perl t/src/extend.t
19:28 dalek parrot: review: https://github.com/parrot/parrot/commit/355cfb9b7f
19:34 dalek parrot/threads: c579751 | rurban++ | lib/Parrot/Test.pm:
19:34 dalek parrot/threads: Enable VALGRIND tests with c_output test functions
19:34 dalek parrot/threads:
19:34 dalek parrot/threads: E.g. POSTMORTEM=1 VALGRIND=tsan perl t/src/embed.t
19:34 dalek parrot/threads: or VALGRIND=valgrind perl t/src/extend.t
19:34 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/c579751648
19:36 rurban tsan is not able to reproduce benabik's threads bug in extend_19
20:06 travis-ci joined #parrot
20:06 travis-ci [travis-ci] parrot/parrot#551 (master - 355cfb9 : Reini Urban): The build was broken.
20:06 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/4a4ec69a9f01...355cfb9b7ffe
20:06 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2462799
20:06 travis-ci left #parrot
20:08 dalek nqp: c2b6104 | jnthn++ | src/HLL/Compiler.pm:
20:08 dalek nqp: Avoid referencing QAST::Compiler before it has been compiled (only worked due to bugs).
20:08 dalek nqp: review: https://github.com/perl6/nqp/commit/c2b610447b
20:08 dalek nqp: 81a27e9 | jnthn++ | src/NQP/ (2 files):
20:08 dalek nqp: Fix separate compilation issues that busted running multiple commands in the REPL and getting at the NQP compiler through compreg from a built NQP.
20:08 dalek nqp: review: https://github.com/perl6/nqp/commit/81a27e909b
20:08 dalek rakudo/nom: 4dd1240 | jnthn++ | / (2 files):
20:08 dalek rakudo/nom: Add a missing use statement/dependency, now that a separate compilation hole is closed in NQP.
20:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4dd1240ec6
20:20 dalek parrot: 10f5111 | rurban++ | lib/Parrot/Test.pm:
20:20 dalek parrot: Enable VALGRIND tests with more test functions
20:20 dalek parrot:
20:20 dalek parrot: Now also pir. E.g. VALGRIND=tsan prove `find t/src -name \*.t`
20:20 dalek parrot: review: https://github.com/parrot/parrot/commit/10f5111d8a
20:22 dalek nqp: c0203bb | jnthn++ | / (2 files):
20:22 dalek nqp: Fix parsing of pointy without sig. Closes #52.
20:22 dalek nqp: review: https://github.com/perl6/nqp/commit/c0203bbadf
20:30 dalek parrot/threads: 5412296 | rurban++ | lib/Parrot/Test.pm:
20:30 dalek parrot/threads: Merge remote-tracking branch 'origin/master' into threads
20:30 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/5412296a1a
20:36 travis-ci joined #parrot
20:36 travis-ci [travis-ci] parrot/parrot#552 (master - 10f5111 : Reini Urban): The build was fixed.
20:36 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/355cfb9b7ffe...10f5111d8a70
20:36 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2463250
20:36 travis-ci left #parrot
21:18 NotFound joined #parrot
22:07 dalek parrot/rurban/va_arg_print_n: b04ce3f | rurban++ | / (4 files):
22:07 dalek parrot/rurban/va_arg_print_n: [GH #828] Probe if double is needed for va_arg or if native floatval does fine
22:07 dalek parrot/rurban/va_arg_print_n:
22:07 dalek parrot/rurban/va_arg_print_n: Set new feature.h PARROT_VA_PTR_FLOATVAL to double or the given floatval,
22:07 dalek parrot/rurban/va_arg_print_n: and use it in src/call/args.c
22:07 dalek parrot/rurban/va_arg_print_n:
22:07 dalek parrot/rurban/va_arg_print_n: Print "stack|register (double)" in Configure va_arg result if a cast is
22:07 dalek parrot/rurban/va_arg_print_n: required and precision is lost.
22:07 dalek parrot/rurban/va_arg_print_n:
22:07 dalek parrot/rurban/va_arg_print_n: Still some va_arg casts missing, multidispatch.t and nci.t fail.
22:07 dalek parrot/rurban/va_arg_print_n: review: https://github.com/parrot/parrot/commit/b04ce3f711
22:07 dalek parrot/rurban/va_arg_print_n: c9827b7 | rurban++ | src/ (2 files):
22:07 dalek parrot/rurban/va_arg_print_n: [GH #828] Use more va_arg PARROT_VA_PTR_FLOATVAL
22:07 dalek parrot/rurban/va_arg_print_n: review: https://github.com/parrot/parrot/commit/c9827b782a
22:11 MikeFair joined #parrot
22:54 tadzik joined #parrot
22:59 benabik joined #parrot
23:26 rurban nine: here? I have a little efficiency problem dynamic MAX_THREADS from Parrot_get_num_cpus(). static Interp * threads_array[MAX_THREADS] vs runtime malloced on the heap
23:33 rurban I think I solved it. MAX_THREADS can now be a bit higher.
23:35 rurban I've used 16 and set the actual number dynamically
23:36 rurban This could go as configure option or cmdline option also (--numthreads) if someone wants 4000 threads.
23:47 rurban https://github.com/parrot/parrot/issues/830 Parrot_set_num_threads and --numthreads
23:47 TonyC joined #parrot
23:49 rurban g topo
23:54 nopaste joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced