00:00:00 --- log: started forth/21.05.13 01:10:36 --- join: pbaille_ joined #forth 01:10:54 --- quit: pbaille (Ping timeout: 240 seconds) 02:21:55 --- quit: dave0 (Quit: dave's not here) 02:31:31 --- join: f-a joined #forth 02:44:19 create, var, const, :, and ; work now. IT'S ALIVE!!! 02:45:20 The drawing board code for create was completely right as written. I made a couple of errors transcribing into my source, so I still got to do some debugging. But it's still nice that it was right to start with. 03:15:20 --- join: gravicappa joined #forth 04:53:19 --- join: tech_exorcist joined #forth 05:10:33 --- quit: f-a (Ping timeout: 240 seconds) 05:12:48 --- join: f-a joined #forth 05:22:56 --- join: MrMobius joined #forth 05:32:55 --- quit: xek (Remote host closed the connection) 05:34:54 --- join: xek joined #forth 06:34:27 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 06:34:35 --- join: Zarutian_HTC joined #forth 07:06:28 --- quit: proteus-guy (Ping timeout: 240 seconds) 07:19:24 --- join: proteus-guy joined #forth 07:36:06 --- quit: Zarutian_HTC (Ping timeout: 252 seconds) 07:52:40 --- join: Zarutian_HTC joined #forth 08:04:33 --- quit: tech_exorcist (Quit: tech_exorcist) 08:05:50 --- join: tech_exorcist joined #forth 08:50:34 --- join: Zarutian_HTC1 joined #forth 08:50:35 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 09:12:31 --- quit: f-a (Ping timeout: 260 seconds) 09:14:23 --- join: f-a joined #forth 10:56:33 --- quit: jess () 11:06:20 --- quit: xek (Remote host closed the connection) 11:09:27 --- nick: Zarutian_HTC1 -> Zarutian_HTC 11:09:31 --- join: xek joined #forth 11:09:55 --- quit: xek (Remote host closed the connection) 11:10:34 --- quit: mtsd (Ping timeout: 240 seconds) 11:27:40 So, I've been thinking today about profiling. It seems like a good use for plentiful memory. My idea is to allocate a memory region that assigns a 32-bit (or 64-bit if necessary) counter for every definition cell in my system. The offset into the table will be equal to or computed from the location of the cell in the system. 11:28:02 Then I profile by modifying NEXT to include code to increment the counter associated with each cell it executes. 11:28:40 So that will show me where I'm spending my time - I can go to one of those cells, see where it points, and cross correlate the information after collecting it if I want to. 11:29:03 It's hard for me to see how there would be any information more detailed than that. 11:29:32 Every time NEXT fetches the contents of a cell, that cell's counter gets a bump. 11:30:12 an execute heatmap basically 11:30:13 And my NEXT lives in a fixed location anyway - it would be trivial to slap a jump in there to an alternative NEXT and restore the original contents when I was done. 11:30:18 Right. 11:30:21 Good phrase. 11:30:33 I like it because it seems EASY. 11:30:41 And no overhead when I'm not profiling. 11:31:17 you can do the same with @ for read heatmap and ! for write heatmap 11:31:28 I would be able to know what ranges of cells corresponded to my "application," and I could study only those if I wanted to. 11:31:36 Indeed. 11:31:43 And BLOCK. 11:33:19 If I had a mixture of SSD and spinning disk storage, I could gradually migrate hot storage regions to the SSD. 11:34:07 do not where I saw it but there was an emu/simu-lator that had this kind of feature of colouring the memory view with all three or one of the aforesaid heatmaps 11:34:08 The write heat map might reveal cache false sharing problems. 11:34:25 --- part: f-a left #forth 11:35:02 Anyway, I will probably try this out. 11:46:05 It feels to me like it will be ample raw data, but I'll need to postprocess in a way that's informative. 11:46:35 But that should be straightforward - we of course know exactly where our definitions sit in memory. 12:55:34 --- quit: gravicappa (Ping timeout: 265 seconds) 13:09:46 --- quit: TangentDelta (*.net *.split) 13:10:01 --- join: TangentDelta joined #forth 13:12:58 --- quit: lispmacs[work] (Ping timeout: 265 seconds) 14:09:56 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 14:50:45 --- join: dave0 joined #forth 14:51:12 maw 14:52:48 Afternoon, dave0. 14:52:53 hey KipIngram 15:00:01 --- quit: tech_exorcist (Quit: tech_exorcist) 15:16:08 --- join: Lord_Nightmare joined #forth 15:27:25 So I had a little bug in the compiler. Remember that bit I added to the headers that triggered compilation of an offset back to the start of the word if it's set? Well, when it goes and finds the location of the start of word, it gets an offset. I needed to convert it to an address by adding base address. I failed to do the @ from the variable that's stored in. 15:27:39 Go directly to segfault - do not pass go. 15:28:00 I had the @ in the code on the drawing board; I just neglected to copy it into the assembly file. 15:28:48 First thing I confirmed when troubleshooting it was that I could manually patch the right jump offset into that cell and then everything would work. 15:40:58 --- quit: proteus-guy (Ping timeout: 260 seconds) 15:52:53 --- join: proteus-guy joined #forth 16:02:26 --- quit: pbaille_ (Remote host closed the connection) 16:03:28 --- quit: Zarutian_HTC (Ping timeout: 240 seconds) 16:06:32 --- join: Zarutian_HTC joined #forth 16:07:25 --- quit: joe9 (Quit: joe9) 16:54:03 --- join: pbaille joined #forth 16:58:33 --- quit: pbaille (Ping timeout: 246 seconds) 17:16:03 --- quit: proteus-guy (Ping timeout: 260 seconds) 17:27:43 --- join: proteus-guy joined #forth 18:31:28 --- quit: Zarutian_HTC (Ping timeout: 240 seconds) 18:40:31 --- join: boru` joined #forth 18:40:34 --- quit: boru (Disconnected by services) 18:40:36 --- nick: boru` -> boru 18:42:50 --- join: Zarutian_HTC joined #forth 18:54:57 --- join: pbaille joined #forth 18:59:47 --- quit: pbaille (Ping timeout: 252 seconds) 19:07:58 --- join: joe9 joined #forth 19:25:38 --- quit: sts-q (Ping timeout: 252 seconds) 19:27:41 --- join: sts-q joined #forth 19:42:22 --- join: pbaille joined #forth 19:46:33 --- quit: pbaille (Ping timeout: 246 seconds) 19:53:38 --- join: LispSporks joined #forth 19:59:06 --- join: pbaille joined #forth 20:03:34 --- quit: pbaille (Ping timeout: 240 seconds) 21:02:40 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 21:02:53 --- join: gravicappa joined #forth 21:45:39 --- quit: sts-q (Quit: ) 21:46:05 --- join: sts-q joined #forth 22:15:44 --- join: pbaille joined #forth 23:15:05 --- join: LispSporks joined #forth 23:15:06 --- quit: LispSporks (Client Quit) 23:19:33 --- quit: pbaille (Ping timeout: 265 seconds) 23:59:59 --- log: ended forth/21.05.13