Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
thedigitalengel
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
thedigitalengel
12y ago
In any case, Java's stack-based bytecode is really a register machine in disguise. It isn't a general stack machine -- for instance, at a given "PC" the shape of the expression stack (i.e. the number and "basic&quo
2.
▲
by
thedigitalengel
12y ago
Thank you for taking time out to comment! :) > But you said that the JMM guarantees that all reads in C_i - C_(i-1) > will see writes in C_(i-1); this means that C_3 which reads > `tuple.nonVolatileF` will see the write to that var
3.
▲
by
thedigitalengel
12y ago
> Should the first 'illegal' read legal? Well it depends. :) I did mean "illegal", though there certainly are many illegal transforms that look legal and vice versa.
4.
▲
Java Optimizations and the JMM
(playingwithpointers.com)
69 points
by
thedigitalengel
12y ago
|
5 comments
5.
▲
by
thedigitalengel
12y ago
Unfortunately, the solution ultimately proposed doesn't work in this case: int _a = 50; int result = min(num, _a); you end up expanding to "int _a = _a;" which creates a new int _a, and assigns it to itself.
6.
▲
by
thedigitalengel
12y ago
Thank you for taking out time to comment. :) > - It doesn't address how you decide which edges to speculatively > consider executable. > > - Optimizers intentionally do not play the "what if" game and try >
7.
▲
A Lattice for Speculative Data Flow Analysis
(playingwithpointers.com)
24 points
by
thedigitalengel
12y ago
|
3 comments
8.
▲
by
thedigitalengel
13y ago
(Disclaimer: I know nothing about Ruby, but I know some things about JIT compilers) Another way to handle this is to assume that Fixnum#+ hasn't changed when compiling a method that is using it (maybe add a check at method entry); but
9.
▲
by
thedigitalengel
13y ago
Related: https://github.com/sanjoy/bfjit (a brainfuck interpreter with a tracing JIT for hot loops).
10.
▲
Cantor's diagonal argument in Agda
(playingwithpointers.com)
1 points
by
thedigitalengel
13y ago
|
0 comments
11.
▲
by
thedigitalengel
13y ago
A quick solution involves starting at a corner, and placing each queen one horizontal and two vertical (a constrained knight's move, basically) away from the previous one. This works for an 8x8 board, but does not generalize to an NxN
12.
▲
The factorial number system
(en.wikipedia.org)
1 points
by
thedigitalengel
13y ago
|
0 comments
13.
▲
by
thedigitalengel
13y ago
I'm from the same place as the artagnon. Anti-weed laws are almost never enforced, and weed is incredibly cheap (you'll get enough weed to get 10 people stoned out of their minds for the price of a bottle of beer). And the ease
14.
▲
How Not to Measure Latency
(infoq.com)
1 points
by
thedigitalengel
13y ago
|
0 comments
15.
▲
by
thedigitalengel
13y ago
A "false" register dependency is a Write-after-read (WAR) [1]. As far as three address code making register renaming easier, I'm not sure what the author had in mind -- isn't `add $5, %rax` essentially a condensed form o
16.
▲
by
thedigitalengel
13y ago
For multiple functions taking different arguments you could exploit atexit's specified calling order data_t *global; int main() { atexit(callback); atexit(set_global_to_x); atexit(callback); atexi
17.
▲
by
thedigitalengel
13y ago
I don't know if this counts, but the linux kernel famously uses a JIT to filter network packets: https://github.com/torvalds/linux/blob/master/arch/x86/net/b...
18.
▲
by
thedigitalengel
13y ago
It isn't truly arch-independent till it assumes PARAMETER_CONSTANT and FUNCTION_CONSTANT will be stored as direct immediates in the generated code. On some archs, for instance, 0xFEEDBEEF might be too big a constant; and the compiler
19.
▲
by
thedigitalengel
13y ago
On llvm: http://llvm.org/docs/LangRef.html#trampoline-intrinsics
20.
▲
by
thedigitalengel
13y ago
Representing self is actually not that difficult or mind-bending; you just need a representation that is isomorphic to the program source. For instance, you could store the ASCII symbols in an integer array: int array = { ... } /&
21.
▲
Compiling λ
(playingwithpointers.com)
18 points
by
thedigitalengel
13y ago
|
1 comments
22.
▲
The Collie: A Wait-Free Compacting Collector
(lirmm.fr)
2 points
by
thedigitalengel
13y ago
|
0 comments
23.
▲
Biased Locking and Pthreads
(playingwithpointers.com)
9 points
by
thedigitalengel
13y ago
|
0 comments
24.
▲
Certified compilation in Agda
(playingwithpointers.com)
1 points
by
thedigitalengel
13y ago
|
0 comments
25.
▲
The Variable-precision SWAR Algorithm
(playingwithpointers.com)
6 points
by
thedigitalengel
14y ago
|
1 comments
26.
▲
A JIT Compiler for Brainf*ck
(playingwithpointers.com)
3 points
by
thedigitalengel
14y ago
|
0 comments
27.
▲
[pdf] IEEE Standard 754 and the explosion of Ariane 5
(intel.com)
2 points
by
thedigitalengel
14y ago
|
0 comments
28.
▲
by
thedigitalengel
14y ago
I was very lucky in the sense that I could participate in two Google Summer of Code programs. With some relevant experience, I'm now in a good position to get the exact kind of job I want (which also happens to be related to compilers /
29.
▲
Lock-free programming, first steps: mostly lock-free fixed-size vector
(playingwithpointers.com)
1 points
by
thedigitalengel
14y ago
|
0 comments
30.
▲
Peeking inside LuaJIT
(playingwithpointers.com)
5 points
by
thedigitalengel
14y ago
|
0 comments
More ›