Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
neerajsi
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
91.
▲
by
neerajsi
5y ago
Can you give a concrete example? Cache coherency is almost never the right thing to think about with shared memory concurrency. It's all about interleaving of instruction execution and possible reordering of memory reads or writes. If
92.
▲
by
neerajsi
5y ago
You might not be considering the big picture. If the extra register is used in a callee that wasn't inlined, that slot on the stack will be free to be reused by other callees that aren't inlined. So inlining into a function with m
93.
▲
by
neerajsi
5y ago
The optimization exists in MSVC, LLVM, and GCC. It's called "shrink wrapping". MSVC may do it more aggressively when profile information is available. See https://github.com/gcc-mirror/gcc/blob/
94.
▲
by
neerajsi
5y ago
No. Most of the kernel is in C. Some parts have been in very light c++ since the 2000s.
95.
▲
by
neerajsi
5y ago
Seems like this whole idea would be easy enough to test. Just compile something like the Linux kernel this way and see if it's actually better.
96.
▲
by
neerajsi
6y ago
The ls/st instructions take a large amount of encoding space for all the addrmodes. I don't think the rcpc instructions and other acq/rel instructions were given the same encoding space.
97.
▲
by
neerajsi
6y ago
In the embodiment I've seen, it's a ARM M-class core with some special crypto hardware and certain registers that allow the use of crypto keys without software running on the core ever seeing the key. There's a communication
98.
▲
by
neerajsi
6y ago
Does ld_preload work for static binaries?
99.
▲
by
neerajsi
6y ago
More importantly, the customers of the cpu vendors use benchmarks to evaluate potential chip suppliers, and Js benchmarks are near the top of the list for ARM now. Everyone from the OS vendor to the compiler authors to ARM itself are lookin
100.
▲
by
neerajsi
6y ago
I look at a fair amount of disassembly. One tip to understand something complex in the debugger is to skip to callsites if they are available in the interesting part of the code. The compiler usually has to put values in conventional locat
101.
▲
by
neerajsi
6y ago
MSVC does have this optimization. It has 3 sections: 'live', 'sick' (referenced, but uncommon), 'dead' (unreferenced in the profile).
102.
▲
by
neerajsi
6y ago
I'm clearly not as deep as you in the reading of Aristotle (though I did read Nietzsche's BGE a long time ago). However, I'd point out the distinction from an ethics course I took between 'descriptive' ethics and &#
103.
▲
by
neerajsi
6y ago
An alternate way to look at the problem is that perhaps we should be doing a better job of educating our children to absorb the existing state of knowledge. The hope would be that they are prepared to contribute new ideas before their naive
104.
▲
by
neerajsi
6y ago
My read of his comment is that fruitful research was historically done by people within the aristocracy after their fundamental needs for comfort were met.
105.
▲
by
neerajsi
7y ago
Let's say you started with a well factored set of code that is managed within your organization. What advantage is there to having multiple repos if you're not limited by your tools? Refactoring is easier within a single repo...
106.
▲
by
neerajsi
7y ago
That's a really easy one for compilers to detect. They start with the OR as the root and look backward to recognize the shifts and subtract.
107.
▲
by
neerajsi
7y ago
I agree that this is not a very well-written article in that the terms are not well-defined. I think the self-transforming mind is a more useful concept: https://medium.com/@NataliMorad/how-to-be-an-adult-kegans-th... .
108.
▲
by
neerajsi
7y ago
I'm confused by this post, but I'm an ex-dev on the NT kernel. ResumeThread is a well documented API. As is TerminateJobObject. The one thing I find a bit baroque is the recently added way to make sure a process is in a job on cre
109.
▲
by
neerajsi
7y ago
I'd assume the simplest thing to do would be to flush the pipeline as if you had a branch mispredict, the interrupt can be delivered instead of an alternate branch target.
110.
▲
by
neerajsi
8y ago
On the Visual C++ team, we use natvis to show FE AST nodes. It works pretty well with a couple hours of investment in writing the natvis.
111.
▲
by
neerajsi
9y ago
Locksmiths can get into many locks that people use to secure their houses. That doesn't mean that I want them to share that knowledge widely.
112.
▲
by
neerajsi
9y ago
Reverse engineers pretty much know how everything in NT works. Msft publishes enough symbols that it's even possible to automatically decompile much of the code. Something like page table splitting would be obvious.
113.
▲
by
neerajsi
9y ago
Unrelated to protection: Ivan mentioned that this is an SSA-like architecture. How does the compiler implement PHIs connecting expressions with different latencies? Let's say I have: `if (cond) { x = a + b; } else { x = a * b; }` The
114.
▲
by
neerajsi
9y ago
Wrt smart peripherals, probably all it means is that you need an IOMMU if you don't want to have to trust your drivers.
115.
▲
by
neerajsi
9y ago
Yes, you will have a CAM, but the CAM for a PLB would likely be more expensive than a TLB, right? And today's TLBs are only a few hundred entries for the first level. The PLB would seem to necessitate many cycles for a load, longer cy
116.
▲
by
neerajsi
9y ago
I wonder how the PLB can be fast. You have a dictionary from byte range to permission. This is harder than TLBs, which map a relatively large granule where you can form a search key by just extracting the top bits from the virtual address.