The GitHub Actions job "CI" on tvm-ffi.git/pyobject has failed.
Run started by GitHub user cyx-6 (triggered by cyx-6).

Head commit for run:
e60a2a2a1f2d689ee53105713ed1d10b0d18967e / Yaxing Cai <[email protected]>
[REFACTOR][Python] Namespace word-atomics and rework PyObject-tying docs

Address PR #593 review feedback on tvm_ffi_python_object.h.

Code (comment-preserving, no behavior change; GIL build byte-identical):
- Move the four raw pointer-atomics into namespace tvm::ffi::pyobj_detail so
  "go through Lock/Unlock/Peek, never a raw WordX" is structural, not 
convention.
- Rename AcquireLoad -> PeekWord (it is the lock-free peek, not a lock op) and
  LockYield -> SpinYield, per the two-layer naming rule (public = lock 
semantics,
  detail = memory order).

Docs:
- Fix the dealloc-handshake summary: first settler clears InTransit and defers,
  second finds it clear and frees (was stated backwards); use 0->1 / 1->0 
notation.
- Slot-install: state the two unmissable scopes (tp_dealloc over the whole 
CObject
  hierarchy; tp_alloc/tp_free over registered types) and tp_dealloc's 
compatibility
  with either slot pairing.
- Rework the word-access banner: single vocabulary + naming rule (drop the 
duplicate
  leaf list and the redundant free-threaded paragraph), add a three-operation
  critical-section tree keyed on lock #N / unlock #N.
- Compress the pyobj_detail block to a one-line brief; move the 
acquire-not-acq_rel
  and relaxed-seed rationale to inline notes on their functions.
- Extend I5 with make_ret's lock-drop invariant (no competing dealloc: caller's 
+1
  keeps weak > 0; a peer make_ret waits the claim out then aliases).

Full Python suite passes on 3.13 (GIL, 2367) and 3.14t (free-threaded, 2342).

Report URL: https://github.com/apache/tvm-ffi/actions/runs/28674889472

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to