Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dumael
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
dumael
11y ago
Replying to GP comment and you as such. Hypothetically, (I'm not sure how widespread this technique is), some (Java) compilers turn heap allocations into stack allocations when they can prove that transitively an allocated object does
32.
▲
by
dumael
11y ago
Except card marking (this region of the heap was changed) is only one way of flagging changes. It's entire possible to instead record the address of objects unconditionally and then flag them as they are visiting during a generation.
33.
▲
by
dumael
11y ago
I have to completely disagree. Generation GC beats malloc/free in the case of 'all objects allocated on the heap' when: sizeof(survivors) + cost of traversing survivors pointer fields + rewriting the remembered set < trave
34.
▲
by
dumael
11y ago
You got me there. I do now recall staring at the disassembly of LLVM produced code (LLVM 3.0ish) and seeing pushs/pops.
35.
▲
by
dumael
11y ago
I'm almost positive that x86 doesn't really have special stack instructions, aside from call (push pc +sizeof(call)) onto $esp and jump. I know MIPS (and possibly other RISC architectures) don't have an implicit 'stack&#
36.
▲
by
dumael
13y ago
http://mirror.seize.it/report.html That report is quite old though and just compares compilers with the nofib benchmark. JHC can't compile repa as repa requires multi-parameter type classes which JHC doesn't suppo
37.
▲
by
dumael
13y ago
The DLG collector as used by Caml Light does what you describe. Updating an object in the global heap to point to a thread-local heap can cause unbounded work to be done before that update as the entire pointed-to structure has to be copied
38.
▲
by
dumael
14y ago
You can at best implement a mimicry of Erlang's message passing in Java. With sufficient effort, you can have the equivalent of no shared mutable data. What you cannot have is completely separate heaps, so that if one thread crashes for wha
39.
▲
by
dumael
15y ago
> I can see how it can be hard to prove an object is unreachable. The difficulty with concurrent GC is not to prove an object is unreachable but to prove is likely to be reachable. For instance Yusa-type (or snapshot-at-the-beginning)
40.
▲
by
dumael
15y ago
Concurrent GC is somewhat non-trival as the mutator (i.e. the program you write) can delete references to objects from an area of the heap that has not been examined by the GC and introduce references to those same objects in an area that h
41.
▲
by
dumael
15y ago
This article is sourced from Sorcia Faal ( http://www.whatdoesitmean.com/ ) who have an interesting set of 'news' articles. They're also claiming that the US released a bio-weapon in Germany, so take with a pinch (small asteriod) of salt.
42.
▲
by
dumael
16y ago
ARM doesn't provide modulus on any chips, division is available on ARM-7R and ARM-7M chips only.
43.
▲
by
dumael
16y ago
CAS is slow because it acts as a serializing instruction. If you depend on success or fail the instructions after it have to wait until it has been resolved. Also, the update has to be pushed out to the cache at least. So yes, slow but othe
44.
▲
by
dumael
16y ago
Eh, not if involves using the equivalent of PAE. 40bit addressing in that requires applications to utilize a window to use memory. And pointers get invalidated when the window is moved. Hurrah for CPU designers shoving immense workloads ont
45.
▲
by
dumael
16y ago
Eh, as long as you know/control the calling convention and control the compiler you can produce stack maps which allow you to identify pointers.
46.
▲
by
dumael
17y ago
tritto
47.
▲
by
dumael
17y ago
The Jazelle extension requires paying money to access on how to set it up. Also as others have pointed out using hardware supported java prohibits a lot of dynamic optimizations. ARM seem to be mostly concentrating on the ThumbEE environmen