diff src/pt-arg-list.cc @ 10066:2cd940306a06

make unwind_protect frames local
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 06 Jan 2010 13:18:41 +0100
parents 9ecd35a606e3
children cd96d29c5efa
line wrap: on
line diff
--- a/src/pt-arg-list.cc	Tue Jan 05 13:16:16 2010 +0100
+++ b/src/pt-arg-list.cc	Wed Jan 06 13:18:41 2010 +0100
@@ -163,11 +163,11 @@
 		       && ! (object->is_function ()
 			     || object->is_function_handle ()));
   
-  unwind_protect::frame_id_t uwp_frame = unwind_protect::begin_frame ();
+  unwind_protect frame;
 
   if (stash_object)
     {
-      unwind_protect::protect_var (indexed_object);
+      frame.protect_var (indexed_object);
 
       indexed_object = object;
     }
@@ -181,8 +181,8 @@
     {
       if (stash_object)
 	{
-	  unwind_protect::protect_var (index_position);
-	  unwind_protect::protect_var (num_indices);
+	  frame.protect_var (index_position);
+	  frame.protect_var (num_indices);
 
 	  index_position = k;
 	  num_indices = len;
@@ -215,8 +215,6 @@
 	}
     }
 
-  unwind_protect::run_frame (uwp_frame);
-
   return args;
 }