[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