- User Since
- Oct 13 2015, 11:36 PM (208 w, 5 d)
Tue, Sep 17
I would wonder if it makes sense to implement these in terms of cmpset operations on register-sized quantities in C with the appropriate arithmetic shifts, rather than doing the assembly sort of half by-hand. That's maybe less optimal, but do we have performance-critical 8- and 16-bit atomics in performance-critical areas? I've always been skeptical of smaller-than-register atomics and tend to resist them, so that may just be a personal bias. I can't speak to correctness beyond that.
May 26 2019
May 25 2019
I don't have any exceptionally helpful comments; the code looks fine, but I haven't given it the review it deserves.
Mar 16 2019
Feb 12 2019
Aug 23 2018
Aug 22 2018
This seems straightforward, reasonable, and sufficient. Longer-term, I'd wonder about some sort of arithmetic approach here rather than this kind of hand-scaling?
Aug 20 2018
Fixes from first round appear complete.
Aug 18 2018
Jul 25 2018
Apr 16 2018
Did we come by that as a NetBSDism? Looks good to me.
Apr 15 2018
Please destroy it, and while there double-check usedness of various other support.S functions if you haven't already. The amount of cruft has steadily fallen throughout the port, and the odds of unused things is probably higher than when I last did a pass. Thank you so much!
Mar 28 2018
Mar 7 2018
Feb 3 2018
I take full blame, and acknowledge spending too much time in code with -G0, and thus being somewhat lazy about gp's treatment.
Jan 31 2018
Strong approve; this is a great improvement. Thank you!
Jan 30 2018
I'd concur, and I had already pared down from NetBSD some in what's in that file when fixing various ABIs, IIRC, and I think it's reasonable to remove other things that are wrong or misleading.
Jan 24 2018
Jan 12 2018
Also, lib/libc/mips/gen/makecontext.c uses its own constants, and should likely be pulled out of the conditional, after subtracting enough registers' worth o' room.
Jan 11 2018
Also fix alignment in cpu_set_upcall in vm_machdep.c?
Jan 10 2018
This seems acceptable and correct within what's currently present. I feel like a unified macro for these sets of flags is really needed, to simplify the code and ensure consistency in checks, but as an incremental improvement this looks good. Thanks!
Apr 4 2017
Awesome, thank you for implementing it in the right place! And we're confident this doesn't produce any referential loops, right? Where builtin_ctz would generate a call to ffssi2?
Mar 21 2017
This looks reasonable, but I share the confusion about correctness. It seems like this should be in libgcc generally. I know we spoke about this, but I've forgotten; can you remind me why libgcc isn't providing this symbol?
Feb 9 2017
Jan 20 2017
Added @pkelsey as a reviewer because I didn't realize it would *assign* to him, and rather wanted to invite his comments. Given the work he's done on promiscuous sockets, with a fairly widely-deployed codebase, I think his insights would be meaningful on these changes. The principle seems about right to me here, but I'm not sure about some of the specifics.
Jan 6 2017
Jan 4 2017
This looks good to me, though it'd be nice to see the default ISA thing resolved or confirmed. I also do favour collapsing the target emulation stuff more as possible, but it's not worth holding this up.
Nov 28 2016
Oct 11 2016
Sep 16 2016
May 29 2016
Jan 29 2016
Jan 14 2016
Oct 13 2015
I've done this for years in a proprietary product based on FreeBSD and can't imagine going back. The ill effects are few and mostly easy to diagnose, being only about as strange as the things you encounter when you're pretty sure /usr/local is in the search path, but it turns out that it isn't for obscure reasons. Or when badly-behaved configure scripts, etc., won't let you add it. While I sort of morn the loss of more strange BSD conservatism, this is such an obvious reality that I cannot possibly bring myself to tolerate the idea that we should keep going. Users should not have to care about how things were in the mid '90s. An increasing number of them weren't even born yet. System compilers search the default location of local additions and packages.