Index

Show enters and exits. Hide enters and exits.

<
00:07:24mae enters the room.
00:09:04rubuildius_ppcBrian Ford: 913790782; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162064
00:10:30obiejuan leaves the room.
00:13:23boyscout2 commits by Ryan Davis
00:13:24boyscout * Updated miniunit to latest version; 14cc9c6
00:13:25boyscout * Removed test/unit; fb8f16d
00:13:29zenspiderWOOT!
00:13:38zenspideryeah! FUCK YOU TEST UNIT!
00:13:43zenspidermuahahahaha!
00:14:07loop:O
00:14:25chop3 leaves the room.
00:14:47srbaker leaves the room.
00:15:12ezmobiusyay
00:16:30headius enters the room.
00:16:38zenspiderso, I think there is yet another const/class bug
00:17:00zenspiderbecause my miniunit tests _were_ passing via multiruby the other day
00:17:21zenspidernow I have one where it is expecting TestTestUnit::FailingTest but got FailingTest instead
00:17:33headiusevenin
00:19:02zenspiderhrm... no repro with ./shotgun/rubinius -e 'class A; class B; end; end; p A::B.name' so this isn't as straightforward as I was suspecting. :/
00:22:13agardiner leaves the room.
00:22:37zenspiderah. got it... eval inside class isn't creating consts inside class
00:22:37agardiner enters the room.
00:23:00zenspiderhttp://rafb.net/p/ZmMdrQ44.html - whatcha think?
00:24:07rubuildius_ppcRyan Davis: 14cc9c6f1; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162071
00:26:54srbaker enters the room.
00:28:05zenspidersrbaker: sup, bitch? :P
00:28:23srbakerzenspider: not much. cleaning off my mbp
00:33:07zenspidercrap... there are like, no specs for eval. :(
00:33:19zenspiderall the ones there are all about bindings
00:33:29ijcd leaves the room.
00:37:07panpot leaves the room.
00:39:27srbakerzenspider: in other news, we got some pings back about work today.
00:39:28brixenzenspider: looks related possibly to #354
00:39:57zenspidercrap. I can't repro this inside a spec. :/
00:40:31brixenzenspider: you need #354 fixed so mspec can use instance_eval
00:41:05brixenblock.call won't work correctly for that spec (at least not for the one #354 adds)
00:41:16brixentake a look at the instance_eval remote branch
00:42:14brixenalso, run the spec with rspec, if it works as expected, it's almost certainly due to instance_eval vs block.call
00:42:36zenspiderbrixen: I'm not sure that's the problem I'm seeing... I dunno.
00:42:46zenspidersec. lemme paste what I hacked up
00:43:26zenspiderhttp://rafb.net/p/Vzr3KZ91.html - since that's not doing the evals inside the describe/it part, I would think it wouldn't be the same
00:43:37imajes leaves the room.
00:44:13brixendoes that run with rspec?
00:46:11rueEbenon
00:46:25brixenbuona sera
00:46:38loopebenon?
00:50:59srbaker leaves the room.
00:51:27zenspiderbrixen: no, my prob is it _passes_ in both. :(
00:51:56zenspiderbut my blah.rb script above doesn't run correctly in rubinius
00:52:15brixenhrm, crap
00:52:29headiusis there another toplevel A containing a B somewhere in the system?
00:52:51brixenoh yeah, I imagine there is in the specs
00:53:05brixenfolks still aren't scoping fixture classes, I believe
00:53:39brixenshould be fairly easy to rule that out though
00:53:53headiusyeah
01:00:49lstoll leaves the room.
01:02:41twbray leaves the room.
01:04:52agile enters the room.
01:07:26cored enters the room.
01:08:35zenspiderah ah ah... ok. I'm just a tard then... Lemme throw in a bunch of ZZZs or something :)
01:09:40zenspidernope. still doesn't blow up. :/
01:09:41agardinercrafterm, evan: you guys up for some hacking?
01:10:11zenspiderwhen does evan take off?
01:10:17zenspidereric is already on the move
01:10:28agardinerevan is already in Melb
01:10:38agardinerflies up to Sydney tomorrow
01:10:45zenspiderah
01:10:58zenspiderno wonder the bitch isn't responding to me. :P
01:11:08zenspiderhe won't get the msgs until tomorrow. :)
01:11:34agardinerwell, he's hanging with crafterm, so he ought to be online...
01:12:07zenspiderhe is
01:12:19zenspiderok... can anyone help clue me?
01:12:25zenspiderhttp://rafb.net/p/OsXbzN77.html
01:14:04zenspidersorry... that's not quite right
01:14:17zenspiderthis is: http://rafb.net/p/PoIawG61.html
01:14:20zenspider
01:14:50zenspiderspecifically, ruby 1.8 outputs A::C just fine.
01:14:50agardinersomething to do with metaclasses?
01:14:54zenspiderOOOOOOH!!!! CRAP
01:15:04zenspiderit is just the name/inspect... isn't it?!?
01:15:09zenspiderthat's why my spec passes!
01:16:15zenspiderthere we go!
01:16:28zenspiderExpected "CZZ" to equal "AZZ::CZZ":
01:16:50zenspiderbrixen: ok... so how am I ACTUALLY supposed to write this in spec-land?
01:17:12zenspiderI assume you don't want me littering crap like that
01:17:21zenspideralso that does confirm that it is 354, doesn't it?
01:20:20rueHm, I think you do need to clarify it a bit
01:20:43brixenzenspider: if it's #354, then there is a simple spec that exposes the bug in eval
01:20:46brixenone sec..
01:21:33brixenzenspider: http://git.rubini.us/?p=code;a=commitdiff;h=a0ce88b69d2eacde4e8097682b6cfb4e61cfee6d
01:23:35headius_ enters the room.
01:23:48headius leaves the room.
01:24:06rueOn a completely unrelated note, I see a little silvery apple on my x61, wee
01:24:33chop3 enters the room.
01:24:48brixenrue: you installed it?!
01:25:00rueAlmost, working out some minor stuff
01:25:06brixennice!
01:25:21agardinerhow's performance? i tried it once, but performance sucked so bad it was unusable
01:25:32zenspiderbrixen: anyone else working on this?
01:25:48brixenzenspider: I assigned #354 to evan, no one that I know of
01:26:02brixenalthough, Defiler wrote the spec I added in the instance_eval branch
01:26:13brixenso you might check with him
01:26:18rueagardiner: Looking fine, 2.2GHz Core 2 Duo and a GiB of memory
01:26:34headius_ leaves the room.
01:26:47headius enters the room.
01:27:04zenspiderbrixen: he's flying out here friday... we'll nail it then
01:27:09zenspiderI'll take the ticket
01:27:33zenspiderargh. I can never find my name in this stupid popup
01:27:55dewd leaves the room.
01:27:57headius leaves the room.
01:28:04agardinerwell, you obviously haven't got the same issue i had, or you'd know it already... i had the beachball constantly on an equivalent spec machine
01:28:12headius enters the room.
01:28:27brixenzenspider: oki
01:29:15brixenwith all these folks criss-crossing the globe, I'm so confused which day is which :P
01:31:11agardiner leaves the room.
01:31:36zenspiderI don't know how to use mspec tag
01:31:39zenspider:(
01:31:52zenspiderhow do I do the equiv of bin/ci -C ?
01:32:17brixensec..
01:32:33brixendamn ff, ugh
01:32:56brixeneasiest is: bin/mspec tag --add fails path/to/the_file_spec.rb
01:34:32zenspidercan we just make that the default?
01:34:34headius_ enters the room.
01:34:53headius leaves the room.
01:36:00brixenzenspider: could, make --add take an optional arg
01:37:45brixenbbiab..
01:41:52imajes enters the room.
01:43:28imajes leaves the room.
01:50:10obiejuan enters the room.
01:52:09srbaker enters the room.
01:52:44imajes enters the room.
01:56:35nicksieger leaves the room.
01:58:16nicksieger enters the room.
02:00:18srbaker leaves the room.
02:03:17agile leaves the room.
02:04:23eventualbuddha leaves the room.
02:16:28headius_ leaves the room.
02:16:34jrun leaves the room.
02:16:54headius enters the room.
02:17:11jrun enters the room.
02:19:15imajes leaves the room.
02:22:25cored leaves the room.
02:29:44lopex leaves the room.
02:33:05TheVoice leaves the room.
02:33:06headius_ enters the room.
02:33:09headius leaves the room.
02:41:00Jzalae leaves the room.
02:42:51agardiner enters the room.
02:52:23loincloth enters the room.
02:52:53_mutle enters the room.
02:57:52radarek leaves the room.
02:58:07radarek enters the room.
02:58:24eventualbuddha enters the room.
03:01:04ezmobius leaves the room.
03:02:50wycats leaves the room.
03:06:14KirinDave leaves the room.
03:06:51jinjing enters the room.
03:07:23loincloth leaves the room.
03:07:36loincloth enters the room.
03:08:57mutle leaves the room.
03:13:14wycats enters the room.
03:17:23boyscout4 commits by Adam Gardiner
03:17:24boyscout * Fix send_site_sender to use SET_STRUCT_FIELD; 229ec15
03:17:26boyscout * Remove unused variable in sendsite_set_sender primitive; a356d81
03:17:27boyscout * Add -pss option to profile by SendSite activity; fefaeae
03:17:27boyscout * Added SendSite#sender reference to CompiledMethod; 3519d48
03:23:26eventualbuddha leaves the room.
03:24:06boyscout1 commit by Marcus Crafter
03:24:07boyscout * Merge branch 'master' of git@git.rubini.us:code; b4ba371
03:28:49cavalle enters the room.
03:30:53agardinerevan: here's the paper brixen found: http://citeseer.ist.psu.edu/berndl05context.html
03:31:58radarek leaves the room.
03:32:43jayWHY enters the room.
03:33:22imajes enters the room.
03:35:44rubuildius_ppcMarcus Crafter: b4ba371db; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162130
03:35:45rubuildius_ppcAdam Gardiner: 229ec1588; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162128
03:36:13imajes leaves the room.
03:44:16cavalle__ leaves the room.
03:48:43headius leaves the room.
03:53:44loincloth leaves the room.
03:53:57jayWHY leaves the room.
03:53:57wifelette leaves the room.
03:53:57GMFlash leaves the room.
03:53:57geekounet leaves the room.
03:53:57kAworu leaves the room.
03:53:57rudebwoy leaves the room.
03:53:57lenbust leaves the room.
03:53:57rubuildius_ppc leaves the room.
03:53:57nemerle leaves the room.
03:53:57fearoffish leaves the room.
03:53:58ctennis leaves the room.
03:53:58comboy leaves the room.
03:53:58ko1_away leaves the room.
03:53:58cout leaves the room.
03:53:58nitay leaves the room.
03:53:58ragnard leaves the room.
03:53:58nro leaves the room.
03:53:58jp_tix leaves the room.
03:53:58zenspider leaves the room.
03:53:58epitron leaves the room.
03:54:15jtoy enters the room.
03:54:18jayWHY enters the room.
03:54:18wifelette enters the room.
03:54:18ragnard enters the room.
03:54:18GMFlash enters the room.
03:54:18geekounet enters the room.
03:54:18kAworu enters the room.
03:54:18rudebwoy enters the room.
03:54:18lenbust enters the room.
03:54:18comboy enters the room.
03:54:18ko1_away enters the room.
03:54:18fearoffish enters the room.
03:54:18cout enters the room.
03:54:18nemerle enters the room.
03:54:18ctennis enters the room.
03:54:19rubuildius_ppc enters the room.
03:54:19nitay enters the room.
03:54:19nro enters the room.
03:54:19jp_tix enters the room.
03:54:19epitron enters the room.
03:54:19zenspider enters the room.
04:02:16macournoyer leaves the room.
04:09:04Jzalae enters the room.
04:10:11AndrewO leaves the room.
04:20:06lstoll enters the room.
04:21:29jayWHY leaves the room.
04:24:19twbray enters the room.
04:25:13binary42_ enters the room.
04:26:13binary42 leaves the room.
04:27:51AndrewO enters the room.
04:28:41binary42 enters the room.
04:28:43srbaker enters the room.
04:29:02binary42_ leaves the room.
04:29:10AndrewO leaves the room.
04:37:32srbaker leaves the room.
04:44:37KirinDave enters the room.
04:53:50RyanTM leaves the room.
04:54:32RyanTM enters the room.
04:58:57jtoy leaves the room.
05:10:18_mutle leaves the room.
05:10:24mutle enters the room.
05:13:55GMFlash leaves the room.
05:14:01GMFlash enters the room.
05:14:38twbray leaves the room.
05:20:50wmoxam enters the room.
05:21:05Jzalae leaves the room.
05:23:57crafterm enters the room.
05:24:06crafterm enters the room.
05:29:22twbray enters the room.
05:29:24KirinDave leaves the room.
05:38:23RyanTM leaves the room.
05:42:19be9 enters the room.
05:43:52boyscout1 commit by Adam Gardiner
05:43:53boyscout * Fix for profiler non-deterministic failures (LH #365); ac202da
05:44:02Jzalae enters the room.
05:45:53dysinger leaves the room.
05:54:29rubuildius_ppcAdam Gardiner: ac202dabb; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162179
05:57:37twbray leaves the room.
05:57:44wmoxam leaves the room.
06:04:07hoopy leaves the room.
06:05:00hoopy enters the room.
06:05:02twbray enters the room.
06:07:44wycats leaves the room.
06:15:25wycats enters the room.
06:17:04wycats_ enters the room.
06:17:56wycats leaves the room.
06:18:18srbaker enters the room.
06:19:24srbaker leaves the room.
06:19:35sholden_ enters the room.
06:23:02tim_w enters the room.
06:25:38jrun leaves the room.
06:26:16jrun enters the room.
06:32:10boyscout1 commit by Evan Phoenix
06:32:11boyscout * Add ability for a sendsite to disable itself, Disable MethodContext.new; 2f69478
06:42:59tim_w leaves the room.
06:43:28boyscout4 commits by Marcus Crafter
06:43:29boyscout * Merge branch 'master' of git@git.rubini.us:code; f765747
06:43:30boyscout * Add support for custom application level ruby probes.; 41c4840
06:43:31boyscout * Ensure that entry/exit dtrace script only prints specified output; 8cad553
06:43:32boyscout * Re-enable dtrace function entry probe; 291dc30
06:44:14zuwiki leaves the room.
06:44:33rubuildius_ppcEvan Phoenix: 2f694788c; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162194
06:47:59tim_w enters the room.
06:50:04w1rele55 leaves the room.
06:52:07w1rele55 enters the room.
06:54:44rubuildius_ppcMarcus Crafter: f76574771; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162195
06:58:25tim_w leaves the room.
07:03:48wycats leaves the room.
07:04:11boyscout1 commit by Adam Gardiner
07:04:12boyscout * Remove unused CompiledMethod cache field; aea7315
07:04:27sholden_ leaves the room.
07:05:55hoopy leaves the room.
07:07:56wycats enters the room.
07:08:43boyscout2 commits by Marcus Crafter
07:08:44boyscout * Merge branch 'master' of git@git.rubini.us:code; 58ce8b0
07:08:45boyscout * Added simple D script for printing the method invocation flow through a ruby program; 6a8d73f
07:09:09wifelette leaves the room.
07:09:12wycats leaves the room.
07:09:24vintrepid leaves the room.
07:09:43binary42 leaves the room.
07:09:51binary42 enters the room.
07:11:43rueYou really need to clarify unless this is the D programming language, crafterm :P
07:11:59crafterm:P
07:12:03evaneh?
07:12:11evanare we doing anything in D, the programming language
07:12:14evan?
07:12:41tarcieriprobably referring to DTrace
07:12:56tarcieriwhich uses its own language called "D"
07:13:02agardinerrue: i've just re-committed the change to remove the cache field from CompiledMethod...
07:13:11evanyeah, all D is D script
07:13:18agardineri couldn't reproduce the performance slowdown you saw before
07:13:41agardinerbut you might like to check if it is still there
07:14:38evanok, off to the first gig here in melbourne.
07:14:47agardinerlater
07:16:24crafterm leaves the room.
07:16:30agardiner leaves the room.
07:18:48crafterm enters the room.
07:19:03crafterm leaves the room.
07:19:10lstoll leaves the room.
07:19:19rueHaha!
07:19:21ruehttp://rafb.net/p/PoIawG61.html
07:19:28lstoll enters the room.
07:19:44rueBah. Ignore that one..
07:19:54ruehttp://files.kittensoft.org/public/legit.jpg
07:20:11ruehttp://files.kittensoft.org/public/osx_x61.jpg
07:20:13rueThere we go
07:20:20rubuildius_ppcMarcus Crafter: 58ce8b0f8; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162200
07:20:21rubuildius_ppcAdam Gardiner: aea7315e9; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162199
07:21:39VVSiz enters the room.
07:24:49kamal_farizrue: what irc client is that?
07:27:02wycats enters the room.
07:27:02binary42 leaves the room.
07:29:37ruekamal_fariz: Weechat, it is just NCurses textmode with a fancy transparent terminal
07:30:23rueVery nice, though. Both horizontal and vertical splits plus lots of other goodies
07:31:07ruekamal_fariz: irc.png shows it a bit better
07:32:58danlucraft enters the room.
07:33:01danlucraftrue?
07:35:20ruedanlucraft: It was not me!
07:35:44zenspider leaves the room.
07:35:49danlucraftummm, what was not you?
07:36:36ruedanlucraft: I say it just in case. What is up?
07:36:57danlucraftok :).
07:37:09danlucraftJust wanted to ask if the IRC logs look ok to you
07:37:23danlucraftthere seem to be far fewer messages than normal
07:37:51ruedanlucraft: It has been quiet but let me skim a couple
07:38:03danlucraftit has?
07:39:08ruedanlucraft: Yeah, evan is out in .au, I have been nose-in-book, crafterm is organizing the conf, Defiler is going to Seattle (I think), dbussink was vacationing
07:39:23danlucraftoh. Well that would explain it.
07:39:32ruedanlucraft: Looks OK, I do not see any gaps
07:39:35danlucraftGood good.
07:41:44rueI am turning in, nites
07:55:29jtoy enters the room.
07:58:07tim_w enters the room.
08:02:27twbray leaves the room.
08:02:36jtoy leaves the room.
08:06:59ezmobius enters the room.
08:07:27ragnard leaves the room.
08:08:18perdix enters the room.
08:12:25wifelette enters the room.
08:14:22thehcdreamer enters the room.
08:23:19dysinger enters the room.
08:26:48TheVoice enters the room.
08:30:54lstoll leaves the room.
08:31:59dbussinkmorning
08:33:50aotearoa leaves the room.
08:34:23wifelette leaves the room.
08:53:12imajes enters the room.
09:01:39be9morning
09:10:57octopod enters the room.
09:14:25dbussinkbe9: how's the windows stuff going?
09:16:00dbussinkanyone else getting failures with bad file descriptor?
09:16:35be9dbussink: currently have no time to work on it :( though identified things that need work
09:18:10be9windows hasn't got sigaction stuff, *context stuff (will not matter when this will be replaced with libcoro) and some other posix stuff
09:18:58dbussinkbe9: i read libcoco, which is something completely different :)
09:20:07cavalle leaves the room.
09:24:25be9:)
09:25:08be9so, workarounds, workarounds are to be developed
09:30:10Arjen_ enters the room.
09:32:54dbussinkwell, doing it properly is gonna require some restructuring
09:33:07dbussinkespecially in the posix area
09:36:59be9the main goal so far is to compile shotgun :)
09:38:01be9then workarounds. and then we could isolate system-specific things
09:39:51ezmobius leaves the room.
09:40:13be9windows platform will surely bring us a lot information about existing bugs and non-specced things
09:42:23be9that's where my interest comes from
09:44:39scooprI'm a tad interested in the windows side too
09:45:12jtoy enters the room.
09:46:38imajes leaves the room.
09:46:58be9ok, gotta go. back later
09:50:34cavalle enters the room.
09:50:37dysinger leaves the room.
10:03:46olabini enters the room.
10:07:37sudoer enters the room.
10:13:03perdiy enters the room.
10:14:26jtoy leaves the room.
10:15:58dewd enters the room.
10:17:13jtoy enters the room.
10:23:02perdix leaves the room.
10:23:53sudoer leaves the room.
10:42:16tim_w leaves the room.
10:53:55chris2 enters the room.
11:00:27benburkert leaves the room.
11:36:18GMFlash leaves the room.
11:49:42dewd leaves the room.
11:50:16radarek enters the room.
11:53:37quik_ enters the room.
12:18:51ragnard enters the room.
12:30:30ctennis leaves the room.
12:32:41tizianobis enters the room.
12:37:00dragosdimitriu enters the room.
12:48:25geekounet leaves the room.
12:50:38ragnard leaves the room.
12:51:37zimbatm enters the room.
13:05:27chop3 leaves the room.
13:16:34dragosdimitriu leaves the room.
13:18:58RyanTM enters the room.
13:21:54mediogre enters the room.
13:35:53sholden leaves the room.
13:38:09dewd enters the room.
13:39:14tizianobis leaves the room.
13:47:33jbwiv_ enters the room.
13:48:18pth enters the room.
13:48:35RyanTM leaves the room.
13:49:00rubymaverick enters the room.
13:49:56RyanTM enters the room.
13:53:43quik_ leaves the room.
13:55:05quik_ enters the room.
13:55:23jbwiv_ leaves the room.
13:55:41jbwiv enters the room.
14:05:58twbray enters the room.
14:10:25ragnard enters the room.
14:13:26quik_ leaves the room.
14:15:20foysavas leaves the room.
14:18:31enebo enters the room.
14:18:52foysavas enters the room.
14:21:59twbray leaves the room.
14:22:48JimMc enters the room.
14:23:42JimMcHi all
14:24:17JimMcGuess I'll introduce myself
14:24:27aasmith leaves the room.
14:24:39aasmith enters the room.
14:24:55JimMcmy name is James, & I just started working in Sun(testing Solaris)
14:25:06JimMcand I've been using Ruby since... 2004
14:25:40JimMcanyway I want to get Rubinius working on Solaris (versions 10+)
14:25:58JimMcAnd some different hardware
14:26:14JimMcSuch as Sparc & Intel 64
14:26:17sudoer enters the room.
14:26:24anonuseremt64 or IA64?
14:26:52sudoer leaves the room.
14:27:42sudoer enters the room.
14:28:05binary42 enters the room.
14:28:29be9cool, JimMc!
14:28:43sudoer leaves the room.
14:29:31sudoer enters the room.
14:30:27headius enters the room.
14:30:54JimMcyou know
14:31:02JimMci couldn't tell you which set it is
14:31:10probablycorey enters the room.
14:31:13JimMchear's the chip anyway
14:31:21JimMcIntel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz CPU 1
14:31:54be9guess it is emt64
14:31:55JimMcbasically I found rbx looking for a more thread safe version of Ruby
14:32:35JimMcAnyhoo have mostly a Linux background so this Solaris thing is new to me
14:32:52be9hmm at Sun, why not go jruby? :)
14:33:03JimMcmeh
14:33:15JimMclike the idea of the interpeter being written in ruby
14:33:25JimMcas opposed to some other lang
14:33:40be9yeah, we all do here
14:33:54JimMcSo I'm in the right crowd then, great
14:34:13be9well have you already tried to compile it?
14:34:22JimMcYes
14:34:25JimMc& errors
14:34:30hoopy enters the room.
14:34:36JimMcdon't have GCC 4x
14:34:40JimMconly 3x
14:34:49JimMcso trying to get 4x
14:34:57be9is 4.x really needed?
14:34:58JimMcwhich has just downloaded
14:35:05JimMcsooo brb
14:35:37jtoy leaves the room.
14:35:51JimMcI don't think thats the issue
14:36:06JimMcgnu utilities are always second to suns own
14:36:27JimMceg make is suns version etc
14:36:59JimMcso not just a case of getting rbx up but several others also
14:37:52cavalle leaves the room.
14:38:16headiusJimMc: you looking to get rubinius up for sun or your own uses?
14:38:26JimMcmy own uses
14:38:40JimMcbut I want to work on this project anyway
14:38:45JimMcfrom my own interest
14:39:23JimMcso soon enough we can add solaris & sparc to the platform list
14:39:25headiuscool
14:39:43headiusI tried monkeying with rubinius on solaris a while back, but as you say there's a lot of hassle
14:39:54headiusdoes indiana have a gnu userspace?
14:40:03JimMcim shaving so many yaks at the mo it's not even funny
14:40:09JimMcand im new to sol too
14:40:44headiusyou might consider trying something like nexenta first
14:40:50headiusopensol with gnu userspace
14:41:00headiusless tool juggling initially
14:44:52skaar enters the room.
14:45:06JimMclooks good
14:45:21JimMchowever I'm required to use our testing sol build
14:45:38JimMcand it's something that needs to be sorted anyway
14:46:06JimMci mean i cant believe they're not using all gnu utilities yet
14:46:16headiushard transition to make
14:47:18JimMcsuppose
14:53:16anonuserMan I was kinda stoked that someone was going to work on an IA64 port of Rubinius
14:53:26wmoxam enters the room.
14:55:40JimMcIA64, that itanium right
14:59:22sudoer leaves the room.
15:00:29be9what a rare fruit is this itanium
15:00:31jtoy enters the room.
15:00:44moofbong enters the room.
15:01:07JimMcjust looking it up & itanium has been a commercial failure
15:01:13jtoy leaves the room.
15:01:36JimMcalso just checked & sun doesn't have any itanium machiens
15:02:23be9so why a need for it?
15:02:38JimMcit was intels 64 bit server processor
15:03:05JimMcbut didn't run x86 natively
15:03:13JimMcso there was slow uptake
15:03:18JimMcthen amd came out with opteron
15:03:23JimMcx86-64
15:03:30JimMcruns x86
15:03:33be9if on linux I guess there won't be many problems with itanium. libffi which is the most platform-dependent part in rbx does support it
15:03:48JimMcright
15:04:05JimMcbut i don't think solaris runs on ia64
15:04:14JimMcnot natively anyway
15:04:36headiusgawd, nobody uses itanic
15:04:50headiuswhy would you want a rubinius port to itanic
15:05:00JimMclol:-D
15:05:45headiusall the intel procs support x86-64 instructions now anyway, so itanic is as good as dead
15:05:48be9JimMc: quick googling revealed that sun has canceled the IA-64 Solaris port
15:06:44JimMcthere you go
15:07:27twbray enters the room.
15:12:57anonuserAnyone here use emacs?
15:13:44anonuserJimMc, that's not true, Sun has it's own thing and has no need for IA64 but it's not that bad.
15:14:03anonuserThat's like saying the PPC is a commercial failure because it's not used on the desktop.
15:15:45JimMcmeh
15:15:50JimMchave nothing for or against it
15:17:33anonuserAt least no one is trying to port the thing to Alpha.
15:18:06djwhittaw man, Alpha rocks
15:18:15anonuserIt does but it's dead :(
15:18:21djwhittyeah...
15:18:24djwhittso sad
15:18:33djwhittsheds a tear for the Alpha
15:19:59anonuserIT was leagues ahead of x86 but what isn't.
15:20:48anonuserBut if you as opteron a bit of Alpha lives in that chip, the Alpha chip designer worked on the opteron series.
15:21:29cavalle_ enters the room.
15:21:30be9...feel the hand of a master... :)
15:22:16anonuserAlpha pioneered on die memory, integrated memory controller and out of order execution (big big big speed boosts)
15:22:25twbray leaves the room.
15:28:00macournoyer enters the room.
15:29:11cavalle_ leaves the room.
15:30:48srbaker enters the room.
15:39:02twbray enters the room.
15:39:58JimMcok getting some build errors running rake
15:40:14JimMcas said before gcc 3x is being used
15:44:04JimMcare there any documents to show how the build is structured or do I have to wade through the r/make files?
15:44:52squeegy leaves the room.
15:45:04squeegy enters the room.
15:45:12anonuserhttp://rubinius.lighthouseapp.com/projects/5089/getting-started
15:45:36anonuserhttp://rubinius.lighthouseapp.com/projects/5089/developer-readme
15:45:42JimMcgreat
15:45:50JimMcnow the code from git
15:45:57JimMcthat might not always build
15:46:03JimMcout of the box
15:46:05GMFlash enters the room.
15:46:05JimMccorrect?
15:46:58anonuserI dunno
15:47:06anonuserThe spec suite is supposed to keep it building
15:47:14anonuserbut I know there's been a few changes lately that break a lot.
15:47:23anonuserI think FreeBSD builds are still broken.
15:47:28anonuserI've not gotten around to fixing them
15:47:43JimMck
15:48:30twbray leaves the room.
15:48:31headiusJimMc: do you have git working on solaris?
15:48:32djwhittJimMc: a git checkout should pretty much always build
15:49:18JimMchave git running
15:49:31JimMcand the checkout certainly didn't build
15:50:11anonuserdjwhitt, he's on solaris
15:50:25anonuserI doubt Solaris would be building.
15:51:31djwhittanonuser: right, just saying that the build is seldom "broken" ... might not work on Solaris, but if it's checked in it's almost certainly building on OS X and Linux
15:51:46anonuserAnd if he's on Sparc I'm not sure that'll work either.
15:52:01JimMcon an intel
15:52:04anonuserhe might need to mess with kernel/platform stuff but I know next to nothing about that.
15:52:07JimMcbut still sol
15:52:45anonuserWell get to fixing those failing specs for your platform :)
15:55:04dodecaphonic enters the room.
15:55:10mutle leaves the room.
15:56:17mutle enters the room.
15:56:24therealadam enters the room.
15:59:47headius leaves the room.
16:00:14headius enters the room.
16:07:26AndrewO enters the room.
16:09:12jtoy enters the room.
16:11:22djwhittit definitely would be nice to have it running on Solaris so that people who don't have access to OS X can use dtrace
16:14:33hoopywonders if rbx would build on his NSLU2
16:15:07djwhittwhat kind of CPU is in that thing?
16:15:12hoopyarm
16:15:14eventualbuddha enters the room.
16:16:40anonuserFreeBSD might maybe be getting DTrace.
16:24:48moofbong leaves the room.
16:25:14moofbong enters the room.
16:27:10cavalle enters the room.
16:28:12djwhitthoopy: someone in here got it to build on arm I think
16:28:17djwhitthoopy: I forget who though
16:28:41djwhittanonuser: yeah, I was looking at that the other day, seems like it's kind of stalled right now though
16:28:58jtoy leaves the room.
16:29:08djwhittanonuser: I didn't spend too much time looking into it though so I might be way off
16:29:11anonuserdjwhitt, it was licensing problems but it seems they were worked out
16:30:06anonuserThe guy working on it, Birriel I think told the CDDL prevented them from using Sun headers in the FreeBSD kernel.
16:30:50djwhittwhat's the solution to that?
16:31:19nicksieger enters the room.
16:37:37anonuser1 of two things.
16:38:12JimMcis there any reason gcc 4x is "required" over 3x, any feature used?
16:38:24anonuserThe PC-BSD guys got them to listen, and FreeBSD benefits. OR Robert Watson and crew finally managed to get Sun to give them a BSD licensed version
16:38:45anonuserJimMc, 4.x is much stricter and doesn't allow for some non-standard but common practices to be used.
16:39:03anonuserMigrating from a large C++ codebase to 4.x was a pain :(
16:39:22anonusererr that made very little sense but I'm sure you'll understand
16:39:45anonuserIs 3.x even C99 compliant?
16:40:50djwhittJimMc: evan would probably know best about what requires gcc 4 vs 3, but he's in australia right now so his schedule is a little odd
16:41:23djwhittDefiler might know though...
16:43:24agile enters the room.
16:49:46headius_ enters the room.
16:49:46headius leaves the room.
16:53:07dbussinkJimMc: 4.0 is not needed
16:53:26dbussinkJimMc: 3.4 works too, freebsd 6.3 and openbsd use that and they work ok
16:53:39dbussinkdjwhitt: i know too ;)
16:54:07dbussinkJimMc: i've been working on testing it on solaris, but that was some time back
16:54:20dbussinkJimMc: didn't really work well, went to get it to work in freebsd and openbsd first back then
16:54:23djwhittdbussink: my appologies, I'll be sure to volunteer you next time ;)
16:55:01dbussinkanonuser: freebsd builds are ok and have been for the last few weeks
16:55:50dbussinkJimMc: be sure that you use all the gnu tools on solaris, there are some problems with the linker there too in that area
16:56:40jp_tixdbussink: found another bug releated to grep; ./spec/ruby/1.8/core/env/element_set_spec.rb fails when I've set GREP_OPTIONS='--color=always'
16:56:58jp_tixlol, I must be the only person in the world who has that setting
16:56:59dbussinkjp_tix: ah, can you change the spec to work around that?
16:57:08dbussinkjp_tix: probably yeah :P
16:57:23jp_tixhold on
17:04:45anonuserdbussink, what about 7.0?
17:04:56dbussinkanonuser: should work too
17:05:08dbussinkanonuser: drbrain has been testing that afaik
17:05:17cavalle leaves the room.
17:05:20anonuserdbussink, hrrm well thanks. I know you and rue were getting FreeBSD builds to work
17:06:00dbussinkanonuser: yeah, but that has been a few weeks ago
17:06:05anonuserreally?!
17:06:07dbussinkanonuser: still having problems with it?
17:06:10cavalle enters the room.
17:06:20anonuserNo, I just built my computer.
17:06:20dbussinkanonuser: something like two weeks ago
17:06:39anonuserWell that's awesome.
17:06:42anonuserwhat about 64?
17:06:44dbussinkanonuser: ah ok, well, it works ok on openbsd too, only some spec failures that are not really failures
17:06:59jp_tixdbussink: http://pastie.caboo.se/162383 maybe?
17:07:04dbussinkanonuser: i've been testing with linux 64, works ok, only some weird spec stuff i don't know about
17:07:12anonuserwhat about FreeBSD 64?
17:09:08dbussinkanonuser: haven't testing with that, but i don't see any problems, freebsd 32 and linux 64 are working, so freebsd 64 probably will too
17:09:19dbussinkanonuser: but if you feel like testing, please do :0
17:09:21anonuserawesomeness
17:09:21dbussink:)
17:09:26anonuserWill do.
17:22:28cavalle leaves the room.
17:26:32geekounet enters the room.
17:35:51thehcdreamer leaves the room.
17:36:31b3b0p enters the room.
17:38:06headius leaves the room.
17:38:39headius enters the room.
17:38:56dbussinkjp_tix: this fixes the spec for you assume?
17:39:14dbussinkjp_tix: you could use git-format-patch to create a patch and submit it to lighthouse
17:39:25dbussinkjp_tix: so you get the credits for the fix :)
17:42:14MenTaLguY enters the room.
17:43:02cavalle_ enters the room.
17:44:03cavalle_ leaves the room.
17:46:46wmoxam leaves the room.
17:47:00wmoxam enters the room.
17:48:18chris2_ enters the room.
17:51:04JimMclater
17:59:38zimbatm leaves the room.
18:02:11chris2 leaves the room.
18:05:22tim_w enters the room.
18:19:49GMFlash leaves the room.
18:24:34dkubb enters the room.
18:28:02srbaker leaves the room.
18:28:06headius leaves the room.
18:28:08headius_ enters the room.
18:28:48agile leaves the room.
18:30:25cavalle enters the room.
18:37:01jbwiv leaves the room.
18:37:15jbwiv enters the room.
18:37:43boyscout2 commits by Brian Ford
18:37:44boyscout * Merge branch 'inline'; 20259cc
18:37:45boyscout * Quiet gcc warning about inline-unit-growth.; 9715748
18:38:32brixenwell, that was odd
18:38:44twbray enters the room.
18:40:52wifelette enters the room.
18:42:49srbaker enters the room.
18:44:00dodecaphonic leaves the room.
18:44:09Arjen_ leaves the room.
18:44:28TheVoice enters the room.
18:46:44benburkert enters the room.
18:48:02moofbong leaves the room.
18:48:28moofbong enters the room.
18:49:29rubuildius_ppcBrian Ford: 20259cca7; 1723 files, 5823 examples, 19852 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/162439
18:50:46tim_w leaves the room.
18:52:01dbussinkbrixen: i have some weird issue with specs on 64 bit
18:52:06dbussinksome tag files are deleted
18:52:14dbussinkduring a ./bin/mspec ci run
18:52:25brixenhrm, that is odd
18:52:28brixencan you narrow it down?
18:52:38dbussinkbrixen: hmm, why are those inline options back?
18:52:56brixendunno, I just silenced the warnings
18:52:58dbussinkbrixen: when i benchmarked, they made no difference
18:53:08dbussinkand sometimes things where even broken
18:53:18brixenI think evan added them back
18:54:11wifelette leaves the room.
18:54:32dbussinkbrixen: did you check whether those options work on openbsd? there they usually fail first
18:56:22brixennope, checked ubuntu and os x
18:56:39wifelette enters the room.
18:56:47brixenI'll boot my freebsd image
18:57:06dbussinkfreebsd has a more recent gcc, which supports more exotic options
18:57:11dbussinkbut testing with openbsd at
18:57:16brixenwell, that's all I have :P
18:57:18dbussinkcc1: error: invalid parameter `inline-unit-growth'
18:57:23dbussinkyep, it's broken :P
18:57:38brixenso, disable opts for bsd then
18:57:40dbussinkbrixen: btw, this is the spec failure i sometimes get: http://pastie.caboo.se/162443
18:58:04dbussinkbrixen: i'd say, remove the opts until someone comes with convincing evidence that they matter
18:58:08brixenyeah, saw something similar once today and once yesterday
18:58:17brixenno clue what's up with the bad file descriptor
18:58:27dbussinkwell, the file it refers to doesn't exists
18:58:31dbussinkthe folder doesn't too
18:58:48dbussinkand you apparently get bad file descriptor if you access a file in a folder that doesn't exist
18:59:12lopex enters the room.
19:00:01brixenhmm, yeah same case here, no dir for the file
19:00:12brixenhow the hell did we get the descriptor then?
19:00:27dbussinkdunno :)
19:00:35dbussinkdoesn't happen always either
19:00:49brixenyeah, hadn't seen it before yesterday
19:01:01brixenI saw it a bunch running the specs under MRI a while back
19:01:07brixenbut never with rbx
19:01:36brixenI blame nanotechnology
19:01:53brixenthe smaller things are, the easier they are to lose
19:03:04dbussinkhmmm, there are some specs on 64 bit that are really slooooooow
19:04:25brixenare they socket or ipaddr specs?
19:05:00dbussinkhmm, doesn't happen on every run
19:06:28twbray leaves the room.
19:08:21dbussinki blame glitches in the matrix
19:08:29benburkert leaves the room.
19:08:29brixendbussink: yeah, seems perhaps related to dns lookup that then gets cached?
19:09:35dbussinkhmm, the run is also slower since the last changes
19:09:48dbussinki think i read that rue saw it too
19:15:49headius_ enters the room.
19:15:59headius leaves the room.
19:21:28srbaker leaves the room.
19:23:54dysinger enters the room.
19:24:24perplexes enters the room.
19:25:03dbussinkbrixen: hmm, i get warnings during compile now with the changed inline option
19:25:55brixenon what platform?
19:26:00dbussinkos x
19:26:07brixenpastie?
19:26:50dbussinkhttp://pastie.caboo.se/162452
19:27:03brixendid you update?
19:27:08brixenthat's what my commit fixed
19:27:12brixenat least for me :P
19:27:45dbussinkit triggered it for me :)
19:27:54dbussinkdidn't have the warnings before your fix
19:28:47brixenthat makes no sense
19:30:28dbussinkah wait, no, my bad, sorry :P
19:30:45macournoyer leaves the room.
19:31:50brixenheh, late for ya :P
19:33:34brixenman, wresting hash from the libs and vm is not trivial
19:35:33obiejuan enters the room.
19:36:40dewd leaves the room.
19:36:59dewd_ enters the room.
19:38:13benburkert enters the room.
19:39:27wifelette leaves the room.
19:42:27geekounet leaves the room.
19:42:39geekounet enters the room.
19:46:09benburkert leaves the room.
19:46:42jp_tixdbussink: ok, will do
19:48:14jp_tixhmm, I need to commit my change to use git-format-patch?
19:48:23benburkert enters the room.
19:50:07djwhittjp_tix: yep
19:51:21djwhittjp_tix: might want to take a look at this http://rubinius.lighthouseapp.com/projects/5089/using-git
19:51:25djwhittjp_tix: if you haven't already
19:51:43jp_tixthanks
19:51:57olabini leaves the room.
19:54:00brixendbussink: it's interesting that the build bot hasn't barfed with that bad file descriptor error yet
19:55:27wifelette enters the room.
19:56:11Fullmoon enters the room.
19:56:48brixendbussink: apparently it can happen when the file exists, too: http://pastie.org/162462
19:59:56brixendbussink: btw, have you ever seen it outside of socket specs?
20:03:22ezmobius enters the room.
20:04:09headiuswresting hash from the libs and vm?
20:04:50brixenyes, hash is going to be all ruby, LookupTable uses only symbol keys
20:04:59brixenand will be used for method tables, etc
20:05:58headiushmm, didn't evan just move parts of it into C very recently?
20:06:07brixendamn this bad file descriptor crap, I wonder if someting in socket is stomping on IO stuff
20:06:13headiusby hash you mean Hash the class or what?
20:06:15brixenheadius: parts of what?
20:06:23brixenyeah, Hash the class
20:06:41headiusI thought I saw evan pull down part of Hash into a primitive
20:06:55brixenyeah, then we decided to replace hash with lookuptable
20:07:06macournoyer enters the room.
20:07:16headiusperformance of lookuptable pretty good?
20:07:24brixenrunning some bms now :)
20:07:36headiusand lookuptable is all ruby?
20:07:58headiusI haven't been keeping up
20:08:05brixenlookuptable is mostly primitives
20:08:09headiusahhh ok
20:08:16brixenthere's 4 main ones: fetch, store, delete, key?
20:08:21headiusso hash will just be implemented in terms of lookuptable, which is C
20:08:28brixeneach, empty?, keys, values is in ruby
20:08:44brixennope, Hash and LookupTable are only duck-types
20:08:54brixenneither knows, nor cares, about the other
20:08:59brixensibling rivalry :P
20:09:43headiusand hash won't use any primitives?
20:09:51brixennot if I can help it
20:10:02headiusheheh, back and forth
20:10:10brixenso?
20:10:12brixen:P
20:10:14djwhittreally? wow, won't that make hash painfully slow?
20:10:17headiusI didn't say anything :)
20:10:23brixendjwhitt: nope, shouldn't necessarily
20:10:41headiusdjwhitt: turtles
20:10:58obiejuan leaves the room.
20:11:01brixendjwhitt: the issue with hash is [], needs to be able to call eql? on the keys
20:11:17headiuswhat will hash depend on from core?
20:11:30brixenEnumerable
20:11:31headiusI'm all for reducing the primitive exposure
20:11:34brixenprobably only that
20:11:47djwhittinteresting
20:11:56headiusseemed like things were going the other way though
20:12:25brixenheadius: not really, some adjustments were made, but primitives exist for a reason
20:12:32brixenand they are always inside a Ruby method
20:12:35djwhittyeah, the whole turtles thing is definitely cool, just wasn't sure things were going to be fast enough to use that approach at first
20:12:37brixenso, they are just another interface
20:12:45headiusa bunch of recent primitives seemed to be for performance alone
20:13:13headiusperhaps that's one reason they exist then
20:13:15brixenthe math stuff is, but like I said before, those operations will always, on any platform, be primitives
20:13:36headiuswell, why does lookuptable use primitives?
20:13:43headiusis there a reason other than performance?
20:13:46brixenand there's never a good reason not to push performance when there's no real complexity hit
20:14:01brixenbecause it's needed inside the VM
20:14:31brixenso, doing it in C and making it visible in Ruby with primitives is the simplest way
20:15:30headiusright, I keep forgetting where the VM begins
20:15:58headiusyes, with a VM in C, it makes sense for VM-related things to be in C
20:16:18brixensome sense, yes
20:17:05brixenheadius: did you read the vpri steps paper?
20:17:31headiusafter the first 300 pages I started to atrophy
20:17:39brixenwhat?!
20:17:42brixenit's 50 pages
20:17:51headiusok, maybe it was 30
20:18:03headiusit looked interesting...we're in RC3 close-out mode right now though
20:18:10brixenahh
20:18:13headiusreally want this to be the last RC before 1.1 final
20:18:23brixenwhat things are you tackling?
20:18:26brixenjust bugs?
20:18:28headiusbeen playing with some rubyinline for java stuff also
20:18:33headiusyeah, mostly bugs
20:18:40brixenah
20:18:47headiussome profiling for perf, but everything seems pretty good in that dept
20:19:07headiusresisting temptation to do more perf work that can wait
20:19:10brixenany work on "app-like" benches?
20:19:31headiuslots of rails profiling
20:19:48brixenwhat are those numbers vs mri?
20:20:38headiusprobably 5-15% faster for a full AR-based request/response cycle
20:20:59headiusit varies form app to app, and the more actual processing happening in the app the better
20:21:14headiusrails' own code is more difficult to speed up
20:21:41brixenwhy's that?
20:22:17brixenso, IO is generally slower with jruby vs mri?
20:22:30headiuslots of send, method_missing, define_method, method#to_proc
20:22:36headiusstuff that's hard to optimize or unoptimized rightnow
20:22:43headiusno, not generally
20:23:42headiuslopex was doing some IO benchmarking and it looks good
20:24:09brixenah, cool
20:24:30brixenwhat's the issue with send?
20:25:15rueanonuser: FreeBSD 64 was working a couple days ago. It has actually been working better than 32
20:25:30anonuserrue, excellent, 6 and 7?
20:25:58headiusbrixen: send defeats inline caching
20:26:00brixenrue: did you go with vmware?
20:26:00dbussinkrue: did you see some slowdown because of the last changes?
20:26:16brixenheadius: your own or the jvm's?
20:26:21headiusours
20:26:29brixenheadius: ahh, and you're still monomorphic?
20:26:48headiusI have polymorphic sites available, but they haven't proven necessary
20:26:54brixenah ok
20:27:11headiusmost sites that aren't monomorphic are way too polymorphic for a PIC to help
20:27:18brixenI can't remember if I asked, but are you doing any compiler opts?
20:27:23headiussuch as?
20:27:27brixenanything
20:27:28headiusI've got all sorts of optz
20:27:54brixenlike? :)
20:28:19headiusjava local variables, simple jumps for all local flow control, avoiding exception/jump handling when not calling with a block, specific-arity call paths
20:28:42nicksieger leaves the room.
20:28:42brixencool, how are you assessing them? just benches?
20:28:59headiusfor the most part
20:29:43nicksieger enters the room.
20:30:08brixendo you have any issues separating gains from compiler opts from the jvm opts?
20:30:17brixeni.e. how do you know it's the compiler and not the jvm?
20:30:54headiuswell the jvm doesn't really change much between runs :)
20:31:10headiusbut every change we make has an effect on what the JVM does
20:31:13headiusit's not possible to separate them
20:31:31brixenyeah, seems like it would be hard
20:31:32headiusbut that's really the primary goal for our optz work...make it possible for the JVM to take over
20:31:38brixenyeah
20:32:30headiusin rubinius's case it's easier to separate the two, but you have to do everything
20:33:37brixendo you think opts to the jvm to better run dynamic code will clash with opts to run java code?
20:35:43headiusnot at all
20:35:58headiusit's already doing those optz
20:36:00headiusthe JVM is a dynamic language VM
20:37:25brixenhmm, I was curious because I thought you said john rose said the next jvm would be strongtalk en masse?
20:37:30brixendid I mis-hear?
20:37:56agile enters the room.
20:38:26lopexbrixen: well, dynamic, jvm is able to completely devirtualize methods for example
20:39:08brixenlopex: just curious what "strongtalk en masse" would effectively mean
20:39:16brixenhttp://donttreadonme.co.uk/rubinius-irc/rubinius.log.20080221.html
20:39:21lopexit will wirtualize them back when a potential alternative implementation will appear through for example class loading
20:39:34brixenhmm
20:40:10lopexbrixen: and the whole plethora of opts that are done on ssa
20:40:20lopexeven before register allocation
20:40:47geekounet leaves the room.
20:40:50geekounet enters the room.
20:40:53lopexthen, it has separate database of opcodes and their costs
20:41:21lopexpeephole opts are done on separate gragh as well
20:41:26lopexer, graph
20:41:49lopexalmost impossible to do it better by hand (the assembly code)
20:42:16brixenyeah, it's impressive, no question
20:42:25lopexand other advantage are the so called heroic/optimistic optz
20:42:33brixenjust curious why strongtalk-style (whatever that means) opts weren't used before
20:42:38lopexjvm is able to optimize only a frequent path
20:42:42lopexwith a guard
20:42:52lopexthen it deoptimizes back to bytecode
20:43:05lopexand optimizes back with new profiles given
20:43:23lopexevery if/else/switch condition is profiled there
20:43:42lopexand the most magic is OSR
20:43:54brixenosr?
20:44:05lopexbrixen: http://java.sun.com/developer/technicalArticles/Networking/HotSpot/onstack.html
20:44:11lopexthis is just madness
20:44:18brixenahh, cool
20:44:25obvio leaves the room.
20:44:37lopexbrixen: for bad long running loops since hotspot mostly operates methodwise
20:45:17lopexbrixen: it is able to reconstruct native stack and jump into it from interpreted mode
20:45:23lopexwithin iteration
20:45:28brixenyeah, makes sense, very cool
20:45:32chop3 enters the room.
20:45:45lopexand deoptimize back of course
20:45:51lopexif necessary
20:46:58benburkert leaves the room.
20:47:25brixenlopex: thanks for the explanations
20:47:34brixengonna grab food and ponder :)
20:47:48imajes enters the room.
20:47:51lopexbrixen: even interpreted is generated from assembly opcode templates
20:47:57lopexer, interpreter
20:48:13lopexso there's no switch loop even when interpreted
20:49:46olabini enters the room.
20:50:07wycats leaves the room.
20:50:16brixenlopex: is that like direct threading?
20:51:29lopexah, you mean by directly emmitted calls ?
20:52:27brixenwell, what does "no switch loop even when interpreted" mean? switch loop where?
20:52:32headiusback now
20:52:39lopexno switch
20:52:59lopexthe opcode impls are assembly emmitted and then run
20:53:12lopexfrom templates
20:53:57headiusbrixen: what I meant was that a lot of what john rose is doing will expose hotspot's dynamic capabilities to general use
20:54:12headiushotspot is descended from strongtalk and self research
20:54:27brixenlopex: hmm, ok, I'll need to study up on that :)
20:54:35brixenheadius: ahh, ok, that's what I was curious about
20:54:47headiusand the dynamic capabilities *are* being used heavily, since hotspot can invoke either interpreted or compiled versions of methods without knowing which
20:55:25headiuscrazy stuff happening in that vm
20:55:44brixenheh, now imagine if that were expressed in a few hundred loc :)
20:55:46lopexand there's self tuning everywhere: jit/GC/threading
20:56:56headiusbrixen: that would be difficult
20:57:25headiusI'm not sure you understand the scope of what it does
20:57:34brixenheadius: it will be *necessary*, we're approaching that level of complexity
20:58:21headiusrubinius is nowhere near hotspot
20:58:23moofbong leaves the room.
20:58:30