Ticket #8 (closed defect: fixed)
branch in x86-64 _SPstore_node_conditional targeted wrong label
| Reported by: | gb | Owned by: | gb |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Runtime (threads, GC) | Version: | 1.1 |
| Keywords: | Cc: |
Description
If a compare-and-swap (cmpxchgq) instruction used in the subprimitive _SPstore_node_conditional failed (cleard the z flag), the subsequent branch instruction branched forward to local label 0. It should have branched backward, retrying the store-conditional.
Branching backward typically caused code in _SPprogvsave - which checks to ensure that a list of values was a proper list - to signal a confusing, spurious error.
Change History
Note: See
TracTickets for help on using
tickets.
