rusty_racer 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a578c93e9ec291527131f62e665b742da583aa112a79b9d92e525929d7282ed7
4
- data.tar.gz: 5de4f422556c933cacc87f8c4f64b1e630cd0f97c119427725ed9e92d5c9496f
3
+ metadata.gz: 2052676ce336d8412181c10d56a95561ed80badd1c2226062ca3dedb2d863136
4
+ data.tar.gz: 64298a10bcd1defc2af1385c56a95d3f61c9c5200667b3d3cf8bd0e12e9ba641
5
5
  SHA512:
6
- metadata.gz: 706c9d1b291ab6e23924a3dfab1e070a64ec4b831e250d57b3562b3f54d4b59c64a25e92bd711d58a60b66a1f266198a500b3af9c83da937673f128a032bf6ea
7
- data.tar.gz: 54f9c4df89593690314993ab3008ee82bb860002d68e8faedd155bcfbbae2552d104520f72b8e110533767f04801695cf5804f42cc792bd63d6e6c35d9e54608
6
+ metadata.gz: 6a3d5c55a61a3743e0c361e833d2842be76a2f67c6224a7979abe1ec5b5e82ab242c963808d4be860f49e2318807a419140207efca60367cb1d92d90ef3a0f9d
7
+ data.tar.gz: c40ff24e7b8924fa70e51d87a77f797180bbac84c66ef03155daa8c23373ae1369ca8413311edadcfd17ceb00878a10edaf695bffb6e26f2bb26d7feb467e56a
data/README.md CHANGED
@@ -252,14 +252,19 @@ In-thread V8 runs on whatever stack the calling Ruby code is on — including a
252
252
  **Fiber**'s separate stack (a plain `Enumerator` is a Fiber, so this is common:
253
253
  `Capybara::Result#find`, lazy enumerators, …). This works on the **main thread**,
254
254
  where the process stack is the highest address and every Fiber sits below it.
255
-
256
- On a **non-main thread** it does not: V8 anchors its "is this the central stack?"
257
- check to that thread's native stack top (a pthread value it caches, with no API
258
- to retarget), and a Fiber allocated *above* that top — the usual case off the
259
- main thread falls outside the check, so V8 aborts the process on the next GC or
260
- thrown exception. So **don't call into an isolate from inside a Fiber on a
261
- worker thread**; drive isolate ops directly on the thread, or keep
262
- Fiber/Enumerator-mediated JS calls on the main thread.
255
+ That includes a Fiber entered *underneath* a running JS call — a host function
256
+ that resumes a Fiber which evals again since each operation describes its own
257
+ stack to V8 and restores the enclosing one when it returns.
258
+
259
+ On a **non-main thread** it does not. V8 decides "is this the central stack?" by
260
+ testing the stack pointer against a window that ends at the thread's native stack
261
+ top a pthread value it caches, with no API to retarget on POSIX. Only the
262
+ window's *lower* edge follows the per-operation stack limit, so a Fiber allocated
263
+ *above* that top — the usual case off the main thread, whose own stack sits below
264
+ later Fiber mmaps — is outside the window whatever we do, and V8 aborts the
265
+ process on the next GC or thrown exception. So **don't call into an isolate from
266
+ inside a Fiber on a worker thread**; drive isolate ops directly on the thread, or
267
+ keep Fiber/Enumerator-mediated JS calls on the main thread.
263
268
 
264
269
  ## Installation
265
270
 
@@ -5,7 +5,7 @@
5
5
  # links and loads with no custom archive.
6
6
  [package]
7
7
  name = "rusty_racer"
8
- version = "0.1.13"
8
+ version = "0.1.15"
9
9
  edition = "2024"
10
10
  publish = false
11
11