Changeset 332
- Timestamp:
- 12/04/06 22:26:47
- Files:
-
- trunk/codewalk.py (modified) (12 diffs)
- trunk/storage/geniusql.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/codewalk.py
r331 r332 144 144 145 145 def debug(self, *messages): 146 if self.verbose: 147 for term in messages: 148 print term, 149 else: 150 pass 146 for term in messages: 147 print term, 151 148 152 149 def walk(self): 150 verbose = self.verbose 151 153 152 self.cursor = 0 154 153 b = self._bytecode 155 self.debug("\nWALKING: ", b) 154 if verbose: 155 self.debug("\nWALKING: ", b) 156 156 while self.cursor < len(b): 157 self.debug("\n", self.cursor) 157 if verbose: 158 self.debug("\n", self.cursor) 158 159 159 160 op = b[self.cursor] … … 168 169 args = () 169 170 170 self.debug("visit (%s, %s)" % (op, repr(args))) 171 if verbose: 172 self.debug("visit (%s, %s)" % (op, repr(args))) 171 173 self.visit_instruction(op, *args) 172 174 … … 175 177 handler = getattr(self, name, None) 176 178 if handler: 177 self.debug("=> %s%s" % (name[6:], repr(args))) 179 if verbose: 180 self.debug("=> %s%s" % (name[6:], repr(args))) 178 181 handler(*args) 179 182 … … 410 413 pos = self.const_index(value) 411 414 self.tail(3, 'LOAD_CONST', pos & 0xFF, pos >> 8) 412 self.debug(name, ' --> ', value) 415 if self.verbose: 416 self.debug(name, ' --> ', value) 413 417 414 418 … … 763 767 Visitor.walk(self) 764 768 765 self.debug("stack:", self.stack) 769 if self.verbose: 770 self.debug("stack:", self.stack) 766 771 767 772 def visit_instruction(self, op, lo=None, hi=None): … … 782 787 # combinations have access to it. 783 788 self.stack[-1] = clause 784 self.debug("clause:", clause, "\n") 789 if self.verbose: 790 self.debug("clause:", clause, "\n") 785 791 786 792 if op == 1: … … 792 798 target = self.targets[self.last_target_ip] 793 799 target[-1] = ((clause, target[-1][1])) 794 self.debug("newtarget:", self.last_target_ip, target) 800 if self.verbose: 801 self.debug("newtarget:", self.last_target_ip, target) 795 802 796 803 def visit_BUILD_LIST(self, lo, hi): … … 832 839 op = cmp_op[lo + (hi << 8)] 833 840 self.stack.append(term1 + " " + op + " " + term2) 834 self.debug(op) 841 if self.verbose: 842 self.debug(op) 835 843 836 844 def visit_DUP_TOP(self): … … 842 850 bucket = self.targets.setdefault(target, []) 843 851 bucket.append((self.stack[-1], 'and')) 844 self.debug("target:", target, bucket) 852 if self.verbose: 853 self.debug("target:", target, bucket) 845 854 # Store target ip for the special code in visit_instruction 846 855 self.last_target_ip = target … … 851 860 bucket = self.targets.setdefault(target, []) 852 861 bucket.append((self.stack[-1], 'or')) 853 self.debug("target:", target, bucket) 862 if self.verbose: 863 self.debug("target:", target, bucket) 854 864 # Store target ip for the special code in visit_instruction 855 865 self.last_target_ip = target … … 858 868 term = self.co_names[lo + (hi << 8)] 859 869 self.stack[-1] += ("." + term) 860 self.debug(term) 870 if self.verbose: 871 self.debug(term) 861 872 862 873 def visit_LOAD_CONST(self, lo, hi): … … 871 882 term = val.__module__ + "." + term 872 883 self.stack.append(term) 873 self.debug(term) 884 if self.verbose: 885 self.debug(term) 874 886 875 887 def visit_LOAD_FAST(self, lo, hi): 876 888 term = self.co_varnames[lo + (hi << 8)] 877 889 self.stack.append(term) 878 self.debug(term) 890 if self.verbose: 891 self.debug(term) 879 892 880 893 def visit_LOAD_GLOBAL(self, lo, hi): trunk/storage/geniusql.py
r331 r332 616 616 # combinations have access to it. 617 617 self.stack[-1] = clause 618 self.debug("clause:", clause, "\n") 618 if self.verbose: 619 self.debug("clause:", clause, "\n") 619 620 620 621 if op == 1: … … 626 627 target = self.targets[self.last_target_ip] 627 628 target[-1] = ((clause, target[-1][1])) 628 self.debug("newtarget:", self.last_target_ip, target) 629 if self.verbose: 630 self.debug("newtarget:", self.last_target_ip, target) 629 631 630 632 def visit_LOAD_DEREF(self, lo, hi):
