|
Parrot 4.2.0 "Ornithopter" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 21 March 2012. |
|||
| dalek | kudo/nom: c2f008d | pmichaud++ | src/core/Array.pm: Make use of existing scalar instead of repeating getattr. |
00:14 | |
| kudo/nom: e2ebf39 | pmichaud++ | src/core/Array.pm: Add a comment to hotpath checks added in c10792f (RT #111848). |
|||
| bacek_at_work | ~~ | 00:37 | |
| wow! pmichaud is back! | |||
| whiteknight | yes, now if only we could get bacek back too! | 00:43 | |
| dalek | rrot/remove_sub_flags: 67eb23f | Whiteknight++ | / (22 files): Fix several broken tests, opsc and a few others |
01:03 | |
| bacek_at_work | whiteknight, never heard about a guy with such funny name | ||
| dukeleto | bacek_at_work: me neither | 01:07 | |
| dalek | sella: 3d7ed48 | Whiteknight++ | src/unstable/net/ (11 files): [Net] Add in some prototype stubs and outlines for a new networking library. Initially inspired by Uri::* Http::*, LWP::*, Mime::* and others from the parrot standard library |
02:03 | |
| sella: 21dc852 | Whiteknight++ | src/template/Template.winxed: [Template] Add in a helper method to read the text of a template file, given a path name |
|||
| sella: b77cee5 | Whiteknight++ | src/unstable/net/ (8 files): [Net] Start fleshing out a few methods. Rearrange files so Protocol falls under the http portion of the library |
02:04 | ||
|
02:33
alester joined
|
|||
| alester | So i'm thinking about PARROT_STATIC_ASSERT | 02:38 | |
| trying to think of where to throw some tests | |||
|
02:49
parthm joined
03:07
benabik joined
03:08
ascent joined
|
|||
| dalek | rrot: 2f0e851 | petdance++ | / (2 files): const a local variable. Minor spacing tweaks |
03:33 | |
| rrot: 707e83c | petdance++ | / (2 files): Added compile-time assertion macros, and added our first check that INTVAL and opcode_t are the same size |
|||
| aloha | (parrot/parrot) Issues closed : 746 (Create PARROT_STATIC_ASSERT) by petdance : github.com/parrot/parrot/issues/746 | 03:37 | |
| dalek | rrot: 6f23924 | petdance++ | include/parrot/api.h: fixed an incorrectly-built error name |
03:42 | |
| rrot: 4e31706 | petdance++ | config/auto/warnings.pm: Turn off warning for unused local typedefs, because that is how we do PARROT_STATIC_ASSERT |
|||
| bacek_at_work | alester, I do like it. Really do. | 03:45 | |
| alester | yay | ||
| I don't like having to turn off the unused local typedefs warning. | |||
| but I figure that's the least bad. | 03:46 | ||
| Other options have unused code, or unused function declarations. So I figured the typedef method was the least annoying. | |||
| I just wonder what else we can check on. | |||
|
04:31
nbezzala joined
06:02
nbezzala_ joined
06:14
nbezzala_ joined
06:29
benabik joined
|
|||
| dalek | kudo/nom: 4a247b1 | moritz++ | src/core/ (5 files): make != redispatch to not == this fixes both a hang of != with complex numbers, and not-raising with Junctions only natively typed variants of != and a (Mu, Mu) candidate remain |
06:43 | |
|
06:45
fperrad joined
06:55
benabik_ joined
07:00
benabik joined
|
|||
| dalek | rrot: 8ec7bb6 | dukeleto++ | docs/configuration.pod: [ci skip][doc] s/Trac ticket/Github issue/ |
07:24 | |
|
07:32
benabik joined,
perlite joined
|
|||
| nine | Good morning, #parrot | 07:36 | |
|
07:48
benabik_ joined
|
|||
| dalek | rrot/breed: 3dcef54 | dukeleto++ | breeds/embedded.breed: Create the beginning of an embedded Parrot "breed" I was previously calling this a "flavor", but particle++ suggested breed and so it shall be. This embedded breed leaves out everything except the very core functionality of Parrot and hence is best suited to small resource embedded systems. In particular, it does not include GMP, ICU, OpenGL, gettext or any other convenience library. |
07:54 | |
|
08:02
mj41 joined
|
|||
| tadzik | ooh | 08:15 | |
|
08:20
pjcj joined
09:28
lucian joined
|
|||
| dalek | sella: 49052aa | Whiteknight++ | src/ (2 files): [Date] add ww and WW formats for week day and week day name |
09:46 | |
|
10:06
fperrad joined
11:36
jlaire joined
11:48
he joined
12:46
hercynium joined
13:02
jashwanth joined
13:07
jashwanth_ joined
13:08
contingencyplan joined
13:23
jashwanth_ joined
13:25
jashwanth joined
|
|||
| nine | Just to be sure: there's nothing wrong with adding lots and lots of PARROT_ASSERTs, is there? | 13:47 | |
|
13:56
jashwanth_ joined,
jashwanth joined
14:01
ascent joined
14:08
dmalcolm joined
14:10
JimmyZ joined
14:23
not_gerd joined
|
|||
| dalek | rrot: e29d4a8 | (Gerhard R)++ | config/init/hints/darwin.pm: Fix fallout from increased warning levels on Mac OS |
14:32 | |
| rrot: 8060b09 | petdance++ | config/init/hints/darwin.pm: Merge pull request #748 from gerdr/gerdr/darwin-fix Fix fallout from increased warning levels on Mac OS |
|||
|
14:48
whiteknight joined
|
|||
| aloha | (parrot/parrot) Issues opened : 747 (Release 4.2.0 fails to build if ICU headers are installed in a non-system location) by gerdr : github.com/parrot/parrot/issues/747 | 14:51 | |
| whiteknight | good morning, #parrot | 15:06 | |
| nine | Good morning, whiteknight | 15:07 | |
| whiteknight | hello nine, how are you doing? | 15:08 | |
| moritz: ping | |||
| nine | Very well, thanks | ||
| moritz | whiteknight: pong | 15:09 | |
|
15:09
fperrad joined
|
|||
| nine | whiteknight: I got a working chameneos implementation! Our first benchmark :) | 15:09 | |
| whiteknight | moritz: if you see any students interested in working with rakudo for GSOC, make sure to let me know about them. I want to make sure if I get proposals or requests for info that I recognize the names | ||
| moritz: I'm sure those students hang out more in #perl6 than in #parrot | 15:10 | ||
| nine: chameneos? | |||
| moritz | whiteknight: will do. So far tadzik++ has voiced some interest | ||
| tadzik | aye | ||
| nine | whiteknight: cedric.cnam.fr/PUBLIS/RC474.pdf | ||
| whiteknight | moritz: Then let me officially voice some interest in masak++ | ||
| nine | whiteknight: a nice little game useful for benchmarking thread synchronization performance | ||
| whiteknight: the important point being: this is actual real life code which does work on our threading implementation :) | 15:11 | ||
| whiteknight | nine: that's awesome | ||
| dalek | kudo/nom: 4d6754b | pmichaud++ | src/core/ (3 files): Fix .count for subs with slurpy positionals. Partially addresses RT #111646. |
15:12 | |
| whiteknight | nine: this game looks really interesting. I'm going to have to read it over more closely after work | ||
| nine | whiteknight: I guess this is pretty much the worst case imaginable for our performance since it's 100% synchronization and writes to shared data. With a bit of training, you could probably perform it faster manually ;) | 15:13 | |
| whiteknight | nine: How's the performance look on it? In the ballpark of what you would expect? | 15:14 | |
|
15:14
PacoAir joined
|
|||
| nine | whiteknight: well I expected it to be dead slow in such a case and it for sure didn't disappoint me. But even here I hope to be able to improve the situation greatly. For example, I do not use the wait op, since it does not yet work in a threaded system. Instead I do it manually in PIR which can only be much slower. | 15:16 | |
| whiteknight: some atomic xchng op would also help drastically. But for now I'll try to find a benchmark which is more like 80 % read and 20 % write. | 15:20 | ||
| whiteknight | nine: We used to have a non-portable set of atomic operations. | 15:22 | |
| dalek | kudo/typed-ex-hash: c812679 | moritz++ | src/Perl6/Actions.pm: allow "anon sub" again |
15:36 | |
| kudo/typed-ex-hash: e55477f | moritz++ | src/core/List.pm: try to optimize the common case of List.Bool |
|||
|
15:40
not_gerd left
|
|||
| dalek | kudo/nom: 69920db | pmichaud++ | src/core/Signature.pm: Refactor Signature.count to properly handle arity for capture parameters. Fixes RT #111646. |
15:40 | |
| whiteknight | nine: We used to have those ops but they got removed because they weren't being used. If you find like an atomic op library that you like and want to use, go for it | ||
| nine: should probably be portable to windows, etc | 15:41 | ||
| msg not_gerd: you interested in a commit bit yet? | 15:46 | ||
| aloha | OK. I'll deliver the message. | ||
|
15:46
Psyche^ joined
|
|||
| dukeleto | ~~ | 15:49 | |
|
15:58
ascent joined
|
|||
| dukeleto | good localtime(), folks | 16:06 | |
| whiteknight | hello dukeleto | 16:07 | |
| dalek | rrot/threads: da8e94e | nine++ | / (9 files): Lots of assertions for debugging memory separation violations |
16:08 | |
| rrot/threads: 460b9b5 | nine++ | src/pmc/proxy.pmc: Proxy workaround for TT #1219, see Parrot_ns_find_namespace_global |
16:09 | ||
| rrot/threads: 49e19be | nine++ | src/oo.c: Remove debug output |
|||
| rrot/threads: 8fd2890 | nine++ | / (3 files): Avoid calling init_world_once again for each thread Pulled in a lot of interpreter setup code into clone_interpreter. Not exactly pretty, but this is the only way to avoid running all the stuff which really should only run once for the main thread. At least without a major refactor that is. Also starting from a clean slate makes it much easier to find leaks of unproxied PMCs to other threads. |
|||
| rrot/threads: 6acce00 | nine++ | src/thread.c: Don't block on writing to the notifierfd. If a threads notification pipe is full, we don't need to notify the thread anyway since it will check all expired alarms with a single notification. |
|||
| rrot/threads: 9ebf0d9 | nine++ | include/parrot/pobj.h: s/Parrot_Interp */Parrot_Interp/ Parrot_Interp is already a pointer, no need for the asterisk for the orig_interp declaration. Fixes a lot of compiler warnings (otherwise harmless, since we only compare this pointer) |
|||
| rrot/threads: 5a9e01e | nine++ | src/ (5 files): Use PARROT_IS_THREAD flag instead of testing for interp->thread_data |
|||
| rrot/threads: a4b8788 | nine++ | / (4 files): Flag packfile constants as shared and GC them only on the main thread Packfiles are no PMCs so we cannot simply create a proxy for them. But they naturally belong to the main thread, so we use the "shared" PMC flag to tell the GC that only the main thread should mark and sweep them. |
|||
| rrot/threads: c41af29 | nine++ | / (2 files): Don't create proxies for Subs but clone them When executing a proxied Sub, the context belonging to the foreign interp would be used. This context for example contains globals and namespaces. get_global in this Sub would therefore fetch a global from an unproxied namespace and get an unproxied global in return without any chance for us to catch this and create a proxy. Better to clone the sub and create proxies for all its PMC attributes (most of all namespaces) |
|||
| rrot/threads: 031e968 | nine++ | lib/Parrot/Pmc2c/PMC/Proxy.pm: Run proxied VTABLE methods with the threads interp Even read only methods can cause garbage collection (e.g. with parameter passing). This would have catastrophic results, since a foreign thread would be running this GC and it would find both threads' PMCs. Even worse, the proxied interp could be running the GC at the same time. Blocking the foreign GC is not possible without lots of locking since even if we Parrot_block_GC_mark, the foreign interp could already be running its GC. a63fd3f | nine++ | examples/threads/ (3 files): Example programs using threads Just some examples to show how Tasks and threads might be used. |
|||
| nine | OMG I killed dalek! | ||
| moritz | in Dr. Who, dalek kills you! | ||
| atrodo | moritz++ | ||
| whiteknight | nine: killed her with awesomeness | 16:11 | |
|
16:11
dalek joined
|
|||
| dukeleto | nine++ | 16:14 | |
| nine | So...this should be the essentials needed for creating useful threaded programs :) I'd call this a major milestone! | 16:16 | |
| whiteknight | nine++ indeed | ||
| nine | Should I put my threading test programs into examples/threads? | 16:19 | |
| whiteknight | yes | 16:22 | |
|
17:06
davidfetter joined
|
|||
| dalek | rrot/threads: 9037751 | nine++ | include/parrot/ (2 files): Fix unwrapped macro args |
17:08 | |
| rrot/threads: 0a9d8df | nine++ | include/parrot/thread.h: Decrease readability to satisfy coding standards |
|||
| rrot/threads: f237aca | nine++ | src/pmc/proxy.pmc: Remove trailing whitespace |
|||
| rrot/threads: 54965b2 | nine++ | MANIFEST: Add new example files to MANIFEST |
|||
|
17:19
mj41 joined
|
|||
| dalek | rrot/threads: 3b5ee3c | nine++ | / (158 files): Merge branch 'master' into threads Conflicts: \tsrc/gc/gc_ms2.c \tsrc/scheduler.c |
17:21 | |
| nine | Parrot_dt_get_datatype_enum? WTF? | 18:13 | |
| whiteknight | it could be worse | ||
| nine | how? *g* | 18:14 | |
| whiteknight | well, it could just randomly overwrite files in your directory and then segfault | ||
| nine | ah of course there's that, yes | 18:15 | |
| whiteknight | Some code like that is from before my time | ||
| nine | I'm thinking about submitting a talk about threading in Parrot for YAPC::EU 2012 | 18:21 | |
| whiteknight | that would be awesome | 18:28 | |
| nine | Thanks, your talk submission has been recorded as Threading support in Parrot. | 18:32 | |
| cotto | wheee | 18:35 | |
| dalek | rrot: f64dce9 | jkeenan++ | config/gen/makefiles/root.in: Add a dependency so that t/src/checkdepend.t again passes. |
18:58 | |
|
19:01
jsut_ joined
19:23
PacoAir joined
|
|||
| dalek | kudo/nom: a4c78fb | pmichaud++ | src/core/Parcel.pm: Use "$()" in Parcel.perl to show when a Parcel is in a scalar container. I'm not sure that the spec ultimately end up with something like "scalar Parcels" (cf. "scalar arrays"), but since they exist in Rakudo for the time being we should at least make their presence clearer to the people who encounter them. |
19:23 | |
| dukeleto | whiteknight: thanks for the update re: rejected gsoc orgs | 19:26 | |
| nine: you submitted a talk somewhere? | |||
| whiteknight | dukeleto: no problem | 19:27 | |
|
19:28
alester joined
|
|||
| nine | dukeleto: act.yapc.eu/ye2012/talk/4071 | 19:38 | |
| dukeleto | nine: seems like that link is only for logged in users | 20:07 | |
| nine: but good to know that you will be at yapc:eu | 20:08 | ||
| dukeleto thinks hard about YAPC::EU | 20:09 | ||
| this looks interesting: github.com/Dazo-org/zerovm and www.zerovm.org | 20:52 | ||
| Wow. An entire OS written in Assembly. On purpose: github.com/ReturnInfinity/BareMetal-OS | 20:53 | ||
| dalek | rrot: 8997125 | jkeenan++ | src/global_setup.c: [codingstd] Make file pass c_parens standard. |
21:16 | |
| rrot: 1b1fe71 | jkeenan++ | include/parrot/api.h: [codingstd] Make api.h pass c_parens and c_operator tests. It's still failing c_macro_args due to "PARROT_STATIC_ASSERT has unwrapped arg: X". |
|||
| rrot: 52063c3 | NotFound++ | include/parrot/api.h: add parens to humor codetest |
21:56 | ||
| cotto is enjoying a drupal sprint (a.k.a. hackathon) in his "Perl Is My Paycheck" shirt. | 22:05 | ||
|
22:18
alester joined
|
|||
| dukeleto | cotto: :) | 22:44 | |
|
22:47
davidfetter_ joined
|
|||
| dukeleto | davidfetter: wazzup | 22:50 | |
| davidfetter: how goes vpostgres stuff? | |||
|
23:38
whiteknight joined
23:41
jsut joined
|
|||
| whiteknight | good evening #parrot | 23:58 | |
| cotto | hi whiteknight | 23:59 | |
| whiteknight | hello cotto | ||