freenode/#clasp - IRC Chatlog
Search
13:02:44
Bike
just in that they involve find-package and things that call it doing different things in different contexts
13:03:02
Bike
i haven't done the sicl genv packages in clasp yet because the reader is hard to modify in that way, is all
14:16:12
Bike
i guess because (setf class-name) has specific behavior that couldn't be used during startup
14:29:04
Bike
well what i was confused by was that we had a thing like class-name but called something else
14:29:25
Bike
i could change it to start with class-name and then redefine it later, but this has enough moving parts as is
14:55:55
Bike
probably because (setf class-name) isn't a slot writer, it calls reinitialize-instance
14:56:27
Bike
well, what i'm doing is cutting a bunch of shit out of that process, so i could try fixing that too
14:56:45
Bike
but it's less of a priority than what i really want to do, which is removing the old dispatchers
14:59:12
Bike
i think that the only functions that need to be satiated are the ones that you need during a dispatch miss, which there are only a few of
16:48:39
drmeister
https://usercontent.irccloud-cdn.com/file/NPjaZA5Q/cfg.CLASS-SLOTS%5ECLOS%5EFN%5E%5E.dot.pdf
16:50:47
stassats
accidentally discovered that rotating on the trackpad rotates the document in Preview
16:53:13
drmeister
Once we figure out how to set up fast methods we can pass registers directly to methods.
16:57:20
Bike
i'm stuck on some weird problem where it insists a function isn't bound, so that doesn't bode well for the actual fastgf part
17:36:29
shiho
drmeister: I got the error. assigning to 'double' from incompatible type 'translate::from_object<double>' this->_Atoms[i]._Charge = translate::from_object<double>(charge_vec->rowMajorAref(i));
17:36:32
drmeister
I added a comment about issue 380 - I think that symbolic link is correct in the instructions.
18:39:13
Bike
i can't really figure out where it's crashing. lldb just has fifty thousand frames of entry_point and, for some reason, funwind_protect
18:39:40
Bike
i uncommented the feature thing at the top of closfastgf but it doesn't seem to output anything
18:40:04
Bike
it's entry_point, three pointers, funwind_protect, another pointer, then entry_point again. ad infinitium.
18:40:48
drmeister
Ok, so the three pointers would be good to get symbol info on. There should be a file /tmp/clasp-symbols-xxxxx where xxxx is the pid.
18:41:19
drmeister
Yeah - would you like me to walk you through what debugging tools you have available to you here?
18:46:14
drmeister
I have the same debug configuration at the moment - I can show you on mine as well.
18:46:38
shiho
assigning to 'double' from incompatible type 'translate::from_object<double>' this->_Atoms[i]._Charge = translate::from_object<double>(charge_vec->rowMajorAref(i));
18:47:48
shiho
this->_Atoms[i]._Charge = translate::from_object<double>(charge_vec->rowMajorAref(i)); // charge-vector
18:59:21
drmeister
Change those lines to things like this: this->_Atoms[i]._Charge = translate::from_object<double>(charge_vec->rowMajorAref(i))._v;
19:30:56
shiho
drmeister: I could compile cando. But when I run read-amber-parm-format, the slime failed with the error "../../include/clasp/gctools/gcalloc.h:1299 Allocating WeakPointer with GC_MALLOC_ATOMIC TaggedCast<Type*,From*> failed due to an illegal cast To* = PN4core8Symbol_OE From* = PN4core3T_OE"
19:33:19
shiho
or this line (let ((energy-function (core:make-cxx-object 'chem:energy-function :stretch energy-stretch :angle energy-angle :dihedral energy-dihedral :nobond energy-nonbond :atomtable atom-table)
19:52:02
Bike
"Constructing call to intrinsic cc_dispatch_slot_reader_index - mismatch of arg#1 value[NIL], expected type #<POINTER-TYPE {}*> - received type COMMON-LISP::NULL
19:55:30
Bike
looks like the first time it tried to codegen-outcome with an optimized-slot-reader thingie
19:58:46
Bike
codegen-slot-reader has (irc-intrinsic-call "cc_dispatch_slot_reader_index" (list (jit-constant-size_t opt-data) (first (argument-holder-history arguments))))
21:03:15
drmeister
I'm confused about something -- FuncallableInstance_O vs CompiledDispatchFunction_O
21:03:52
drmeister
I 'evolved' the two classes to shoehorn fastgf into a system supporting ECL dispatch.
21:05:13
drmeister
Now that fastgf is taking over - things are different. What is the role of these two classes or (more likely) if CompiledDispatchFunction_O is torn out - how does FuncallableInstance_O take up the slack?
21:05:50
drmeister
FuncallableInstance_O inherits from Function_O - which is the base class of all function objects.
21:06:24
drmeister
Function_O has a 'entry' slot - that is a function pointer of the type that can be generally called within Clasp.
21:08:38
drmeister
Further, I think that set-funcallable-instance-function sets the 'entry' of a FuncallableInstance_O to the 'entry' of a Function_O object.
21:10:00
drmeister
Further, I'm starting to think I can get rid of the special functions for JITting dispatchers - I think they are now no different than regular JITted functions.