1.1 --- a/micropython/ast.py Fri May 01 01:02:20 2009 +0200
1.2 +++ b/micropython/ast.py Fri May 01 02:38:05 2009 +0200
1.3 @@ -152,7 +152,7 @@
1.4 if unit.astnode is not None:
1.5 self.dispatch(unit.astnode)
1.6
1.7 - self.unit.temp_usage = self.max_temp_position + 1
1.8 + self.unit.temp_usage = self.max_temp_position + 2 # include space for instantiators to expand backwards
1.9 self.unit.blocks = self.blocks
1.10 return self.blocks
1.11
1.12 @@ -191,6 +191,10 @@
1.13
1.14 self.new_op(LoadName(init_method.all_locals()["self"])) # load the context in the invocation frame
1.15 self.new_op(StoreResult())
1.16 +
1.17 + # Fix the current frame to release the storage slot at the beginning.
1.18 +
1.19 + self.new_op(AdjustFrame(1))
1.20 self.new_op(Return())
1.21
1.22 self.unit.blocks = self.blocks