freenode/#clasp - IRC Chatlog
Search
17:10:09
drmeister
I don't know - I don't use lldb from this build so it doesn't matter? Maybe it makes the build a little faster?
17:13:09
drmeister
And gdb and udb. The python extensions are designed to work with all of them. No small feat and still highly experimental.
17:13:56
drmeister
There's a customized compatibility class for each of the debuggers and the extension works with the compatibility class.
17:19:33
drmeister
A really annoying thing about the debugger python extensions is that I can't seem to reload them when I'm in a debugging session. I have to shut the whole debugging session down and start over to load changes.
17:20:41
drmeister
@"__clasp_gcroots_in_module*9" = internal global { i64, i8*, i64, i64, i8**, i64 } zeroinitializer
17:21:33
drmeister
If all the fields are zero or NULL then it changes the initializer to 'zeroinitializer'. That probably means I can initialize large arrays with zero without expanding the size of bitcode files.
18:06:56
drmeister
I've changed the name of CONTAB to __clasp_literals to reflect its purpose better.
18:45:29
frgo
drmeister: Sorry to bother you again. I have llvm12 now built and installed. Now I am fighting with waf configure. LLVM_CONFIG_BINARY points to the correct binary. I still get Exception: You must have clang/llvm version 12 installed - you have 1 ...
18:47:33
frgo
I do exactly what drmeister does. Installed as same target in path /opt/llvm-project-tot.
18:51:06
cracauer
I also had to set LD_LIBRARY_PATH to include the llvm lib dir, but that is a different error message.
19:00:37
frgo
Found my issue. LLVM_VERSION_OVERRIDE needs to be set to True for llvm12. Otherwise wscript's version check fails.
19:03:59
drmeister
That's just short hand for "I mess around a lot on my system and forget to keep track of what I'm doing".
19:06:01
drmeister
frgo: Can you post the entire message that started with: "I still get Exception: You must have clang/llvm version 12 installed - you have 1 ..."
19:08:30
drmeister
raise Exception("You must have clang/llvm version %d installed - you have %s" % (LLVM_VERSION, cur_clang_version.split('.')[0]) )
19:12:32
drmeister
And if I change LLVM_VERSION to 12 ./waf configure works fine. And I suspect it won't work fine for you.
19:13:22
drmeister
Ok, now maybe that is the correct behavior and I have the wrong version of llvm - let me check that.
19:14:26
drmeister
See, there is what llvm I built in my development directory and then there is the llvm installed in /opt/llvm-project-tot
19:14:43
drmeister
What do you get with /opt/llvm-project-tot/bin/llvm-config --version??? I get 12.0.0git
19:16:10
drmeister
They must have changed the version of llvm in just the last few hours and I didn't install it in /opt/llvm-project-tot yet - so I didn't hit it.
19:16:41
drmeister
frgo: This is my bad - but it happened because llvm has been updating in the last couple of days and I didn't keep up.
19:18:00
frgo
I have been away for several months from all this. The f•cking Russian hackers almost stopped my dayjob company and I had to fight to get our data back.
19:20:46
drmeister
Because this is going to track the latest 12.x features that in the next couple of weeks should gain the JITLink/linux fixes
19:22:11
drmeister
Sorry about the confusion - I should have nailed this down correctly earlier. I've got a lot on my mind at the moment.
19:23:53
drmeister
Ok, so I've (1) pulled llvm from github (2) git checkout release/12.x (3) building and installing it in my /opt/llvm-project-tot directory (4) building clasp 'future' branch using that.
19:49:25
drmeister
Next week I'm going to buy one or two shares of GME because I like the stock and I fully expect to lose my investment.
20:15:23
drmeister
cracauer: Is there anything wrong with copying an entire source tree including git directory to another directory name?
20:25:08
cracauer
it's also useful to preserve last-written time so that you can see what you touched since the copy.
20:47:37
frgo
hm - now, when doing ./waf configure, I get: "err: ld: library not found for -lSystem" with gmp being tested during configure. Woe. I thought that worked. I am using the right llvm 12 now.
21:26:42
drmeister
You built in the past - perhaps something is hanging around. If you had a separate machine that had not built clasp before - you should be able to build on there.
21:27:28
frgo
Yes I am installing all libs via homebrew. I've not yet built successfully on Big Sur.
21:38:15
drmeister
I've built clasp on a couple of systems using exclusively homebrew packages - so I think it's working.
21:38:30
drmeister
If homebrew upgraded something and that broke the build - I'd very much like to know that.
21:39:02
luni
ok but maybe it depends from the processor anyways... maybe new version are fully sipported
21:40:17
luni
yes on catalina there were no issue at all but after the update i messed up a lot of things
21:45:04
drmeister
It's on the net. I have so many freakin' computers here. My 12 year old self is so excited.
21:55:15
drmeister
Re: WSB - once I realized that the WSB thing was about sticking it in the eye of Wall Street parasites it became a moral imperative to join in.
22:13:45
drmeister
That's a side-show. The game is GME. This explains it better: https://www.reddit.com/r/wallstreetbets/comments/l8izo3/beware_those_who_are_shilling_other_stocks/
22:18:23
drmeister
This is why I prefer to invest in myself and my people. But this looks like a protest and I have a soft spot for protests.
22:20:45
Bike
from what i can tell it's more like some bored stock traders on reddit are milking redditors in more or less a ponzi scheme. the reactions calling for social media to ban talking stocks or whatever are pretty funny though.
22:21:12
drmeister
Anyway, don't look to me for investing advice :-) I'm about to throw some money down a hole for a "principle".
22:22:33
drmeister
I'm sure after this that investment houses are going to start hiring "meme directors".
3:59:19
drmeister
I've been slowly working on the GCing of code. I just kicked the supports out from under the code and ObjectFile_O objects are being garbage collected but Code_O objects are not.
3:59:52
drmeister
Something is holding on to them - I'll have to write a tool to track ownership of objects back to roots.
4:00:18
Bike
hm, could it be other code? but i suppose they shouldn't be referring to each other directly
4:03:22
drmeister
It's also surprising how fast the system is. I expected it to get bogged down with all the code it has to slog through - but I don't notice any slowdown at all.
4:04:42
drmeister
I have a function (llvm-sys:release-object-files) - it zeros the linked list of object files.
4:04:58
drmeister
Then I do a GC and there is a cascade of object files that get finalized - but no code objects.
4:07:22
drmeister
ObjectFile_O objects point at Code_O objects. The Code_O objects are new - and nothing else should know about them let alone point to them.
4:08:13
drmeister
Oh wait ObjectFile_O objects have other raw pointers that I may be pointing at Code_O objects.
4:09:36
drmeister
If I clear the linked list of ObjectFile_O objects the ones that were being kept alive get collected.
4:10:00
drmeister
But their memory remains full of pointers to the Code_O objects so they remain alive.
4:10:22
drmeister
Until the old memory for ObjectFile_O gets overwritten the Code_O objects would remain.
4:38:32
Bike
let's see, we make irbuilders in... landing-pad, cmprunall, compintrinsics, cmpir, cmpeh, translate, arguments, codegen-special-form...
4:43:43
drmeister
It was the pointers in an ObjectFile_O - I removed them all except one Code_O pointer - and I zero that out in the ObjectFile_O dtor.
4:45:06
drmeister
Still there should be a 1:1 correspondence between ObjectFile_O collection and Code_O collection.
4:47:03
drmeister
This is with boehm. The interesting thing is that it should be safe to GC code all the time. Return addresses on the stack are interior pointers and should keep code alive.
4:47:48
drmeister
This isn't the case with MPS - it doesn't support interior pointers for non-moving objects.