22:40:33drmeisterI wonder if clang would be able to figure out if I pass a constant to a function as in foo(false) and then deeper in if (first_arg) { ...} can be rewritten as if (false) { .... }
22:43:38drmeisterWell - then this costs me nothing if I duplicate core:make-vector and define a core:make-static-vector (which I'm doing right now)
22:43:49drmeisterStas - you are making me a better person.
22:44:13stassatsjust make sure the calle is marked inline, it might not decide to inline it on its own of it's too large
22:44:41stassats(and naming yourself "inline" in programming channels is brave)
22:45:12drmeisterTo really inline this properly we will have to move core:make-vector into Common Lisp so that type inference can get hold of it and elide out the unneeded cases at compile time - right?
22:45:49drmeisterYeah - that's how it would have to be set up.
22:46:05drmeisterWe are pretty close to being able to do this.
22:49:43drmeisterWe would expose all of these constructors and put them in a big COND
22:57:15drmeisterHmm, it only makes sense to have a separate core:make-static-vector - because they cannot be adjustable, they cannot have a fill-pointer and they cannot be displaced.
22:57:30drmeisterDoes it make sense to have a static bit-vector?
22:57:43drmeisterNo C code is going to recognize my bit layout - right?
23:00:48stassatswhat's your bit layout? there's only one bit layout