| --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
| +++ b/cgen/templates/IncaSubscriptDerivative Fri May 11 16:21:51 2012 -0700 |
| @@ -0,0 +1,25 @@ |
| +<%namespace file="base.impl" import="*"/>\ |
| +\ |
| +<%def name="extract_action_id(c_signature)">\ |
| +${ c_signature.split('->')[-1][3:].upper() }\ |
| +</%def>\ |
| + |
| + TARGET(INCA_${ extract_type_id( instr.type_id )}_${ extract_action_id( instr.function_id ) }) |
| + /* template: IncaSubscriptDerivative */ |
| + w= TOP(); |
| + v= SECOND(); |
| + u= THIRD(); |
| + |
| + if (INLINE_CACHE_MISS_UNARY(v, PyDict_Type)) |
| + goto TARGET_STORE_SUBSCR_SKIP_DISPATCH;; |
| + STACKADJ(-3); |
| + |
| + err= ${ instr.type_id }.tp_as_mapping->mp_ass_subscript( v, w, u ); |
| + |
| + Py_DECREF(v); |
| + Py_DECREF(w); |
| + Py_DECREF(u); |
| + |
| + if (err == 0) DISPATCH(); |
| + goto on_error; |
| + |