Index

Show enters and exits. Hide enters and exits.

00:04:19headius leaves the room.
00:04:26headius enters the room.
00:05:38drbrainbrixen: how many tests did you run
00:06:53imajes enters the room.
00:07:25bricolage leaves the room.
00:09:36imajes leaves the room.
00:09:52imajes enters the room.
00:14:37brixendrbrain: 409
00:14:45drbrainok
00:15:05drbrainyou didn't run the same test set as I did
00:15:41drbrainthe Rakefile doesn't handle vm/test/test_instructions.hpp (a generated file) correctly right now
00:20:37brixenyeah
00:20:47qrush enters the room.
00:20:49brixenmake senese
00:20:54brixensense even
00:25:59gramos leaves the room.
00:30:53headiushey I noticed a lot of commits just renaming primitives
00:31:13headiusis that to protect them?
00:31:55brixenmostly to make them orderly
00:32:00nari leaves the room.
00:32:04brixennot sure what "protect" them means
00:33:15tarcierito keep them out of the toplevel namespace?
00:33:44pauldix enters the room.
00:33:57brixenthat'd be a class or something
00:33:59headiusto avoid the likelihood of other libraries monkey-wrapping them and destroying core
00:34:03headiuslike rational
00:34:17brixennot really any effort to do that atm
00:34:44headiusseems like there would also be an optimization path possible too
00:35:32headiusI was just curious because we've talked about the method obliteration issue previously
00:36:21ezmobius leaves the room.
00:36:41ezmobius enters the room.
00:37:12tarcieriheadius: like method inlining?
00:37:31headiusyes, that's one example
00:37:56headiusor making methods with those names "intrinsics" and having the VM call them directly rather than go through a dispatch
00:38:32headiusso Fixnum#+ would be implemented in terms of fixnum_plus but would incur no additional dispatch cost from the extra call
00:38:48headiusand other calls that need to always call "our" + would also use fixnum_plus
00:40:22botanicus leaves the room.
00:40:47aotearoa leaves the room.
00:41:26jbarnette enters the room.
00:46:02binary42 enters the room.
00:47:32jayWHY_ enters the room.
00:48:15binary42 leaves the room.
00:50:29evanheadius: not sure what ya mean
00:50:57headiusdo sendsites patch the caller to call primitives directly?
00:51:08drbrainhrm, vm/gen/typechecks.gen.cpp is nearly empty again
00:54:00evandrbrain: then field_extract can't read the headers
00:54:35drbrainok
00:54:35evanheadius: the sendsite is patched with the primitive function
00:57:17nari enters the room.
00:59:40headiusevan: so it knows this by inspecting the method on first lookup I presume?
01:00:01evannah
01:01:00evanan empty sendsite is actually a call to a version taht uses the global cache, then populates the sendsite and changes the sendsite operation
01:01:09ezmobius_ enters the room.
01:01:26evanin shotgun, there is also a special primitive version of a sendsite
01:01:38evanthats consolidated in C++ using a virtual method
01:01:53jayWHY leaves the room.
01:01:59headiushow much overhead is there in calling through a patched sendsite to the target primitive
01:02:13evanoverhead between what?
01:02:16headiusand I assume once patched the primitive can't be overridden
01:02:25evansure it can
01:02:30headiusor at least the site won't see that
01:02:33evanthe sendsite is still verified to be correct
01:03:08evanall assumptions are verified
01:03:26headiusok, then that's what I mean...for intrinsic primitives you could skip that verification entirely
01:03:38headiusprobably not even do the send
01:03:52evancould be done
01:03:53evansure.
01:04:11evanthe primitives would be marked as intrinsic in some way
01:04:34evanso that they patch the sendsite to be a version that doesn't check
01:04:45headiusright
01:04:46evani've never measured the overhead of the check
01:04:50evanso i'd do that first.
01:04:55evandunno if it would pay off.
01:05:08twbray enters the room.
01:05:23headiusif you get to a point of jitting it would also be possible to tell llvm certain calls are intrinsics and inlinable
01:05:52evanyeah
01:05:57evani've thought about that
01:06:04headiusthen there's not even dispatch cost of any kind
01:06:05evaninlining of primitives
01:06:12jayWHY_ leaves the room.
01:06:16evanwell
01:06:22evanyou still have to check that the receiver is correct
01:06:32binary011010 enters the room.
01:06:42headiussure, but that would just be a jump over the inlined code
01:06:48evanyeah
01:07:10headiusbut yes, most of hotspot's intrinsics are static methods, so there is no receiver
01:07:22headiusarraycopy, math functions, so on
01:07:40headiusthere's still checks for the types of args, which is similar to a receiver check
01:08:10evanyeah, thats the same check.
01:11:57benburkert leaves the room.
01:12:20headiusanyway, just a thought I had what with the primitive renaming going on
01:13:40evannope
01:13:43evanjust cleanup
01:14:44headiusok then
01:15:36trythil enters the room.
01:28:04eventualbuddha enters the room.
01:28:27benburkert enters the room.
01:29:50lopex leaves the room.
01:30:24ezmobius_ leaves the room.
01:30:57twbray leaves the room.
01:32:20benburkert leaves the room.
01:33:08benburkert enters the room.
01:39:50brapse leaves the room.
01:40:33edwardam enters the room.
01:43:11brapse enters the room.
01:47:09ezmobius leaves the room.
01:48:51shame enters the room.
01:56:54jbarnette leaves the room.
01:57:22stepheneb_ enters the room.
02:01:40aotearoa enters the room.
02:11:27jtoy enters the room.
02:11:31tarcieri*headgib* @ RubyGems on ruby 1.9
02:11:42tarcieriWARNING: RubyGems 1.2+ index not found
02:11:49tarcieri gem1.9 --version
02:11:49tarcieri1.1.1
02:11:58tarcieriwhat?
02:13:18brapse leaves the room.
02:17:22stepheneb leaves the room.
02:22:02eventualbuddha leaves the room.
02:22:54aotearoa leaves the room.
02:27:34qrush leaves the room.
02:34:36benburkert leaves the room.
02:34:40lchin enters the room.
02:36:18octopod leaves the room.
02:36:18brapse enters the room.
02:38:08lstoll leaves the room.
02:39:13nicksieger leaves the room.
02:41:57dfg59 leaves the room.
02:46:38drbraintarcieri: gem1.9 sources --list
02:46:42drbrain??
02:47:02drbraintarcieri: note that your ruby 1.9 may have a pre-1.2.0 release
02:47:06drbrainhave -> be
02:48:20pauldix leaves the room.
02:48:40drbrainI guess have was right
02:54:00xhanjian_ enters the room.
02:55:23xhanjian_ leaves the room.
02:55:52aotearoa enters the room.
02:55:55drbraintarcieri: also, 1.9.0-3+ has rubygems 1.2.0.1824
03:10:57benburkert enters the room.
03:13:44trythil leaves the room.
03:19:25AndrewO enters the room.
03:22:53binary011010 leaves the room.
03:38:29lstoll enters the room.
03:43:11ijcd leaves the room.
03:49:46brapse leaves the room.
03:53:27imajes leaves the room.
03:56:10imajes enters the room.
03:57:31lstoll_ enters the room.
04:02:55shayarnett enters the room.
04:04:58imajes leaves the room.
04:06:27shayarnett leaves the room.
04:06:31lstoll leaves the room.
04:40:21twbray enters the room.
04:46:16brapse enters the room.
04:47:05moofbong enters the room.
04:50:32jazen3 enters the room.
04:55:48twbray leaves the room.
05:02:32enebo leaves the room.
05:05:31mernen leaves the room.
05:07:47jazen leaves the room.
05:13:40ezmobius_ enters the room.
05:20:03moofbong leaves the room.
05:20:24AndrewO leaves the room.
05:29:29atmos_ enters the room.
05:31:14atmos_ leaves the room.
05:36:57michaellatta enters the room.
05:39:46RyanTM leaves the room.
06:02:36twbray enters the room.
06:11:22ijcd enters the room.
06:12:20ijcd_ enters the room.
06:13:24ijcd leaves the room.
06:13:35benburkert leaves the room.
06:19:17antares enters the room.
06:24:35michalw enters the room.
06:32:49srbaker enters the room.
06:34:53thehcdreamer enters the room.
06:38:47aotearoa leaves the room.
06:58:58antares leaves the room.
07:00:31ijcd_ leaves the room.
07:02:25sudoer enters the room.
07:03:04mitchellvriley enters the room.
07:05:36thehcdreamer leaves the room.
07:12:48jtoy leaves the room.
07:26:52edwardam leaves the room.
07:28:24edwardam enters the room.
07:44:22BlackEdder enters the room.
07:56:56jgre_ enters the room.
08:05:09thehcdreamer enters the room.
08:06:59twbray leaves the room.
08:08:40mitchellvriley leaves the room.
08:12:45nicksieger enters the room.
08:13:21trythil enters the room.
08:26:02trythil leaves the room.
08:26:40trythil enters the room.
08:29:00trythil leaves the room.
08:54:00botanicus enters the room.
08:59:14octopod enters the room.
09:05:29Fullmoon enters the room.
09:28:10Fullmoon leaves the room.
09:34:40stepheneb_ leaves the room.
09:34:51krsh enters the room.
09:41:49Fullmoon enters the room.
09:47:26headius leaves the room.
09:48:10headius enters the room.
09:50:34Fullmoon leaves the room.
09:50:41headius leaves the room.
09:50:44Fullmoon enters the room.
09:51:10headius enters the room.
09:51:39ezmobius leaves the room.
09:53:53Fullmoon leaves the room.
09:58:34edwardam leaves the room.
10:03:46Fullmoon enters the room.
10:11:33Fullmoon leaves the room.
10:20:49Fullmoon enters the room.
10:23:18headius leaves the room.
10:26:22lstoll_ leaves the room.
10:29:25Maledictus enters the room.
10:36:51yugui enters the room.
10:45:05nari leaves the room.
10:47:28inspired enters the room.
11:08:16chris2 enters the room.
11:09:32sudoer leaves the room.
11:11:09CIA-20* Removed some BigDecimal tags; 64e7e51 - Gianluigi
11:18:38nari enters the room.
11:24:43rubuildius_amd64Gianluigi: 64e7e5155; bin/ci failed! http://rafb.net/p/Q9AwMz83.html
11:25:40mutle_ enters the room.
11:33:40Fullmoon leaves the room.
11:38:55rubuildius_ey64Gianluigi: 64e7e5155; 2629 files, 8609 examples, 28695 expectations, 0 failures, 0 errors
11:39:50Fullmoon enters the room.
11:42:26mutle leaves the room.
11:59:35minciue enters the room.
12:12:17krsh leaves the room.
12:23:34lstoll enters the room.
12:26:33lstoll_ enters the room.
12:28:07joachimm leaves the room.
12:37:22aotearoa enters the room.
12:50:29lstoll leaves the room.
12:50:59inspired leaves the room.
13:09:46lstoll_ leaves the room.
13:10:53Fullmoon leaves the room.
13:31:14cremes enters the room.
13:35:24hemulen leaves the room.
13:36:04hemulen enters the room.
13:37:47imajes enters the room.
13:38:40binary011010 enters the room.
13:54:12thehcdreamer leaves the room.
13:57:16thehcdreamer enters the room.
14:02:06AndrewO enters the room.
14:02:32w1rele55 enters the room.
14:07:47BobFunkasdas leaves the room.
14:08:32srbaker_ enters the room.
14:08:35srbaker leaves the room.
14:09:14joachimm enters the room.
14:09:46krsh enters the room.
14:14:33yugui leaves the room.
14:15:57binary011010 leaves the room.
14:16:30lchin leaves the room.
14:18:17imajes leaves the room.
14:19:50michalw leaves the room.
14:25:40aotearoa leaves the room.
14:34:20benburkert enters the room.
14:35:30keisukefukuda enters the room.
14:40:26RyanTM enters the room.
14:49:19srbaker leaves the room.
14:54:30pauldix enters the room.
15:00:50NoKarma enters the room.
15:04:55moofbong enters the room.
15:05:59krsh leaves the room.
15:08:39keisukefukuda leaves the room.
15:09:04benburkert leaves the room.
15:09:19pauldix leaves the room.
15:12:54pauldix enters the room.
15:13:02keisukefukuda enters the room.
15:19:43fbuilesv leaves the room.
15:22:57keisukefukuda leaves the room.
15:34:41w1rele55 leaves the room.
15:34:41ko1_away leaves the room.
15:34:41jero5 leaves the room.
15:34:41zf leaves the room.
15:34:41loop leaves the room.
15:34:41rudebwoy leaves the room.
15:34:41maharg leaves the room.
15:34:41rue leaves the room.
15:34:41fearoffish leaves the room.
15:39:32w1rele55 enters the room.
15:39:32ko1_away enters the room.
15:39:32loop enters the room.
15:39:32maharg enters the room.
15:39:32jero5 enters the room.
15:39:32rudebwoy enters the room.
15:39:32rue enters the room.
15:39:32fearoffish enters the room.
15:39:32zf enters the room.
15:51:28pauldix leaves the room.
15:51:42pauldix enters the room.
15:54:40krsh enters the room.
16:03:22krsh_ enters the room.
16:08:46binary42 enters the room.
16:09:27michalw enters the room.
16:13:10enebo enters the room.
16:22:12krsh leaves the room.
16:24:59joachimm leaves the room.
16:26:08twbray enters the room.
16:27:19michaellatta leaves the room.
16:45:13bricolage enters the room.
16:45:47lopex enters the room.
16:47:09dfg59 enters the room.
16:48:29jgre_ leaves the room.
16:54:15michaellatta enters the room.
16:56:48benburkert enters the room.
17:07:48jgre_ enters the room.
17:09:10jgre__ enters the room.
17:17:53michaellatta_ enters the room.
17:19:40michaellatta_ leaves the room.
17:25:05lopex leaves the room.
17:25:21jgre_ leaves the room.
17:28:45ijcd enters the room.
17:29:09ijcd leaves the room.
17:29:51nari_ enters the room.
17:30:18nari leaves the room.
17:30:19twbray leaves the room.
17:30:53brapse leaves the room.
17:34:30michaellatta leaves the room.
17:35:04headius enters the room.
17:38:58michalw leaves the room.
17:40:32benny enters the room.
17:42:00dfg59 leaves the room.
17:42:08dfg59 enters the room.
17:43:00nicksieger leaves the room.
17:45:44blakewatters enters the room.
17:49:16Fullmoon enters the room.
17:53:05blakewatters leaves the room.
17:54:19thehcdreamer leaves the room.
17:55:23blakewatters enters the room.
17:58:38krsh leaves the room.
18:00:09joachimm enters the room.
18:00:10twbray enters the room.
18:04:41shayarnett enters the room.
18:05:48nicksieger enters the room.
18:10:00twbray leaves the room.
18:11:20edwardam enters the room.
18:19:32yipstar enters the room.
18:22:26keisukefukuda enters the room.
18:22:59brapse enters the room.
18:27:39octopod leaves the room.
18:27:51Fullmoon leaves the room.
18:34:24NoKarma leaves the room.
18:35:21headius leaves the room.
18:36:14brapse_ enters the room.
18:48:09antares enters the room.
18:53:04brapse leaves the room.
18:54:02gramos enters the room.
18:54:11shayarnett leaves the room.
18:55:31nakajima enters the room.
18:56:59enebo leaves the room.
19:00:22NoKarma enters the room.
19:03:43ijcd enters the room.
19:06:12bricolage leaves the room.
19:06:28robin_dewd leaves the room.
19:07:45bricolage enters the room.
19:07:45benburkert leaves the room.
19:08:01benburkert enters the room.
19:14:09octopod enters the room.
19:18:54keisukefukuda leaves the room.
19:19:15thehcdreamer enters the room.
19:23:20dgtized leaves the room.
19:24:47dgtized enters the room.
19:24:53headius enters the room.
19:29:43enebo enters the room.
19:53:31antares leaves the room.
19:54:16drbrainwhere does opcode (not Opcode) come from?
19:55:25drbrainspecifically, vm/builtin/task.hpp line 46
19:57:29chris2 leaves the room.
20:00:25drbrainit's just an unsigned int?
20:01:11drbrainyeah, opcode blockargs seems wrong, instructions.rb does a comparison:
20:01:17drbrain(unsigned int)count == task->blockargs)
20:01:22drbrainfor passed_blockarg
20:05:52drbrainah, here it is, vmmethod.hpp
20:05:58BobFunkmm enters the room.
20:06:56botanicus leaves the room.
20:07:49benburkert leaves the room.
20:07:57drbrainoh, crap, cycle
20:09:08gramosI'm making a binary debian package for rubinius, and I need build it and copy to a target folder like debian/rubinius/
20:09:43shayarnett enters the room.
20:10:10gramosI'm trying this: PREFIX=debian/rubinius rake build
20:11:29gramosthe building process works fine, but when I install the package I get this error:
20:11:49gramosgramos@macross:~$ rbx -v
20:11:49gramosruby: No such file or directory -- /home/cadorcha/rubinius-debian/rubinius/shotgun/run-dev.rb (LoadError)
20:11:56ezmobius enters the room.
20:12:27drbrainI bet PREFIX is broken again
20:12:39drbrainwhat's in run-dev.rb?
20:12:47drbrainor, did it even install it right?
20:13:33drbrainor, did it even install it right?
20:13:37drbraincrap
20:13:48gramosI need build it in a target directory like: ~/rubinius-deb/debian/
20:14:15drbrainyou'll probably need to do some fixing then
20:14:27gramosbut wiht a reference to /urs/local for ex.
20:15:15drbrainalso, I don't think rake build should be used with PREFIX
20:17:01gramosI read it in the INSTALL file
20:17:07gramos== Prefix installs
20:17:21drbrainwell, then it's probably broken
20:17:28drbrainor, isn't built to do what you want
20:17:30gramosok
20:17:32gramos:/
20:17:55drbrainit's ok, it's just a rakefile, shouldn't be too hard for you to fix :)
20:18:05gramos:)
20:18:42gramosthanks, I'm going to try to fix later.
20:21:02nicksieger leaves the room.
20:30:01dfg59 leaves the room.
20:37:06michalw enters the room.
20:40:05BobFunkmm leaves the room.
20:42:56spaceG enters the room.
20:44:12hemulen leaves the room.
20:52:20Arjen_ enters the room.
20:56:59lopex enters the room.
20:58:21drfreeze5 more days for early registration at Lone Star Ruby Conference http://LoneStarRubyconf.com
21:01:00gramosdrbrain: I lost my commit bit with the repo migration
21:01:18gramoscan you give me the commit bit again?
21:01:31brixengramos: evan can, what's your github user?
21:01:41gramosgramos
21:01:47brixenheh, k
21:01:59gramoshttp://github.com/gramos/
21:02:28brixengramos: I'll remind evan when he's back
21:02:29gramosI sended an email to evan but didn't asnwer me
21:02:41gramosbrixen: thanks
21:02:46brixenn/p
21:04:09benburkert enters the room.
21:06:05evangramos: ok, added back in.
21:09:18gramosevan: thanks!
21:12:54octopod leaves the room.
21:13:12octopod enters the room.
21:20:27shayarnett leaves the room.
21:22:04c0sin enters the room.
21:25:24ezmobius_ enters the room.
21:28:28ezmobius leaves the room.
21:35:22tarcierihey ezmobius
21:35:29ezmobiusheya
21:35:45tarcieridid you see you can declare modules from Reia's REPL now?
21:35:57ezmobiusnah i didnt
21:36:02tarcierilike... real BEAM modules loaded into the code server
21:36:05ezmobiusgot a link?
21:36:11ezmobiusoh sounds interesting
21:36:27tarcierihttp://tonyarcieri.org/articles/2008/08/05/reia-now-creating-modules-on-the-fly
21:36:35ezmobiusso you can load standard erlang modules dynamically and call them from reia?
21:37:06tarcieriwell, it's been able to call out to Erlang modules for awhile
21:37:11tarcierithis is more the other way around
21:37:13ezmobiusoh I see
21:37:25ezmobiusmaking reia modules in the shell and dynamically loadin gthem
21:37:28ezmobiuscoolness
21:37:38tarcieriyeah
21:38:00dgtizedis ryan davis in the channel?
21:38:22tarcieriezmobius: but yeah, those Reia modules get loaded into Erlang's code server and can be called directly from Erlang
21:38:23brixendgtized: he's zenspider, and normally here, yes, but not today afaik
21:38:45dgtizedoh right, sometimes I forget name -> handle mapping
21:38:53dgtizedcpp branch is still broken for gcc 4.2.3
21:39:02brixendgtized: ah yeah
21:39:02dgtizedsince his changes last saturday
21:39:02evanwhat error are you getting?
21:39:07evanoh, right
21:39:08evanthe deps.
21:39:20ezmobiustarcieri: wild stuff
21:39:20dgtizedyea vm compiles, but none of the unit tests will compile
21:39:52dgtizedevan: http://gist.github.com/3971 - that's the first page of like 20 errors
21:39:59dgtized20 pages, not errors
21:40:08brixentarcieri: if we could get actors reasonably close to as good as erlang, would you use ruby or reia? out of curiosity
21:40:18tarcieriezmobius: yeah check out Smerl... it's pretty cool in general
21:40:25dbussinkdgtized: where does the weird &* come from?
21:40:29evandgtized: it's only in the tests, right?
21:41:18ezmobiustarcieri: we're going to release our 'eye' tool soon. its a nw build/deploy system for erlang. allows to build OTP apps and packeg them as ebuilds or tarballs and also autyo deploys and handles hot code loading etc.. 'eye' == engineyard erlang
21:41:19tarcieribrixen: I don't think it's possible for a shared state language to provide the same concurrency / distribution benefits as Erlang
21:41:40tarcieriezmobius: have you looked at ear at all?
21:42:57tarcieribrixen: Erlang uses a thread pool to dynamically load balance "processes" across CPUs with relatively little locking
21:42:58dgtizeddbussink: I don't know where the weird &* comes from, I have had to fix that before, but that's not really the source of the vast majority of errors
21:43:28dgtizeddbussink: everyone fixates on that first error, when I'm pretty sure it's the other ones that are more important
21:43:31evanthe &* thing isn't in the .cpp files, it seems to just be the way that g++ reports stuff
21:43:47dbussinkdgtized: hehe, yeah, you're right
21:43:51tarcieribrixen: but umm, the real answer quite clearly is that I'm going to use both and I'll probably burn out and give up on Reia at some point... don't really see that happening with Rubinius
21:44:25evandgtized: that first error is just that that function seems to be missing
21:44:26brixentarcieri: ah ok. just curious
21:44:32Defilerevan: Are there any differences in ByteArray between cpp and shotgun that I should keep in mind?
21:44:47evanDefiler: not that I can think off hand
21:44:49brixentarcieri: I thought reia had mutable state, or you were thinking about that?
21:45:15Defilerevan: I like it when my opinion of something after reading the code matches the one on the top of your head.
21:45:25evan:)
21:45:44tarcieribrixen: It supports rebinding. State is still immutable.
21:45:55brixentarcieri: ahh gotcha
21:46:19tarcieribrixen: and actually it doesn't support rebinding yet... but I have a branch where I'm working on a pass of the compiler to convert code with multiple assignment to SSA form
21:46:33tarcieribrixen: in SSA form the code is still functionally "pure"
21:46:41brixenmakes sense
21:47:58dgtizedevan: but that function is there, it's just complaining about the signature
21:48:27ezmobius leaves the room.
21:49:41evandgtized: hm.
21:51:21dgtizedagain, I don't think the first error is the issue, because it's not even like it's bleeding into other files, every single test is unable to load some of it's dependencies
21:51:31dgtizedand complains bitterly about all the missing ones
21:52:00dgtizedif it's just the first error then I can just poke around to find that, but the catastrophic dependency problems otherwise are what concern me
21:53:05ezmobius enters the room.
21:56:09dgtized- TS_ASSERT(om.valid_object_p(obj->klass));
21:56:09dgtized+ TS_ASSERT(om.valid_object_p(obj));
21:56:13dgtizedI swapped that out
21:56:22dgtizedin test_objectmemory.hpp
21:56:33dgtizedand that fixed the one error that everyone seems to focus on
21:56:55dgtizedit's not complaining that valid_object_p is being passed a Class instead of an Object
21:57:20dgtizedonce I add that fix anyway
21:58:45DefilerThe test does a cast to (Class*) that seems sketchy to me
21:59:51evanDefiler: thats not the test though
21:59:57evanthe test is checking that obj's class is valid.
22:00:34DefilerYeah I know
22:00:39dgtizedanyway, none of that really matters, the real issue is there are another 2410 lines of errors that appear to be caused purely due to zenspider ripping out the wrong set of dependencies for a stricter compiler
22:00:57Defilerbut when that wacky Class*&&&*** thing was appearing, it was accessing the variable that was cast to (Class*)
22:00:59drbrainI'm working on the dependency problems introduced in field_extract.rb
22:01:28dgtizedDefiler: it's complaining that Class *& is being used when it has an Object *
22:02:20dgtizedthe *& is a misnomer, that doesn't really matter it's mostly just that it's being passed a Class instead of an Object
22:04:08DefilerRight
22:04:18pastie enters the room.
22:04:21DefilerWhat I'm saying is that if that cast wasn't there, it would be happy
22:04:24DefilerIt seems to me
22:04:41dgtizedwhat would be happy the test, or everything else?
22:05:03evanwhat cast?
22:05:04DefilerThe test. I think this is a test error, not a code-under-test error
22:05:24dgtizedI switched it from doing that assert on obj->klass to obj and that made that part happy, but I still got 2400 lines of errors from all the forward declaration problems
22:05:37evandgtized: thats wrong
22:05:41Defilerline 304 in test_objectmemory.hpp
22:05:44Defileris the cast in question
22:05:48evanall you've done is make the test wrong
22:06:01evanDefiler: thats technically fine for the test (the cast)
22:06:04evantry doing
22:06:05dgtizedevan: ok, so here, I will just delete that test, to make sure it's not that test effecting things
22:06:12evanClass* real_class = obj->klass;
22:06:22evanom.valid_object_p(real_class)
22:06:25evandgtized: hell no you won't.
22:06:33evanoh just ther.
22:06:42evanwell, that doesn't really solve anything
22:06:45dgtizedevan: I'm not going to permently delete, just comment out to make sure it's not bleeding
22:06:50evanok
22:07:15dgtizedright, I just did that, and I still get 2412 lines of errors from forward declaration problems and the like
22:07:15DefilerYeah. Class* should be totally fine given the OBJECT signature of valid_object_p
22:07:19Defilerweird error
22:08:04dgtizedso that test has NOTHING to do with the rest of the errors, so please can we ignore that one and look at the problems after that?
22:10:06evanwhat does gcc --version report for you?
22:10:18dgtizedgcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
22:10:25evank
22:10:34evancause I don't get that class thing here I don't think
22:10:42evandebian, 4.2.4
22:11:16dgtizedso you don't get any forward declaration problems with 4.2.4 at all?
22:11:21BobFunkmm enters the room.
22:11:25evandgtized: no, i do
22:11:33evanbut I don't get the Class*& error.
22:11:40dgtizedoh
22:12:23evanhuh
22:12:33evanlooks like zenspider didn't add any deps to the tests
22:12:38evannot sure why the work at all on darwin.
22:12:46DefilerI'm running gcc version 4.3.1 20080626 on one of my boxes. Is that one that we would expect to see these failures under?
22:12:58evanlike test_float.hpp doesn't include builtin/float.hpp
22:13:15drbrainwhy didn't it in the first place?
22:13:31evanwhats it?
22:13:34dgtizedprolly cause it was in object.hpp or something
22:13:49evandgtized: because it was included in objects.hpp
22:13:55evaner. drbrain: ^^
22:14:11drbrainvm/test/test_float.hpp should have had an include for float.hpp from the beginning
22:14:34evandrbrain: ok, but that doesn't help us right now.
22:14:54evancause they did work
22:14:56evanand now they don't.
22:15:05jgre__ leaves the room.
22:16:03dgtizedin builtin/float.hpp he also migrated the include for builtin/object.hpp and type_info.hpp from inside of namespace rubinius to outside of it
22:16:55evandgtized: that's fine.
22:17:04evanthose header files declare the namespace anyway
22:18:17dgtizedk
22:18:40dgtizedI just wondered if some of the forward decl problems were from delcaring some thing inside the rubinius namespace, and other things not?
22:19:20evanhuh. something else is up.
22:19:22evanon linux
22:19:25evanbecause it's not allowing
22:19:26evanOBJECT o = Object::i2n(3)
22:19:39evandgtized: it would
22:19:45evanwhere do you see forward decl's outside the namespace?
22:20:13dgtizedevan: I'm not sure, I haven't seen it explicitely it just seemed like something to look for
22:20:50dgtized/vm/test/test_regexp.hpp:27: error: incomplete type ‘rubinius::String’ used in nested name specifier
22:21:00dgtizedisn't nested name specifier a complaint about that?
22:21:03dgtizedor am I misinterpreting?
22:21:07evanhm.
22:21:08evandunno.
22:21:35DefilerWhich rev of gcc do you have again, dg?
22:22:31evanoh
22:22:33dgtizedgcc 4.2.3
22:22:36evanhm, in the regexp case
22:22:47evanit seems like it's complaining because rubinius::String is only a forward decl
22:22:53evanthe header file is never included for string
22:23:11evanwe never call methods on a String* though
22:23:23evanbut i guess darwin is smarter/looser about that than linux
22:23:24evani'm guessing
22:23:54dgtizedthe header for for string is never included where?
22:24:03evanin test_regexp.hpp
22:24:14evanor in any headers it includes
22:24:22evanit was included via builtins.hpp before
22:24:28evanbut builtins.hpp is gone
22:25:09evanok
22:25:11evanthats the problem
22:25:19dgtizedah -- when i added #include "builtin/string.hpp" just below builtin/regexp include on test_regexp that fixed the regexp forward decl errors
22:25:41evandarwin lets you use an type that is forward decl'd anywhere, so long as you don't deref it
22:25:44evanlinux doesn't
22:25:54evanso on darwin
22:26:03evanString* str = blah();
22:26:10evanworks fine if String is just a fwd decl
22:26:13evanbut blows up on linux
22:26:33dgtizedah
22:26:43dbussinkwell, more like blows up on a more recent and stricter gcc ;)
22:26:50evanright.
22:26:55Defilerman LLVM takes a while to compile
22:27:10evananother problem with fwd decl's of classes is that they don't include their inheritance info
22:27:14Defilereven on my beloved Linux archive 2.6.25-ARCH #1 SMP PREEMPT Mon Jul 14 14:56:27 UTC 2008 x86_64 Intel(R) Core(TM)2 Duo CPU E7200 @ 2.53GHz GenuineIntel GNU/Linux
22:27:41evanso darwin lets you use them softly, but linux gets really confused using a type that is only fwd decl'd
22:27:44evanie
22:27:47evanclass Fixnum;
22:27:56evanOBJECT o = Object::i2n(3);
22:28:03evanObject::i2n returns a Fixnum* type
22:28:10DefilerWhat's the point of supporting forward decls if they don't work? That seems odd
22:28:13evanbut the compiler doesn't know that Fixnum is a subclass of Object
22:28:16evanand thus it complains.
22:28:31evanDefiler: they work in the simplest capacity only
22:28:37DefilerShouldn't type analysis happen after all the files and whatnot have been preprocessed?
22:28:55evanthat is in the signature of a method
22:29:05evanattempting to do anything else seems to confuse the hell out of g++
22:29:11DefilerAah
22:29:17AndrewO leaves the room.
22:29:44dgtizedthere are also some complaints about using rubinius::String in some cases that demand a const char *
22:29:45evani'm still not sure why darwin lets ya get away with the using just fwd decls
22:29:49evanbut anyways.
22:30:01evanthe tests just need to have the actual headers for the types they use included in them.
22:30:07dgtizedevan: I've added two includes and fixed some errors, working my way back up the list
22:30:21evandgtized: ok, you'll need to just continue to do that
22:30:25evaneventually you'll get to the top
22:31:01Defileraha -Wold-style-declaration
22:31:24benburkert leaves the room.
22:31:35bricolage leaves the room.
22:34:17drbrainin field_extract, should it skip generate_mark if generate_sets is empty?
22:34:19bricolage enters the room.
22:34:22drbrainthat doesn't seem to make sense
22:34:28Defileraha
22:35:15Defilerevan: http://gist.github.com/4282
22:35:35DefilerIs that likely to be the source of the trouble, or just another symptom?
22:36:22Defilerhttp://gcc.gnu.org/gcc-4.3/porting_to.html
22:36:43evandrbrain: looking
22:38:06dgtizedugh -- I think that's only part of the problem maybe each of the tests really just need to include every builtin?
22:38:07evandrbrain: hm
22:38:22evandrbrain: I think I did that as just a brain dead way to know if marks would generate any data
22:38:26evandrbrain: it's fine to remove it
22:39:20evandgtized: they don't need to include all of them
22:39:43evanDefiler: looks like just more fun.
22:42:29DefilerI just removed 'static' from all the partial specializations and I no longer get that error
22:42:58Defilerwhich gets me through to this: http://pastie.org/248808
22:43:44w1rele55 leaves the room.
22:45:43evanwhich error?
22:46:14DefilerThe one I pasted at gist (4282)
22:46:14BobFunkmm leaves the room.
22:46:30evanoh rawr.
22:46:32evanstupid gcc
22:46:52DefilerWell it builds now after these changes
22:47:07evanok
22:49:05aotearoa enters the room.
22:49:07evani pretty well get template specialization
22:49:21evanbut I must not understand at all how g++ wants to store them
22:49:53drbrainha, found an awesome bug in field_extract.rb
22:50:38Defilerevan: I think what is going on is that they wanted to ban changing the storage class in a specialization
22:50:43Defilerand in so doing, they banned repeating yourself
22:51:01evanDefiler: ok, I can certainly understand that
22:51:05evandrbrain: oh?
22:51:54drbrainin the parser there was if mapped = @type_map[type] then type = mapped else type = type end; ...; add_field ..., mapped, ...
22:52:08drbrainso if @type_map hadn't filled in yet, it would be nil
22:52:13drbrainor, didn't have a mapping
22:52:17DefilerI get this now: http://gist.github.com/4286
22:53:12Defilerwith this diff: http://gist.github.com/4287
22:53:37lorenzod8n enters the room.
22:54:22moofbong leaves the room.
22:54:34evanDefiler: you're doig this on 4.3 i'm assuming?
22:54:41DefilerYes
22:55:03evanok, you're not at the point where the proper headers aren't included
22:55:08evandrbrain: hm.
22:55:13Defilerhttp://pastie.org/248816.txt
22:55:22Defileris my gcc -v
22:55:57evandrbrain: that seems like the correct behavior
22:56:33drbrainon line 356ish?
22:56:36drfreezeAnyone here have a link to the 1 line wiki written in ruby?
22:56:59drbrainyou wouldn't have the else there if you really wanted to use mapped
22:57:35benburkert enters the room.
22:57:59drbrainalso, I don't understand what the name[0] == ?* is about
22:58:05drbrainthe regexp can't match that
22:58:10evanchecking if it's a pointer
22:58:24evanso it can strip the *
22:58:27drbrain* isn't in \d\w_
22:58:40evansomeone changed the regexp then
22:58:42evanand not that code.
22:59:26evandrbrain: ok, i see on mapped
22:59:34evanif @type_map[type] is nil
22:59:40evanwe still pass that nil through to add_field
22:59:43evanwhich is probably wrong.
22:59:48drbrainyeah
22:59:52drbrainI switched it to type
22:59:56drbrainwhich is correct
23:00:00evank
23:00:08edwardam_ enters the room.
23:00:19dgtizedevan: ok I fixed everything except that first *& error
23:00:32edwardam leaves the room.
23:00:38evandgtized: does pull it out as a seperate declaration fix it?
23:00:38dgtizedI still find it weird that every other instance of valid_object_p is testing obj and not obj->klass
23:00:53evandgtized: read the name of the test.
23:01:07dgtizedMaybe if I just type cast it back?
23:01:20evandid you try what I said earlier?
23:01:27evanClass* real = obj->klass;
23:01:33evanvalid_object_p(real)
23:01:36evantry that.
23:02:07dgtizedbut valid_object_p takes an Object, not a Class
23:02:13evanClass < Object
23:02:16evanso thats fine.
23:02:24evanoh ya know what
23:02:25evancrap.
23:02:26evani know
23:02:27evanput
23:02:32evan#include "builtin/class.hpp"
23:02:33evanat the top
23:02:36evani'll bet that fixes it
23:02:39evanthis is the same thing
23:02:46evang++ doesn't realize that Class is a subclass of Object
23:03:10AndrewO enters the room.
23:03:20dgtizedyup that fixed it
23:03:38dgtizedthe weird thing is, the dependencies still aren't clean
23:03:59dgtizedbecause test_task.hpp uses Array but doesn't need to include it but it's happy about that
23:04:11evanhrm.
23:06:09wmoxam enters the room.
23:06:42dgtizedwe should probably graph the dependencies and remove uneeded links
23:06:58evansure
23:07:26drbraindgtized: rake debug:graph
23:07:49gramosGuys, Where are you documenting the libs required to _run _ rubinius?
23:07:58dgtizedzenhacks?
23:08:11drbrainto get graph.rb
23:08:31thehcdreamer leaves the room.
23:08:51Defilergramos: README should have that info. The answer is 'not much, assuming it builds on your platform'
23:09:02dgtizedugh my gem installed is messed up since I added gems.datamapper.org as a repo and now it's missing
23:09:03DefilerWhich, as we are seeing, is not guaranteed ha ha
23:09:08gramos:)
23:09:21Defilerdgtized: do you have a ~/.gemrc ?
23:09:21drbraingem sources -r gems.datamapper.org
23:09:29dgtizedyea just did that
23:09:36headiusshouldn't zenspider clean up the broken deps stuff?
23:09:49evannah
23:09:50Defilerheadius: He's on jury duty, so his availablity is intermittent
23:09:53evanit just needs to be cleaned.
23:10:01evanknowledge specialization == bad.
23:10:03DefilerAlso, we act with one will in here
23:10:03gramosI going to add LIBC6 >= 2.4
23:10:14headiusgenerally if someone breaks something we make them fix it
23:10:20drbrainI'm getting a new failure in TestObject::test_clone
23:10:27evanheadius: he didn't really break it
23:10:28dgtizedheadius: but it was holding up enough people it just needed to be fixed
23:10:32evang++ did.
23:10:35headiusavoiding knowledge specialization doesn't mean cleaning up other people's wreckage usually
23:10:41dgtizedevan: he did, because he didn't check enough platforms
23:10:42DefilerYeah, this is gcc 4.3 spreading its dark wings
23:11:03evandgtized: we have to be careful where we cut that line though
23:11:05drbrainI'm still saying it was broken to begin with
23:11:14evandgtized: i'm not testing every commit on multiple platforms
23:11:18evanand silly too
23:11:31gramosWe should have a section "requirements for _run_ rubinius"
23:11:31drbrainbut, it may be cxxtest's fault for not having independent compilation of suites
23:11:31evandrbrain: probably, but that position still doesn't help.
23:11:34headiusjust curious
23:11:36dgtizedyea, but a big compiler order change like that should be more cautiously applied I should think
23:11:42headiusseems like a lot of hassle
23:12:06dgtizedanyway, I installed ZenHacks, and rake debug:graph still is looking for it
23:12:09evandrbrain: if you're trying to rub my nose in it, I got it.
23:12:22fbuilesv enters the room.
23:12:26imajes enters the room.
23:12:46dgtizedevan: on a seperate note, I still can't run all of the vm tests once they compile
23:12:56dgtizedevan: since it still can't recognize the particular function name
23:13:01evanhrm.
23:13:01evanok.
23:13:18dgtizedso the linking is still wrong as well somewhere
23:15:02dgtizedhttp://gist.github.com/4290
23:18:28anonuser leaves the room.
23:18:54dgtizedugh -- alright so I added all these includes, but now as I go back and remove some of them it works fine
23:18:54qrush enters the room.
23:19:16dgtizedso something got added somewhere that was necessary, and was bleeding
23:19:31dgtizedsome of them are necessary though
23:23:53bricolage leaves the room.
23:24:31keisukefukuda enters the room.
23:29:25headius leaves the room.
23:32:00evanarg.
23:32:02evanwtf.
23:32:15evantype_info isn't being generated correctly again.
23:32:47drbrainevan: wait about 1 minute
23:32:52evanok.
23:33:39evanoh, I should find an Ical calendar with all the olympics event TV times
23:34:26wmoxam leaves the room.
23:34:28robin_dewd enters the room.
23:35:25anonuser enters the room.
23:36:01CIA-20* Wire up thread_new primitive; 2ce7ba9 - Eric Hodel
23:36:01CIA-20* Implement Thread#run and hook up thread_run primitive.; 656a4b0 - Eric Hodel
23:36:02CIA-20* Ensure that test_instructions.hpp is included in runner.cpp generation. Fix generation of various bits from field_extract.rb Improve readability of ...; ecc013d - Eric Hodel
23:36:21evandrbrain: sweet.
23:36:27evanupdating
23:36:46drbrainthat fixes the phantom tests, too
23:36:53evansweet.
23:36:54drbrainthe 60-odd that disappear and reappear
23:37:02evanyeah, mine reappeared
23:37:04evanwhat was up?
23:37:12drbrainI picked up an extra failure in object_clone
23:37:27drbrainvm/test/test_instructions.hpp is generated
23:37:49evanyep
23:37:51drbrainso if you ran `rake clean; rake` it would not have appeared when the glob was resolved
23:37:52evanand it wasn't being?
23:38:00evanhm.
23:38:26evanwhats gen/includes.hpp?
23:38:33drbrainthe dependency that created it was invoked after FileList[] was expanded
23:38:41drbrainit replaces your order stuff
23:38:53evanzenspider nuke that
23:38:55evanI thought
23:39:12drbrainthere's a list of stuff headers that field_extract.rb needs to read in now
23:39:15drbrain-stuff
23:39:23evanwhere is that list?
23:39:32drbrainI don't like it, but next time I meet up with zenspider we'll figure out how to do it right
23:39:37drbrainin the rakefile
23:39:40drbrainvm.rake
23:39:47evanoh, it's embedded in there.
23:39:53evanok.
23:40:00drbrainyeah, and field_extract.rb now generates it
23:40:08evanwhy do we need gen/includes.hpp?
23:40:17evani thought we had everything cleaned up with the real deps
23:40:45drbrainyes, but makedepend only spits out information on .o files
23:40:59evani still don't get why we need gen/includes.hpp
23:41:15drbrainso I'm not sure if there's a way to say "compiledmethod.hpp depends on executable.hpp"
23:41:30drbrainI'm hoping it is only temporary
23:41:34evano
23:41:35evank
23:41:58drbrainmakedepend can say "compiledmethod.o depends on executable.hpp"
23:42:03drbrainbut not .hpp => .hpp
23:42:08evanyep
23:42:24evani still don't see how thats related to gen/includes
23:42:46evancourse, i only see gen/includes.hpp used 2 places
23:42:52evanprimitives.cpp and type_info.cpp
23:43:13drbrainthose files use just about every built-in object
23:43:42drbrainso either we embed this list of every builtin in three places (vm.rake, type_info.cpp, primitives.cpp)
23:43:49drbrainor have it in one and spit out the others
23:43:53evanah, gotcha.
23:43:55drbrainso that they both occur in the right order
23:44:06evanyou're trying trying to DRY up having to include every builtin header
23:44:08drbrainthose two files depend on all the builtins
23:44:14evans/trying trying/just trying/
23:44:15drbrainyes
23:44:54drbrainI think with some cleverness field_extract_headers in the rakefile could be automatically filled in
23:45:02drbrainbut I don't know how much cleverness is required
23:45:14evansure
23:45:29evanthats why field_extract used that stupid regexp against a header file
23:45:32drbrainpreviously objects.hpp was included in type_info.cpp and the other
23:45:37drbrainthis is an equivalent
23:45:46drbrainyep
23:45:49evandid objects.hpp get deletede?
23:45:58drbrainsame concept, differently actuallised
23:46:03drbrainactualized
23:46:07drbrainno, it got gutted
23:46:08evanok
23:46:12evanwe should rename it
23:46:19evanor finish moving everything out of it
23:46:26drbrainyeah
23:52:01enebo leaves the room.
23:56:21dgtizedok there is definitely bleed through of dependencies between each test in the test directory
23:56:25moofbong enters the room.
23:56:44dgtizedsome of them I can strip it down to just the test file include thing and it's happy, and others I have to include specific files
23:56:56drbrainyes, since they all end up in one big C file
23:57:10evanyep
23:57:22evanoh, that reminds me
23:57:24dgtizedwell then why do we have individual file includes on the tests at all?
23:57:28evanwe should check the order that they're included
23:57:36evanif it's using the filesystem order
23:57:38evanthats the problem
23:57:45evandarwin == alphabetical
23:57:48evanlinux == random
23:57:57dgtizedwhy not just have one single include file at the top of all the tests?
23:57:58evanwell, thats probably part of the problem
23:58:05dgtizedfor just the tests
23:58:12evancause thats not how cxxtest works.
23:58:45dgtizedbut it's slowly including each of those files anyway
23:58:56dgtizedso the later the test, the more of those files ahve already been included
23:59:38evanright
23:59:47evanwhich is why we should check the order that they're included in runner
23:59:54evanso that it's stable
23:59:59dgtizedoh