original_docstring: Clobbers two registers.  Unlike two individual clobber() calls,
          where the first call might overwrite the other reg, this one
          preserves the current content of both 'reg1' and 'reg2'.
          You must eventually call end_clobber() twice.
docstring: Clobbers two registers.  Unlike two individual clobber() calls,
  where the first call might overwrite the other reg, this one
  preserves the current content of both 'reg1' and 'reg2'.
  You must eventually call end_clobber() twice.
docstring_tokens: Clobbers two registers . Unlike two individual clobber () calls where the first call might overwrite the other reg this one preserves the current content of both ' reg1 ' and ' reg2 ' . You must eventually call end_clobber () twice .
code: def clobber2(self, reg1, reg2):
          """Clobbers two registers.  Unlike two individual clobber() calls,
          where the first call might overwrite the other reg, this one
          preserves the current content of both 'reg1' and 'reg2'.
          You must eventually call end_clobber() twice."""
          if not self.registers_free & reg2.bitmask:
              # order trick: if reg2 is free but reg1 used, doing clobber() in
              # the following order could first move reg1 to reg2, and then
              # immediately away from reg2.
              self.clobber(reg1)     # <- here reg1 cannot go to reg2
              self.clobber(reg2)
          else:
              self.clobber(reg2)     # reg2 is free, so it doesn't go anywhere
              self.clobber(reg1)
code_tokens: def clobber2 ( self , reg1 , reg2 ) : if not self . registers_free & reg2 . bitmask : self . clobber ( reg1 ) self . clobber ( reg2 ) else : self . clobber ( reg2 ) self . clobber ( reg1 )
short_docstring: Clobbers two registers.
short_docstring_tokens: Clobbers two registers .
comment: """Clobbers two registers.  Unlike two individual clobber() calls,
          where the first call might overwrite the other reg, this one
          preserves the current content of both 'reg1' and 'reg2'.
          You must eventually call end_clobber() twice."""$SEP$# order trick: if reg2 is free but reg1 used, doing clobber() in$SEP$# the following order could first move reg1 to reg2, and then$SEP$# immediately away from reg2.$SEP$# <- here reg1 cannot go to reg2$SEP$# reg2 is free, so it doesn't go anywhere