Fix off-by-one errors in code to find depth of stack.

XXX The code is still widely inaccurate, but most (all?) of the time
it's an overestimate.
This commit is contained in:
Jeremy Hylton 2001-08-29 20:55:17 +00:00
parent 87797872a8
commit 4ba9001f5c
2 changed files with 6 additions and 6 deletions

View File

@ -764,11 +764,11 @@ class StackDepthTracker:
# UNPACK_SEQUENCE, BUILD_TUPLE,
# BUILD_LIST, CALL_FUNCTION, MAKE_FUNCTION, BUILD_SLICE
def UNPACK_SEQUENCE(self, count):
return count
return count-1
def BUILD_TUPLE(self, count):
return -count
return -count+1
def BUILD_LIST(self, count):
return -count
return -count+1
def CALL_FUNCTION(self, argc):
hi, lo = divmod(argc, 256)
return lo + hi * 2

View File

@ -764,11 +764,11 @@ class StackDepthTracker:
# UNPACK_SEQUENCE, BUILD_TUPLE,
# BUILD_LIST, CALL_FUNCTION, MAKE_FUNCTION, BUILD_SLICE
def UNPACK_SEQUENCE(self, count):
return count
return count-1
def BUILD_TUPLE(self, count):
return -count
return -count+1
def BUILD_LIST(self, count):
return -count
return -count+1
def CALL_FUNCTION(self, argc):
hi, lo = divmod(argc, 256)
return lo + hi * 2