1.1 --- a/micropython/rsvp.py Thu Mar 05 00:45:42 2009 +0100
1.2 +++ b/micropython/rsvp.py Thu Mar 19 23:05:55 2009 +0100
1.3 @@ -156,6 +156,9 @@
1.4 class LoadAddress(Address): "Load the current value from the given fixed attribute address."
1.5 class StoreAddress(Address): "Store the source value into the given fixed attribute address."
1.6 class LoadAddressContext(Address): "Load the current value from the given fixed attribute address, making the current value the context."
1.7 +class LoadAddressContextCond(Address):
1.8 + """Load the current value from the given fixed attribute address, only making the current value the
1.9 + context if the attribute is compatible."""
1.10 class MakeObject(Immediate): "Make a new object. There isn't a complementary DropObject."
1.11
1.12 # Access to address-relative data.
1.13 @@ -164,6 +167,12 @@
1.14 class StoreAttr(AR): "Store the source value into the given attribute of the object referenced by the current value."
1.15 class LoadAttrIndex(Immediate): "Load into the current value the attribute of the current value with the given index."
1.16 class StoreAttrIndex(Immediate): "Store the source value into the attribute of the current value with the given index."
1.17 +class LoadAttrIndexContext(Immediate):
1.18 + """Load into the current value the attribute of the current value with the given index, making the
1.19 + current value the context."""
1.20 +class LoadAttrIndexContextCond(Immediate):
1.21 + """Load into the current value the attribute of the current value with the given index, only making the
1.22 + current value the context if the attribute is compatible."""
1.23
1.24 # Access to object details.
1.25
1.26 @@ -214,8 +223,10 @@
1.27 # Instructions which affect the current value.
1.28
1.29 current_value_instructions = (
1.30 - LoadConst, LoadName, LoadTemp, LoadAddress, LoadAddressContext,
1.31 - LoadAttr, LoadAttrIndex, LoadCallable, LoadContext, LoadResult,
1.32 + LoadConst, LoadName, LoadTemp,
1.33 + LoadAddress, LoadAddressContext, LoadAddressContextCond,
1.34 + LoadAttr, LoadAttrIndex, LoadAttrIndexContext, LoadAttrIndexContextCond,
1.35 + LoadCallable, LoadContext, LoadResult,
1.36 LoadException, MakeObject
1.37 )
1.38