[svn:parrot] r40377 - branches/keys_cleanup/src
bacek at svn.parrot.org
bacek at svn.parrot.org
Sun Aug 2 11:36:19 UTC 2009
Author: bacek
Date: Sun Aug 2 11:36:19 2009
New Revision: 40377
URL: https://trac.parrot.org/parrot/changeset/40377
Log:
Fix marking next key in key_next. bacek-- for stupid mistake in "if" rewrite.
Modified:
branches/keys_cleanup/src/key.c
Modified: branches/keys_cleanup/src/key.c
==============================================================================
--- branches/keys_cleanup/src/key.c Sun Aug 2 11:26:40 2009 (r40376)
+++ branches/keys_cleanup/src/key.c Sun Aug 2 11:36:19 2009 (r40377)
@@ -606,6 +606,7 @@
key_mark(PARROT_INTERP, ARGIN(PMC *key))
{
ASSERT_ARGS(key_mark)
+ PMC *next_key;
const UINTVAL flags = PObj_get_FLAGS(key) & KEY_type_FLAGS;
if (flags == KEY_string_FLAG) {
@@ -617,13 +618,10 @@
Parrot_gc_mark_PObj_alive(interp, (PObj *)str_key);
}
- if (flags == KEY_pmc_FLAG || flags == KEY_string_FLAG) {
- PMC *next_key;
- /* if iteration hasn't started, above flag isn't set yet */
- GETATTR_Key_next_key(interp, key, next_key);
- if (next_key)
- Parrot_gc_mark_PObj_alive(interp, (PObj *)next_key);
- }
+ /* Mark next key */
+ GETATTR_Key_next_key(interp, key, next_key);
+ if (next_key)
+ Parrot_gc_mark_PObj_alive(interp, (PObj *)next_key);
}
More information about the parrot-commits
mailing list