<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="moz-cite-prefix">On 23/12/2025 22:04, Dmitry Zaslavsky
wrote:<br>
</div>
<blockquote type="cite" cite="mid:MN2PR11MB4757F93B5BC15227A4FBD00CF3B5A@MN2PR11MB4757.namprd11.prod.outlook.com">
<style type="text/css" style="display:none;">P {margin-top:0;margin-bottom:0;}</style>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">
Hello loom developers, thank you for your great work.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">
Quick question:</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">
I must be missing something very obvious, but why not move the
fields </div>
<pre style="background-color: rgb(255, 255, 255);" class="elementToProof"><div style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof"><code>threadLocalRandomSeed</code></div><div style="text-align: left; text-indent: 0px; white-space: normal; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof"><code>threadLocalRandomSecondarySeed</code></div><div style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof"><code>ThreadLocalRandomProbe</code></div><div style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">
</div><div style="text-align: left; text-indent: 0px; white-space: normal; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">Into <code>FieldHolder</code></div><div style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof">And have <code>ThreadLocalRandom </code><code style="font-family: Calibri, Helvetica, sans-serif;">always just use </code><code>carrierThread</code></div><div style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin: 0px; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: black;" class="elementToProof"><code style="font-family: Calibri, Helvetica, sans-serif;">The benefit would be a smaller size for VirtualThread and I would argue no worse properties for TLR?</code></div>
</pre>
</blockquote>
It's a good topic. We have done some experiments with this but does
have some impact on the TLR methods due to the additional fetch.
Doug Lea, Viktor Klang and I have been discussing a number of
variants, e.g. using fields on ForkJoinWorkerThread. Maybe some
progress on this in the new year.<br>
<br>
-Alan<br>
</body>
</html>