[svn:parrot] r47476 - in trunk: src/ops t/op t/pmc
NotFound at svn.parrot.org
NotFound at svn.parrot.org
Tue Jun 8 20:22:01 UTC 2010
Author: NotFound
Date: Tue Jun 8 20:22:00 2010
New Revision: 47476
URL: https://trac.parrot.org/parrot/changeset/47476
Log:
clear current context siganture in get_results, TT #1659
Modified:
trunk/src/ops/core.ops
trunk/src/ops/core_ops.c
trunk/t/op/calling.t
trunk/t/pmc/eval.t
trunk/t/pmc/objects.t
Modified: trunk/src/ops/core.ops
==============================================================================
--- trunk/src/ops/core.ops Tue Jun 8 19:55:11 2010 (r47475)
+++ trunk/src/ops/core.ops Tue Jun 8 20:22:00 2010 (r47476)
@@ -542,6 +542,7 @@
PARROT_ERRORS_RESULT_COUNT_FLAG);
argc = VTABLE_elements(interp, signature);
+ Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), PMCNULL);
goto OFFSET(argc + 2);
}
Modified: trunk/src/ops/core_ops.c
==============================================================================
--- trunk/src/ops/core_ops.c Tue Jun 8 19:55:11 2010 (r47475)
+++ trunk/src/ops/core_ops.c Tue Jun 8 20:22:00 2010 (r47476)
@@ -14516,7 +14516,8 @@
Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params,
PARROT_ERRORS_RESULT_COUNT_FLAG);
- argc = VTABLE_elements(interp, signature);return (opcode_t *)cur_opcode + argc + 2;
+ argc = VTABLE_elements(interp, signature);
+ Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), PMCNULL);return (opcode_t *)cur_opcode + argc + 2;
}
opcode_t *
@@ -14797,7 +14798,7 @@
opcode_t *dest;
opcode_t * const ret =cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
- PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit,
+ PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit,
CONTROL_EXIT, NULL);
VTABLE_set_pointer(interp, resume, ret);
@@ -14815,7 +14816,7 @@
opcode_t *dest;
opcode_t * const ret =cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
- PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit,
+ PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit,
CONTROL_EXIT, NULL);
VTABLE_set_pointer(interp, resume, ret);
Modified: trunk/t/op/calling.t
==============================================================================
--- trunk/t/op/calling.t Tue Jun 8 19:55:11 2010 (r47475)
+++ trunk/t/op/calling.t Tue Jun 8 20:22:00 2010 (r47476)
@@ -1852,9 +1852,9 @@
pasm_output_is( <<'CODE', <<'OUTPUT', "named - 5 slurpy array -> named" );
.pcc_sub main:
set_args "0, 0, 0, 0x200, 0, 0x200, 0", 10, 20, 30, 'a', 40, 'b', 50
- get_results ""
find_name P1, "foo"
invokecc P1
+ get_results ""
print "ok\n"
end
.pcc_sub foo:
Modified: trunk/t/pmc/eval.t
==============================================================================
--- trunk/t/pmc/eval.t Tue Jun 8 19:55:11 2010 (r47475)
+++ trunk/t/pmc/eval.t Tue Jun 8 20:22:00 2010 (r47476)
@@ -66,8 +66,8 @@
concat S5, "returncc\n"
compreg P1, "PASM"
set_args "0", S5
- get_results "0", P6
invokecc P1
+ get_results "0", P6
get_global P2, "_foo"
invokecc P2
print "back\n"
Modified: trunk/t/pmc/objects.t
==============================================================================
--- trunk/t/pmc/objects.t Tue Jun 8 19:55:11 2010 (r47475)
+++ trunk/t/pmc/objects.t Tue Jun 8 20:22:00 2010 (r47476)
@@ -1603,46 +1603,46 @@
new $P5, ['String'] # set attribute values
set $P5, "i" # attribute slots have reference semantics
set_args "0,0", $P5, "i"
- get_results ""
callmethodcc $P13, "Foo54__set"
+ get_results ""
new $P5, ['String']
set $P5, "j"
set_args "0,0", $P5, "j"
- get_results ""
callmethodcc $P13,"Foo54__set"
+ get_results ""
new $P5, ['String']
set $P5, "k"
set_args "0,0", $P5, "k"
- get_results ""
callmethodcc $P13,"Bar54__set"
+ get_results ""
new $P5, ['String']
set $P5, "l"
set_args "0,0", $P5, "l"
- get_results ""
callmethodcc $P13,"Bar54__set"
+ get_results ""
# now retrieve attributes
set_args "0", "i"
- get_results "0", $P5
callmethodcc $P13,"Foo54__get"
+ get_results "0", $P5
is( $P5, "i", 'got attrib i from Bar54->Foo54__get' )
set_args "0", "j"
- get_results "0", $P5
callmethodcc $P13,"Foo54__get"
+ get_results "0", $P5
is( $P5, "j", 'got attrib j from Bar54->Foo54__get' )
set_args "0", "k"
- get_results "0", $P5
callmethodcc $P13,"Bar54__get"
+ get_results "0", $P5
is( $P5, "k", 'got attrib k from Bar54->Bar54__get' )
set_args "0", "l"
- get_results "0", $P5
callmethodcc $P13,"Bar54__get"
+ get_results "0", $P5
is( $P5, "l", 'got attrib l from Bar54->Bar54__get' )
.end
More information about the parrot-commits
mailing list