It's not the stack. Addresses are being reused.
(I'm watching the stack on entry to stack_push. Pop is probably working
okay, too. I don't know why the old contents aren't being clobbered,
though. Since I know when it happens, I'll try to narrow it down there.)
`parrot`stacks.c`stack_push`stack = {
used = 44
next = 0x332000
prev = 0x332000
entry = ({
entry = { # stack[0]
num_val = 1.0956763994969e-307
int_val = 3388008
pmc_val = 0x33b268
string_val = 0x33b268
generic_pointer = 0x33b268
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = {
num_val = 1.0955949148585e-307
int_val = 3387912
pmc_val = 0x33b208
string_val = 0x33b208
generic_pointer = 0x33b208
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = {
num_val = 1.0955134302202e-307
int_val = 3387816
pmc_val = 0x33b1a8
string_val = 0x33b1a8
generic_pointer = 0x33b1a8
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = {
num_val = 1.0954319455818e-307
int_val = 3387720
pmc_val = 0x33b148
string_val = 0x33b148
generic_pointer = 0x33b148
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = {
num_val = 1.0953504609434e-307
int_val = 3387624
pmc_val = 0x33b0e8
string_val = 0x33b0e8
generic_pointer = 0x33b0e8
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = {
num_val = 1.095268976305e-307
int_val = 3387528
pmc_val = 0x33b088
string_val = 0x33b088
generic_pointer = 0x33b088
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
..
..
..
entry = { # stack[41]
num_val = 1.0957578841353e-307
int_val = 3388104
pmc_val = 0x33b2c8
string_val = 0x33b2c8
generic_pointer = 0x33b2c8
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = { # stack[42]
num_val = 1.0956763994969e-307
int_val = 3388008
pmc_val = 0x33b268
string_val = 0x33b268
generic_pointer = 0x33b268
}
entry_type = 3
flags = 0
cleanup = (nil)
} {
entry = { # stack[43]
num_val = 1.0955949148585e-307
int_val = 3387912
pmc_val = 0x33b208
string_val = 0x33b208
generic_pointer = 0x33b208
}
..
..
..
--
Bryan C. Warnock
[EMAIL PROTECTED]