Skip to content

Commit b6939a4

Browse files
committed
reuse result of operation on a variable, so that variable doesn't need
to be GetLocal'd twice
1 parent 9cc8e74 commit b6939a4

File tree

2 files changed

+141
-135
lines changed

2 files changed

+141
-135
lines changed

sha1-generator.py

+13-7
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,17 @@
1313
k = 0xCA62C1D6
1414
if j < 16:
1515
print "var w%s:uint = byteInput.readUnsignedInt();" % j
16+
print "tmp = ((a << 5) | (a >>> 27)) + (%s) + e + 0x%08X + w%s; " \
17+
"e = d; " \
18+
"d = c; " \
19+
"c = (b << 30) | (b >>> 2); " \
20+
"b = a; " \
21+
"a = tmp;" % (f, k, j % 16)
1622
else:
17-
print "w%s ^= w%s ^ w%s ^ w%s; w%s = (w%s << 1) | (w%s >>> 31);" % (j % 16, (j - 3) % 16, (j - 8) % 16, (j - 14) % 16, j % 16, j % 16, j % 16)
18-
print "tmp = ((a << 5) | (a >>> 27)) + (%s) + e + 0x%08X + w%s; " \
19-
"e = d; " \
20-
"d = c; " \
21-
"c = (b << 30) | (b >>> 2); " \
22-
"b = a; " \
23-
"a = tmp;" % (f, k, j % 16)
23+
print "w%s ^= w%s ^ w%s ^ w%s;" % (j % 16, (j - 3) % 16, (j - 8) % 16, (j - 14) % 16)
24+
print "tmp = ((a << 5) | (a >>> 27)) + (%s) + e + 0x%08X + (w%s = (w%s << 1) | (w%s >>> 31)); " \
25+
"e = d; " \
26+
"d = c; " \
27+
"c = (b << 30) | (b >>> 2); " \
28+
"b = a; " \
29+
"a = tmp;" % (f, k, j % 16, j % 16, j % 16)

0 commit comments

Comments
 (0)