00:05:25 -!- segv- [~mb@95-91-241-45-dynip.superkabel.de] has quit [Remote host closed the connection] 01:21:47 Krystof: and you're right, the aver is redundundant 01:34:24 slyrus [~chatzilla@107-1-159-131-ip-static.hfc.comcastbusiness.net] has joined #sbcl 01:41:03 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 256 seconds] 01:49:21 -!- Bike [~Glossina@67-5-239-215.ptld.qwest.net] has quit [Ping timeout: 248 seconds] 01:51:11 Bike [~Glossina@174-25-51-29.ptld.qwest.net] has joined #sbcl 01:52:09 -!- ASau [~user@p5797F654.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 01:52:52 ASau [~user@87.151.246.84] has joined #sbcl 01:55:27 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 01:55:59 drmeister [~drmeister@pool-71-185-168-200.phlapa.fios.verizon.net] has joined #sbcl 02:04:07 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 252 seconds] 02:05:32 Hydan`` [~hydan@ip-89-103-110-5.net.upcbroadband.cz] has joined #sbcl 02:07:23 attila_lendvai [~attila_le@92.47.189.202] has joined #sbcl 02:07:23 -!- attila_lendvai [~attila_le@92.47.189.202] has quit [Changing host] 02:07:23 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 02:08:47 -!- Hydan` [~hydan@ip-89-103-110-5.net.upcbroadband.cz] has quit [Ping timeout: 252 seconds] 02:18:48 -!- drmeister [~drmeister@pool-71-185-168-200.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 02:21:23 Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has joined #sbcl 02:39:06 -!- christoph4 [~christoph@ppp-188-174-86-199.dynamic.mnet-online.de] has quit [Ping timeout: 264 seconds] 02:52:21 christoph4 [~christoph@ppp-188-174-93-255.dynamic.mnet-online.de] has joined #sbcl 03:03:04 -!- Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 03:03:46 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 03:04:04 attila_lendvai [~attila_le@92.47.189.202] has joined #sbcl 03:04:04 -!- attila_lendvai [~attila_le@92.47.189.202] has quit [Changing host] 03:04:04 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 03:04:06 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Client Quit] 03:04:29 Guest22221 [~attila_le@92.47.189.202] has joined #sbcl 03:05:41 -!- Guest22221 is now known as attila_lendvai1 03:05:49 -!- attila_lendvai1 [~attila_le@92.47.189.202] has quit [Changing host] 03:05:49 attila_lendvai1 [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 05:05:49 *|3b|* gets "Failure: load.impure.lisp / PARALLEL-FASL-LOAD" after a few runs of tests 05:13:43 benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has joined #sbcl 05:24:50 sdemarre [~serge@133.83-64-87.adsl-dyn.isp.belgacom.be] has joined #sbcl 05:25:47 -!- benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 05:28:33 -!- psilord [~psilord@c-69-180-173-249.hsd1.mn.comcast.net] has quit [Ping timeout: 248 seconds] 05:30:52 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #sbcl 05:31:17 -!- sdemarre [~serge@133.83-64-87.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 248 seconds] 05:39:48 <|3b|> running just load.impure.lisp in a loop failed once after 350 times 05:41:00 <|3b|> 2 of the three threads got "R2: The function COMMON-LISP-USER::TWO-FUN is undefined." 05:41:34 *|3b|* notes that the error calls both r2 and r3 R2 05:43:15 psilord [~psilord@c-69-180-173-249.hsd1.mn.comcast.net] has joined #sbcl 06:05:26 benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has joined #sbcl 06:19:36 prxq [~mommer@mnhm-5f75eec9.pool.mediaWays.net] has joined #sbcl 06:38:25 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has quit [Ping timeout: 248 seconds] 06:39:58 -!- Bike [~Glossina@174-25-51-29.ptld.qwest.net] has quit [Remote host closed the connection] 06:40:24 Bike [~Glossina@174-25-51-29.ptld.qwest.net] has joined #sbcl 06:44:45 -!- benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has quit [Read error: Connection reset by peer] 06:50:22 benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has joined #sbcl 06:52:52 johnc [~johnc@61.135.169.73] has joined #sbcl 06:58:06 teggi [~teggi@113.173.4.86] has joined #sbcl 07:04:01 -!- johnc [~johnc@61.135.169.73] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- In tests, 0x09 out of 0x0A l33t h4x0rz prefer it :)] 07:04:14 -!- benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 07:10:51 -!- attila_lendvai1 [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 07:29:43 stassats [~stassats@wikipedia/stassats] has joined #sbcl 07:34:57 -!- brucem [~bmitchene@waywardmonkeys.com] has quit [*.net *.split] 07:44:24 attila_lendvai [~attila_le@87.247.13.177] has joined #sbcl 07:44:24 -!- attila_lendvai [~attila_le@87.247.13.177] has quit [Changing host] 07:44:24 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 07:49:20 brucem [~bmitchene@waywardmonkeys.com] has joined #sbcl 07:55:04 what's the point of having both define-source-transform funcall and deftransform funcall ((function &rest args) * *)? the second never seem to be triggered 07:59:06 -!- jdz [~jdz@85.254.212.34] has quit [Quit: Byebye.] 08:02:07 jdz [~jdz@85.254.212.34] has joined #sbcl 08:08:04 -!- jdz [~jdz@85.254.212.34] has quit [Remote host closed the connection] 08:11:33 jdz [~jdz@85.254.212.34] has joined #sbcl 08:16:38 *stassats* also sees no point in legal-fun-name-p which just does (values (valid-function-name-p name)) 08:52:09 attila_lendvai1 [~attila_le@87.247.13.177] has joined #sbcl 08:52:09 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Disconnected by services] 08:52:09 -!- attila_lendvai1 [~attila_le@87.247.13.177] has quit [Changing host] 08:52:09 attila_lendvai1 [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 09:19:29 -!- scymtym__ [~user@ip-5-147-122-209.unitymediagroup.de] has quit [Ping timeout: 256 seconds] 09:36:18 stassats: the second one comes because (I think) of uncertainty around designing the extension to valid function names 09:36:26 is it public? What is the interface? etc 09:48:51 *stassats* is not sure that having (defun (defmacro x) ()) is a good idea 10:07:21 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Quit: Leaving.] 10:22:48 -!- yacks [~py@180.151.36.168] has quit [Read error: Connection reset by peer] 10:24:16 -!- danlentz [~danlentz@c-68-37-70-235.hsd1.nj.comcast.net] has quit [Remote host closed the connection] 10:35:41 davazp [~user@213.37.200.68.dyn.user.ono.com] has joined #sbcl 10:43:51 danlentz [~danlentz@c-68-37-70-235.hsd1.nj.comcast.net] has joined #sbcl 10:45:19 you want both a source transform and an ir1 transform to let the transform happen as early as possible 10:46:21 because the ir1 transform machinery involves some slow and heavy duty IR1 frobbing to convert full calls back into useful known calls. 10:47:03 but i can't make up a form which would invoke the transform 10:47:19 if you want to trigger it early, why not just leave the source transform? 10:48:37 because sometimes the ir1 transform is needed 10:49:06 e.g. (let ((foo ...)) (funcall foo ...)), or inlined higher-order functions 10:50:59 the let goes through the source transform 10:52:53 and i actually don't understand what the transform transforms the code into, `(lambda (function ,@arg-names) `(%funcall ,(ensure-lvar-fun-form function 'function) ,@arg-names)), who calls this lambda? 10:53:20 that's what transform do: they return a lambda form that's ir1-converted and called instead of the transformed function. 10:54:06 there's a convenience thing where, if you return a non-lambda form, you get wrapped in a lambda + ignorable (you can return declarations as a second return value) 10:54:24 ok, that part is now clear 10:55:29 make the let-bound form more complex, e.g. so that it depends on type analysis and DCE to have a known value, and you'll need the ir1 transform 10:59:50 i can see that %coerce-callable-to-fun can have both 11:01:06 the only way for the ir1-transform to get triggered, is not to expand the source-transform 11:01:26 %coerce-callable-to-fun does that, but the funcall one just always goes to %funcall 11:03:42 *stassats* inserts a break and tries to compile a lot of code 11:09:49 (funcall funcall ...) and that sort of stuff 11:13:42 -!- davazp [~user@213.37.200.68.dyn.user.ono.com] has quit [Read error: Connection reset by peer] 11:13:49 -!- automaciej [~automacie@cl-1008.ham-02.de.sixxs.net] has quit [Ping timeout: 245 seconds] 11:15:07 automaciej [~automacie@quinoa.blizinski.pl] has joined #sbcl 11:28:36 no success so far 11:28:40 or rather, no failure 11:30:57 notinline, maybe. 11:31:27 notinling funcall just makes a full call 11:32:06 maybe my selection of libraries is thin, i'll try to compile everything in quicklisp 11:32:37 you're not likely to see the sort of strange control flow necessary for the deftransform in the wild. 11:33:01 ISTR something about forms returned by ir1 transform not always going through source transforms. 11:33:35 well, if another transform returns a call to funcall, maybe, but when would that happen? 11:33:52 (i compile sbcl with the break there) 11:33:56 compiled 11:40:02 on #+win32, why does USER-HOMEDIR-PATHNAME use (sb!win32::get-folder-namestring sb!win32::csidl_profile) but USER-HOMEDIR-NAMESTRING does not? 11:40:31 i think, this can lead to a TYPE-ERROR on Windows when the HOME envvar is not set 11:43:23 yacks [~py@180.151.36.168] has joined #sbcl 11:43:30 davazp [~user@213.37.200.68.dyn.user.ono.com] has joined #sbcl 12:13:07 oops, the random tester reached up to my changes too 12:35:24 drmeister [~drmeister@pool-71-185-168-200.phlapa.fios.verizon.net] has joined #sbcl 12:35:38 gah, made a typo in "subtype" and it should have been supertype 12:35:41 -!- davazp [~user@213.37.200.68.dyn.user.ono.com] has quit [Remote host closed the connection] 12:39:07 -!- drmeister [~drmeister@pool-71-185-168-200.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 12:42:23 huh, (defconstant error 25) => success 12:49:16 11.1.2.1.2 doesn't say you can't do that, but it's a good way to mess things up 12:58:36 all other implementations seem also to allow it, but it doesn't make any sense to block from defining special variables, but allow constants to go 12:59:14 especially since it breaks any otherwise portable code which uses ERROR as a lexical variable 13:01:03 all other don't seem to have package locks for variables either, but lispworks signals errors on both constants and variables 13:03:09 (cl-gearman, which does that very thing, breaks a half of other systems) 13:14:25 segv- [~mb@95-91-241-83-dynip.superkabel.de] has joined #sbcl 13:22:31 wbooze [~wbooze@xdsl-78-35-137-140.netcologne.de] has joined #sbcl 13:23:23 nyef [~nyef@c-50-157-244-41.hsd1.ma.comcast.net] has joined #sbcl 13:23:31 G'morning all. 13:40:29 drmeister [~drmeister@farnsworth.chem.temple.edu] has joined #sbcl 13:56:34 rpg [~rpg@216.243.156.16.real-time.com] has joined #sbcl 13:58:55 Odyessus [~odyessus@089144192114.atnat0001.highway.a1.net] has joined #sbcl 14:09:13 -!- Odyessus [~odyessus@089144192114.atnat0001.highway.a1.net] has quit [Quit: Colloquy for iPad - http://colloquy.mobi] 14:44:22 -!- attila_lendvai1 [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 15:08:41 -!- Vivitron [~Vivitron@pool-98-110-213-33.bstnma.fios.verizon.net] has quit [Ping timeout: 252 seconds] 15:15:13 -!- slyrus [~chatzilla@107-1-159-131-ip-static.hfc.comcastbusiness.net] has quit [Ping timeout: 248 seconds] 15:22:57 *stassats* sees a lot of special variables in the compiler, which appear to be unused 15:23:13 *code-vector* *next-location* *result-fixups* *continuation-number* *continuation-numbers* 15:24:15 scratch the last two 15:26:24 slyrus [~chatzilla@23-25-20-209-static.hfc.comcastbusiness.net] has joined #sbcl 15:31:45 -!- teggi [~teggi@113.173.4.86] has quit [Remote host closed the connection] 15:31:51 stassats: Nice catch. I wouldn't entirely be surprised if they weren't used in CMUCL either. 15:32:07 that's correct, just checked 15:32:28 the build succeeds without them 15:33:17 those three were on the same line, perhaps they are related and were removed some time ago 15:33:26 i need to find csv logs for cmucl 15:34:13 google for "cmucl git mirror" returns repo.or.cz/w/sbcl.git 15:35:03 and "SBCL" is highlighted 15:36:02 Looking at the cmucl git that I have locally, the last commit to touch that line is from commit fa542ac2. by "pw", "Change most PROCLAIMs to DECLAIMs." 15:36:22 Don't look for a mirror, look for their master source repository. 15:36:28 yeah, already found 15:36:53 despite google being unhelpful 15:37:15 i guess it's right, who would want to use cmucl anyway 15:38:00 rtoy? 15:38:17 yeah, except rtoym 15:39:26 Now that you have access to the CMUCL source, you too can be horrified by the garbage collectors. (-: 15:40:04 i had cmucl sources already, just a snapshot 15:40:18 useful for bug archaeology 15:43:02 found it 15:45:37 -!- slyrus [~chatzilla@23-25-20-209-static.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 15:46:13 http://common-lisp.net/gitweb?p=projects/cmucl/cmucl.git;a=blobdiff;f=compiler/main.lisp;h=fb04e72da9d479f79e301da4128bb061513f42e7;hp=bfc8fa9cb86c12752a39d140545de011491c5300;hb=76b5e40b38bd9783170844c5900e7bb1869ae1db;hpb=9b2a483feb196a95a39c0070868353fa3e268c01;js=1 15:46:43 looks like it was renamed 15:47:00 on 24 Aug 1990 15:47:53 or rather, changed how it works, *code-segment* replaced the three of them 15:48:06 Yeah, was just catching up to that. 15:48:49 Very good find for once we're out of code freeze (or are we out of freeze already? I've been too busy to pay attention...) 15:49:00 ok, almost 13 years 15:49:04 we're not yet 15:49:31 don't know what prompted me to grep that variable 15:49:56 ah, i was grepping for "fixup" first 15:50:20 found *result-fixups*, tried to see where it leads 15:50:47 and a good thing that we're not out of the freeze, Eric Marsden keeps finding bugs 15:51:06 regressions, specifically 15:54:17 23 years. 15:54:35 of course 15:54:55 brucem: Yeah, our BCD carry flag is broken. 15:55:26 it was so easy to calculate dates from the 90s, it's stuck 15:56:07 and 23 years is more impressive than 13 15:56:35 the previous unused thing i removed was just 9 years old 15:57:17 now, compiling a half of quicklisp, i still couldn't trigger the FUNCALL deftransform 15:59:09 *stassats* already has 5-6 commits to be cleaned up and go after the freeze 15:59:23 mostly trivial things, though 16:00:14 would a transform for constant folding encode-universal-time when possible be useful? 16:00:39 Just declare it inline? 16:00:58 it will increase code size 16:01:02 FUNCALL deftransform? 16:01:29 nyef: yes, funcall has both define-source-transform and deftransform, and i can't figure how to trigger the latter/why is it there 16:02:15 i didn't actually get the idea for folding encode-universal-time from real code, just saw that it can be done 16:02:31 and now i'm not sure whether it's worth it 16:03:33 grepping some third party sources, it can be used, maybe not in a hot path 16:03:49 the most often is (encode-universal-time 0 0 0 1 1 1970 0) 16:03:57 most frequent 16:05:27 ok, that settles it, I'll add it 16:09:55 many variables in the compiler can be replaced by defglobal 16:10:51 Does defglobal work for cross-compilation from a non-SBCL build host? 16:11:25 i presume it'll just make it an ordinary special 16:11:32 yes, in cross-misc.lisp 16:11:47 because it's already used 16:30:12 *stassats* should institute a prize of some sort for anybody who can come up with a piece of code which triggers the funcall deftransform 16:30:32 or can prove that it can't happen 16:32:29 easy-iPad [~easyipad@61.Red-2-137-44.dynamicIP.rima-tde.net] has joined #sbcl 16:40:24 I suspect that it might not be able to happen, but I can in no way prove it at this point. 16:43:58 davazp [~user@213.37.200.68.dyn.user.ono.com] has joined #sbcl 16:44:19 even if i expand another transform into funcall, it still goes through the source-transform 16:45:10 what if %coerce-callable-to-fun is made a static function 16:45:26 it's used quite often 16:50:53 Please be aware that some platforms have a bit of a limit for how many static objects they can address. 16:51:27 how many or how large? 16:51:34 both? 16:52:03 It's actually a constraint on how much of a displacement they can generate from NIL. 16:53:13 Keeping in mind that, if I recall correctly, NIL has LIST-POINTER-LOWTAG, and most of the related objects have OTHER-POINTER-LOWTAG. 16:53:55 Oh, and in some cases we try to hit a slot within one of the static objects directly, such as the function-raw-addr of an fdefinition. 16:55:12 it's offset by 3 here 16:56:43 *stassats* is wondering a way where %coerce-callable-to-fun (something else in reality) can actually call the function 16:56:56 probably won't work well with argument passing 17:03:48 attila_lendvai [~attila_le@92.47.189.202] has joined #sbcl 17:03:48 -!- attila_lendvai [~attila_le@92.47.189.202] has quit [Changing host] 17:03:48 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 17:07:43 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Client Quit] 17:08:33 leuler [~user@p548FC5BC.dip0.t-ipconnect.de] has joined #sbcl 17:10:56 the only thing i can think of is returning the address, not the fdefn 17:36:07 so, making it static saves 1 byte in the code, removes a constant, becomes very slightly faster 17:38:07 Vivitron [~Vivitron@pool-98-110-213-33.bstnma.fios.verizon.net] has joined #sbcl 17:38:41 -!- easy-iPad [~easyipad@61.Red-2-137-44.dynamicIP.rima-tde.net] has quit [Quit: Outta here?] 17:39:32 (apply x y) could probably use a %coerce-callable-to-fun which calls it, since it's the arguments are already in a list 17:51:33 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 248 seconds] 17:58:43 -!- davazp [~user@213.37.200.68.dyn.user.ono.com] has quit [Remote host closed the connection] 18:19:34 don't think replacing specials with globals is such a good idea. It'll just complicate things when someone tries to make the compiler re-entrant. 18:26:17 yeah, thought about that, but some things which really won't be rebound can go 18:28:42 -!- milosn_ is now known as milosn 18:28:43 it's even more true for symbols that will have to be bound to NIL to allow things to be GCed, rather than simply undoing a special binding. 18:29:19 i'm more about tables which are static 18:29:51 like *backend-template-names*, etc. 18:29:52 you don't need a deftransform for constant folding 18:29:54 Bike_ [~Glossina@75-164-170-20.ptld.qwest.net] has joined #sbcl 18:29:56 just defknown 18:30:15 foom: encode-universal-time can't be constant folded just like that 18:30:40 it depends on the timezone argument, and on the year, if it's 0-99 18:30:59 oh, crud, I hate APIs that do shit to years when they're 0-99. 18:31:22 -!- Bike [~Glossina@174-25-51-29.ptld.qwest.net] has quit [Ping timeout: 252 seconds] 18:31:36 I seem to have one of those in my codebase too. :( 18:32:12 -!- Bike_ is now known as Bike 18:32:17 It's a terrible terrible thing to do, because it's nearly impossible to tell what code is depending on the current time. 18:32:46 it's more for interactive things, i would suppose 18:33:54 It's for handling 2-digit years in various data formats. 18:34:58 i mean that you can't defer the handling, i.e. handle it now, then it's deterministic 18:35:12 (unless done around the new year's eve) 18:37:13 I once tried to untangle the usage of current time from the code, and gave up before finishing trying to track down everything that might decode a time with a 2 digit year. 18:37:38 handling time-zones is as tricky 18:37:46 especially with dst 19:05:41 *|3b|* left load.impure.lisp running overnight, out of 2000 runs, it got a total of 2 failures, one mentioned above in parallel-fasl-load, and another apparently in same test that just stopped there and got "Invalid exit status: load.impure.lisp" 19:05:59 <|3b|> running just that test in a loop didn't seem to fail after 10k tries 19:13:05 some static functions aren't annotated in disassembly, because they aren't present in sb-fasl:*assembler-routines* 19:13:43 "no problem, says i, i'll just go through *static-funs* and call static-fun-offset" 19:14:17 only that now i have to know the value of NIL, and it has a different name for all backends, and the offset may be not from NIL at all 19:14:46 But you know what NIL is for each backend, surely? 19:15:04 LiamH [~none@pool-173-48-164-128.bstnma.fios.verizon.net] has joined #sbcl 19:16:14 i mixed up null-tn with nil-value in my head 19:16:21 yeah, nil-value seems to be common 19:20:35 ok, that seems to work 19:20:52 http://arxiv.org/abs/1305.5800 has really interesting numbers on contention handling for compare-and-swap. 19:21:09 i can also annotate safepoints checking that way as well 19:27:52 -!- leuler [~user@p548FC5BC.dip0.t-ipconnect.de] has quit [Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)] 19:29:06 rebroadcast: TEST AL, [#x200FF000] ; safepoint looks nicer 19:32:41 *stassats* doesn't know what else to tweak 19:33:28 nyef: btw, non-consing sleep would go in after the freeze 19:33:51 Why not detect that specific combination of arguments to TEST and replace the whole thing with SAFEPOINT ? 19:34:10 i like looking at real code 19:35:04 s/real/actual/ 19:35:20 avoid arm and ppc ;) 19:35:40 maybe one can do that from the binary instructions, i can't 19:36:45 for some reason, i can't do CALL [static-address] directly 19:36:52 goes to a memory fault 19:39:13 and it should be sign-extended in this case 19:39:16 shouldn't be 19:39:59 you're calling the address stored in static-address. 19:40:42 by [] i meant ea 19:41:37 sdemarre [~serge@109.134.148.136] has joined #sbcl 19:41:44 that's what it is 19:41:50 tried it again, now it seems to work 19:41:57 you only have absolute indirect calls and direct relative calls 19:42:20 maybe i tried it before with something else 19:46:34 the comment says ;; Need to load the target address into a register, since ;; immediate call arguments are just a 32-bit displacement, ;; which obviously can't work with >4G spaces., but if the address is in the upper half, wouldn't that matter anyway (i may be utterly confused) 19:49:17 the real issue isn't sign extension as much as the fact that it's a *displacement*, not an address 19:50:06 ah, ok, what from is it displaced? 19:50:19 address of the next instruction 19:51:07 even for far calls? 19:51:20 (no) 19:56:28 so, CALL QWORD PTR [#x201011B8] should only worry about sign extension? 19:56:59 some OSes have flags to mmap pages in the lower 32 bit. Other ABI/loader combos have tricks to make calls to nearby (within +/- 2GB) addresses quick at the expense of some trampolines for calls to far-away pages 19:57:54 And who's going to have a code segment larger than 2GB anyway? 19:57:58 replacing MOV RAX, [#x201011B8] CALL RAX with CALL QWORD PTR [#x201011B8] appears to work 19:58:35 are static function guaranteed to be less than 32 bits? 19:59:13 -!- LiamH [~none@pool-173-48-164-128.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 19:59:16 They're guaranteed to be in static space. Anything beyond that is, presumably, not guaranteed. 19:59:37 We assume the address of NIL and T are < 2 GB, but that's it. 19:59:42 well, the vop can check and decide what to use 19:59:50 right. 20:00:15 maybe using a function 20:00:45 nyef: C++, add some huge static data members, etc. it seems *plausible*. 20:11:43 so, static funs have just a pointer to the function in the static space, and assembly routines actually live in the static space? 20:16:38 -!- redline6561 [~redline65@li69-162.members.linode.com] has left #sbcl 20:16:46 redline6561 [~redline65@li69-162.members.linode.com] has joined #sbcl 20:17:50 sounds right. 20:18:38 if this is where you're going: yes, it would be possible to prefix each assembly routine with its address, and thus enable call [assembly-routine-prefix] 20:19:02 no, i was just trying to understand things 20:19:23 i guess i tried to do call [routine] previously, and it failed 20:20:28 and this explains it. i don't think adding prefixing is worth it, just for space savings 20:24:06 using R11 for temporary isn't optimal, since for it takes more to encode 20:25:04 i'll leave this to the person who will be doing register allocation 20:28:54 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #sbcl 20:38:43 ASau` [~user@p5797E91E.dip0.t-ipconnect.de] has joined #sbcl 20:42:16 -!- ASau [~user@87.151.246.84] has quit [Ping timeout: 252 seconds] 20:51:12 yeah... I don't know what to think about temp-reg-tn. 21:00:45 -!- ASau` is now known as ASau 21:01:57 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 248 seconds] 21:07:18 Quadrescence [~quad@unaffiliated/quadrescence] has joined #sbcl 21:09:44 fisxoj [~fisxoj@c-24-12-190-29.hsd1.il.comcast.net] has joined #sbcl 21:10:59 -!- nyef [~nyef@c-50-157-244-41.hsd1.ma.comcast.net] has quit [Quit: G'night all.] 21:15:08 LiamH [~none@pool-173-48-164-128.bstnma.fios.verizon.net] has joined #sbcl 21:20:51 -!- sdemarre [~serge@109.134.148.136] has quit [Ping timeout: 256 seconds] 21:21:20 -!- psilord [~psilord@c-69-180-173-249.hsd1.mn.comcast.net] has quit [Quit: Leaving.] 21:47:17 benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has joined #sbcl 21:49:19 oh wow... our >/< VOPs seem to assume the constant argument is second... but we can't guarantee that at all. 21:55:12 -!- drmeister [~drmeister@farnsworth.chem.temple.edu] has quit [Remote host closed the connection] 22:03:30 -!- maxm [~user@openchat.com] has quit [*.net *.split] 22:08:10 -!- benkard [~benkard@mnch-5d868f73.pool.mediaWays.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 22:09:39 drmeister [~drmeister@166.137.104.76] has joined #sbcl 22:10:15 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Quit: This computer has gone to sleep] 22:19:58 maxm- [~user@75.99.81.170] has joined #sbcl 22:22:20 Quadrescence [~quad@unaffiliated/quadrescence] has joined #sbcl 22:25:37 -!- LiamH [~none@pool-173-48-164-128.bstnma.fios.verizon.net] has quit [Ping timeout: 248 seconds] 22:33:39 -!- drmeister [~drmeister@166.137.104.76] has quit [Remote host closed the connection] 22:35:24 LiamH [~none@pool-173-48-164-128.bstnma.fios.verizon.net] has joined #sbcl 22:44:03 -!- LiamH [~none@pool-173-48-164-128.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 22:46:00 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Quit: This computer has gone to sleep] 22:50:03 -!- segv- [~mb@95-91-241-83-dynip.superkabel.de] has quit [Remote host closed the connection] 23:14:04 -!- Hydan`` is now known as hydan 23:23:00 -!- prxq [~mommer@mnhm-5f75eec9.pool.mediaWays.net] has quit [Remote host closed the connection] 23:32:39 drmeister [~drmeister@pool-71-185-168-200.phlapa.fios.verizon.net] has joined #sbcl 23:37:46 milosn_ [~milosn@user-5af502ec.broadband.tesco.net] has joined #sbcl 23:41:01 -!- milosn [~milosn@user-5af5072d.broadband.tesco.net] has quit [Ping timeout: 276 seconds] 23:42:45 milosn [~milosn@user-5af502ee.broadband.tesco.net] has joined #sbcl 23:42:58 -!- milosn_ [~milosn@user-5af502ec.broadband.tesco.net] has quit [Ping timeout: 276 seconds] 23:44:47 -!- maxm- is now known as maxm 23:47:17 Quadrescence [~quad@unaffiliated/quadrescence] has joined #sbcl 23:58:43 -!- wbooze [~wbooze@xdsl-78-35-137-140.netcologne.de] has quit [Read error: Operation timed out]