frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

How ZGC allocates memory for the Java heap

https://joelsiks.com/posts/zgc-heap-memory-allocation/
86•lichtenberger•1y ago

Comments

gopalv•1y ago
The 32x virtual memory to physical memory ratio plays into relocation and colored pointers (i.e pointers where some bits serve as flag bits).

Putting the actual data layouts in 44 bits out of 64 is a neat trick which relies on the allocator being aware of the mappings between physical and virtual addresses.

twoodfin•1y ago
When your comment and the article refer to “physical” addresses, those are physical in the context of the JVM, right? To the OS they’re virtual addresses in the JVM process space?
acchow•1y ago
Correct. ZGC has no way to escape from the virtualization by the kernel (assuming your hardware and kernel uses an MMU)
MBCook•1y ago
Thank you for the answer, I was wondering that as well.
hinkley•1y ago
In the beginning of the 32 bit revolution, when the future was here but unevenly distributed, there was a lot of talk about how 32 bit pointers would fundamentally change how people wrote code. Among other things it got rid of a bunch of odd bookkeeping, and if you don’t have to do the bookkeeping you don’t have to write the code in a way that supports it, so you can do other things.

Not too long after someone asked what sort of interesting changes 64 bit will bring. And I’ve been keeping that question in the back of my mind ever since.

Aliasing memory multiple times in order to do read or write barriers and make GC much cheaper is a pretty good one. But another one I know of is that one of the secrets of the L4 microkernel is that its IPC speed comes substantially from reducing the amount of TLB work that needs to be done to switch to another process running in a different address space. They use the same address space and only swap out the access rights which cuts the call overhead in half. It’s pretty easy to put a bunch of processes into a 64 bit address space and just throw each one a randomly located 4GB slice of RAM.

twoodfin•1y ago
Yeah, would love to see the CPU vendors invent some primitives to let user code pull those kinds of privilege isolation tricks within a single process and address space.

Something like: “From now on, code on these pages can only access data on these pages, and only return to/call into other code through these gates…”

hinkley•1y ago
Thread based seems like it at least should be possible.
ahartmetz•1y ago
I've had some ideas about avoiding format validation in IPC receivers if the data is encoded by trusted code, which is also the only code that has rights to send the IPC data / to connect to the receiver. I can't really think of an important problem that it would solve, though. DBus always validates received data, but it's not really meant or very suitable for large amounts of data anyway.
pron•1y ago
For relevant upcoming changes see Automatic Heap Sizing for ZGC: https://openjdk.org/jeps/8329758
twoodfin•1y ago
What I’m looking for is a way for a process to de/re-escalate its privileges to access memory, without an expensive context switch being required at the transition. The CPU would simply enforce different rules based on (say) the high-order bits of the instruction pointer.

Imagine a server process that wants to run some elaborate third-party content parser. It’d be great to be sure that no matter how buggy or malicious that code, it can’t leak the TLS keys.

Today, high-security architectures must use process isolation to achieve this kind of architectural guarantee, but even finely tuned IPC like L4’s is an order of magnitude slower than a predictable jump.

gpderetta•1y ago
For a brief moment Intel supported MPX which did something similar.

You can also play tricks with the virtualization hardware, bit it need kernel support.

Eventually we will get segments back again.

MarkSweep•1y ago
That would be pretty cool. Something like the Win32 function GetWriteWatch, but implemented in hardware instead of the page fault handler (I assume).

https://learn.microsoft.com/en-us/windows/win32/api/memoryap...

Or some sort of special write barrier store op-code, idk.

mike_hearn•1y ago
It exists, that's called MPKs.
twoodfin•1y ago
I don’t think MPK’s will fit the need I have. Simply: Run some arbitrary, untrusted, non-sandboxed code in the same thread with assurance it can’t read page X. When that code completes and I’m back in code I trust, X is readable again.

Is that something MPK makes possible? The doc I’ve read suggests either your process can flip permission bits or it can’t. Great for avoiding out-of-sandbox reads. But if there’s arbitrary execution happening, why can’t that code flip the access to secrets back on?

mike_hearn•1y ago
Oracle Labs has tech that does that:

https://youtu.be/T05FI93MBI8?si=EieFgujaGiW2gbO8&t=958

The trick is to do a cascading disassembly of all untrusted code you'll execute to prove it can't change the MPK register.

twoodfin•1y ago
Wow. Neat trick and exactly the kind of thing I was looking for.

Thanks!

EDIT: Looks like this is the relevant paper from the Graal team: https://www.graalvm.org/resources/articles/binsweep.pdf

jdougan•1y ago
Is that something like the memory protection scheme on the Newton OS?
nyanpasu64•1y ago
Isn't not swapping page tables during a call precisely what the KPTI mitigations had to turn off for Meltdown mitigations?

The baffling intelligence of a single cell (2024)

https://jsomers.net/e-coli-chemotaxis/
246•jsomers•1d ago•45 comments

GLM-Legal

https://z.ai/blog/glm-legal
541•ilreb•16h ago•311 comments

Intel D270 GPU AI Accelerator–Up to 480 GB LPDDR5X

https://www.intel.com/content/www/us/en/products/details/discrete-gpus/data-center-gpu/d-series.html
187•hurricanepootis•10h ago•95 comments

Hackers activate automatic defrosting in supermarket fridges across Europe

https://www.tomshardware.com/tech-industry/cyber-security/unprecedented-cyberattack-cripples-supe...
658•Zeekaas•20h ago•786 comments

A Modern Web App in C

https://prophitt.me/writing/a-modern-web-app-in-c
540•prophittcorey•16h ago•225 comments

Who is vfmaddrnd231pd?

https://purplesyringa.moe/blog/who-is-vfmaddrnd231pd/
191•pngmangi•11h ago•19 comments

Janas: Run LLMs larger than RAM by streaming experts from SSD

https://github.com/prabanta-dev/janas
125•khalidkhair•10h ago•38 comments

Making big downloads resumable in Firefox

https://lunarwatcher.codeberg.page/til/firefox/resumable-big-downloads.html
186•speckx•12h ago•77 comments

Turn a WiFi 7 Router into a 320Msps Software Defined Radio Receiver

https://github.com/h0m3us3r/w1700k-sdr
340•djfergus•19h ago•90 comments

A look at the math that OpenAI claims computes faster Fourier transforms

https://www.argmin.net/p/faster-fourier-transforms
118•mochomocha•5h ago•78 comments

Auto Research: Integer multiplication below n log n

https://app.getsupers.com/auto-research
55•swesnow•1d ago•22 comments

AI is a tool and using it well takes skill

https://yyhh.org/blog/2026/10/ai-is-a-tool/
384•layer8•10h ago•302 comments

Denmark set to allow return of 'physical force' in school

https://www.lemonde.fr/en/international/article/2026/10/10/denmark-set-to-allow-the-return-of-phy...
51•janisz•2h ago•26 comments

Launch HN: Agent37 (YC F26) – Low-cost agent sandboxes for running agents

130•vishnukool•15h ago•95 comments

Citroen revives the 2CV for an electric age

https://www.bbc.com/news/articles/c620r33plgppo
327•scrlk•20h ago•354 comments

AI models can provably hide arbitrary capabilities

https://arxiv.org/abs/2610.13928
192•sbulaev•6h ago•104 comments

Writing a Demoscene Intro for the ZX Spectrum

https://www.markround.com/blog/2026/zx-spectrum-intro
119•zdw•12h ago•23 comments

Solar panels that plug into your wall

https://www.nationalgeographic.com/environment/article/balcony-plug-in-solar-panels-renewable-energy
179•speckx•18h ago•165 comments

Show HN: An experimental pattern-first DAW that supports MCP

https://github.com/andrewfader/blokkily
52•androsynth89•9h ago•24 comments

Phreak.ing – Internet Phone Switch

https://phreak.ing/
125•rickcarlino•10h ago•33 comments

Show HN: SolidCraft – Open-Source Parametric CAD in Rust (With MCP Support)

https://github.com/bherbruck/solidcraft
50•bherbruck•8h ago•5 comments

The Making Of Super Mario 64 – full Giles Goddard interview (2001)

https://pixelatron.com/blog/the-making-of-super-mario-64-full-giles-goddard-interview-ngc/
247•gregsadetsky•2d ago•97 comments

Kevin Kelly's 2016 AI Predictions, 10 Years Later

https://taylor.town/kk-ai-2026
181•surprisetalk•17h ago•67 comments

Codex CLI installs a persistent, self-updating background daemon by default

https://github.com/openai/codex/issues/48195
549•whimblepop•13h ago•272 comments

Show HN: Brickbrag – A multiplayer brick-building world in the browser

https://brickbrag.com/
62•neuling•11h ago•35 comments

Muse Wonder

https://research.meta.ai/blog/muse-wonder
624•meetpateltech•15h ago•329 comments

Show HN: Atticus – Hold-to-talk voice assistant for macOS that runs on Claude -p

https://github.com/SaarthurR/atticus-mac
100•SaarthRanka•1d ago•19 comments

Blood cells from 80-year-old donor become stem cells with molecular age under 20

https://doi.org/10.1111/acel.70751
153•arunc•8h ago•101 comments

I Found a $90k Remote Code Execution Vulnerability in Google

https://simonkoeck.com/writeups/google-devsite-flask-session-pickle-rce
200•soeckly•1d ago•98 comments

Thinking will become a hobby

https://www.spinellis.gr/blog/20261008/?li261008
276•pranitha_m•15h ago•387 comments