Browse Source

Merge branch 'perf-testcase-set'

pull/156/head
Sami Vaarala 10 years ago
parent
commit
0363a68343
  1. 28
      Makefile
  2. 19
      perf-testcases/test-array-read.js
  3. 8
      perf-testcases/test-array-read.lua
  4. 11
      perf-testcases/test-array-read.pl
  5. 8
      perf-testcases/test-array-read.py
  6. 10
      perf-testcases/test-array-read.rb
  7. 18
      perf-testcases/test-array-write.js
  8. 8
      perf-testcases/test-array-write.lua
  9. 11
      perf-testcases/test-array-write.pl
  10. 8
      perf-testcases/test-array-write.py
  11. 10
      perf-testcases/test-array-write.rb
  12. 23
      perf-testcases/test-bitwise-ops.js
  13. 21
      perf-testcases/test-call-basic.js
  14. 11
      perf-testcases/test-call-basic.lua
  15. 12
      perf-testcases/test-call-basic.pl
  16. 10
      perf-testcases/test-call-basic.py
  17. 11
      perf-testcases/test-call-basic.rb
  18. 12
      perf-testcases/test-empty-loop.js
  19. 6
      perf-testcases/test-empty-loop.lua
  20. 8
      perf-testcases/test-empty-loop.pl
  21. 6
      perf-testcases/test-empty-loop.py
  22. 8
      perf-testcases/test-empty-loop.rb
  23. 13
      perf-testcases/test-fib.js
  24. 9
      perf-testcases/test-fib.lua
  25. 9
      perf-testcases/test-fib.pl
  26. 7
      perf-testcases/test-fib.py
  27. 9
      perf-testcases/test-fib.rb
  28. 3
      perf-testcases/test-hello-world.js
  29. 3
      perf-testcases/test-hello-world.lua
  30. 1
      perf-testcases/test-hello-world.pl
  31. 1
      perf-testcases/test-hello-world.py
  32. 1
      perf-testcases/test-hello-world.rb
  33. 26
      perf-testcases/test-hex-decode.js
  34. 21
      perf-testcases/test-hex-decode.py
  35. 30
      perf-testcases/test-json-serialize.js
  36. 22
      perf-testcases/test-json-serialize.py
  37. 37
      perf-testcases/test-json-string-bench.js
  38. 19
      perf-testcases/test-prop-read.js
  39. 8
      perf-testcases/test-prop-read.lua
  40. 11
      perf-testcases/test-prop-read.pl
  41. 8
      perf-testcases/test-prop-read.py
  42. 11
      perf-testcases/test-prop-read.rb
  43. 18
      perf-testcases/test-prop-write.js
  44. 8
      perf-testcases/test-prop-write.lua
  45. 10
      perf-testcases/test-prop-write.pl
  46. 8
      perf-testcases/test-prop-write.py
  47. 11
      perf-testcases/test-prop-write.rb
  48. 139
      perf-testcases/test-reg-readwrite-object.js
  49. 132
      perf-testcases/test-reg-readwrite-object.lua
  50. 130
      perf-testcases/test-reg-readwrite-object.pl
  51. 131
      perf-testcases/test-reg-readwrite-object.py
  52. 130
      perf-testcases/test-reg-readwrite-object.rb
  53. 139
      perf-testcases/test-reg-readwrite-plain.js
  54. 132
      perf-testcases/test-reg-readwrite-plain.lua
  55. 130
      perf-testcases/test-reg-readwrite-plain.pl
  56. 131
      perf-testcases/test-reg-readwrite-plain.py
  57. 130
      perf-testcases/test-reg-readwrite-plain.rb

28
Makefile

@ -1023,3 +1023,31 @@ massif-%: ecmascript-testcases/%.js duk
massif-helloworld: massif-test-dev-hello-world
massif-deepmerge: massif-test-dev-deepmerge
massif-arcfour: massif-test-dev-arcfour
# Perf test placeholder, quite inaccurate, simply based on "time".
# - Duktape is interpreted and uses reference counting
# - Python and Perl are interpreted and also use reference counting
# - Ruby and Lua are interpreted but don't use reference counting
# - Rhino compiles to Java bytecode and is ultimately JITed
perftest: duk
for i in perf-testcases/*.js; do echo \
"`basename $$i`:" \
"duk `time -f %U -o /tmp/time --quiet ./duk $$i >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"rhino `time -f %U -o /tmp/time --quiet rhino $$i >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"lua `time -f %U -o /tmp/time --quiet lua $${i%%.js}.lua >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"python `time -f %U -o /tmp/time --quiet python $${i%%.js}.py >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"perl `time -f %U -o /tmp/time --quiet perl $${i%%.js}.pl >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"ruby `time -f %U -o /tmp/time --quiet ruby $${i%%.js}.rb >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`"; \
done
perftestduk: duk
for i in perf-testcases/*.js; do echo \
"`basename $$i`:" \
"duk `time -f %U -o /tmp/time ./duk $$i >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`"; \
done
perftestduk3: duk
for i in perf-testcases/*.js; do echo \
"`basename $$i`: duk" \
"`time -f %U -o /tmp/time ./duk $$i >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"`time -f %U -o /tmp/time ./duk $$i >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`" \
"`time -f %U -o /tmp/time ./duk $$i >/dev/null 2>&1; cat /tmp/time; rm /tmp/time`"; \
done

19
perf-testcases/test-array-read.js

@ -0,0 +1,19 @@
/*
* Basic array read performance
*/
function test() {
var arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var i;
var ign;
for (i = 0; i < 1e8; i++) {
ign = arr[7];
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

8
perf-testcases/test-array-read.lua

@ -0,0 +1,8 @@
function test()
local arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
for i=1,1e8 do
local ign = arr[8]
end
end
test()

11
perf-testcases/test-array-read.pl

@ -0,0 +1,11 @@
sub test {
my @arr = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
my $i;
my $ign;
for ($i = 0; $i < 1e8; $i++) {
$ign = $arr[7];
}
}
test();

8
perf-testcases/test-array-read.py

@ -0,0 +1,8 @@
def test():
arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
i = 0
while i < 1e8:
ign = arr[7]
i += 1
test()

10
perf-testcases/test-array-read.rb

@ -0,0 +1,10 @@
def test()
arr = Array[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
i = 0
while i < 1e8 do
ign = arr[7]
i += 1
end
end
test()

18
perf-testcases/test-array-write.js

@ -0,0 +1,18 @@
/*
* Basic array write performance
*/
function test() {
var arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var i;
for (i = 0; i < 1e8; i++) {
arr[7] = 234;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

8
perf-testcases/test-array-write.lua

@ -0,0 +1,8 @@
function test()
local arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
for i=1,1e8 do
arr[8] = 234
end
end
test()

11
perf-testcases/test-array-write.pl

@ -0,0 +1,11 @@
sub test {
my @arr = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
my $i;
my $ign;
for ($i = 0; $i < 1e8; $i++) {
$arr[7] = 234;
}
}
test();

8
perf-testcases/test-array-write.py

@ -0,0 +1,8 @@
def test():
arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
i = 0
while i < 1e8:
arr[7] = 234
i += 1
test()

10
perf-testcases/test-array-write.rb

@ -0,0 +1,10 @@
def test()
arr = Array[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
i = 0
while i < 1e8 do
arr[7] = 234
i += 1
end
end
test()

23
perf-testcases/test-bitwise-ops.js

@ -0,0 +1,23 @@
function test() {
var x, y, z;
var i, n;
x = 0xdeadbeef;
y = 0xcafed00d;
for (i = 0, n = 1e7; i < n; i++) {
z = x & y;
z = x | y;
z = x ^ y;
z = x << y;
z = x >> y;
z = x >>> y;
z = ~x;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

21
perf-testcases/test-call-basic.js

@ -0,0 +1,21 @@
/*
* Basic function call performance.
*
* Focuses on the cases where "fast returns" are possible.
*/
function test() {
var i;
function f() { return; }
for (i = 0; i < 1e8; i++) {
f();
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

11
perf-testcases/test-call-basic.lua

@ -0,0 +1,11 @@
function test()
local function f()
return
end
for i=1,1e8 do
f()
end
end
test()

12
perf-testcases/test-call-basic.pl

@ -0,0 +1,12 @@
sub test {
my $i;
sub f { return; }
$i = 0;
for ($i = 0; $i < 1e8; $i++) {
f();
}
}
test();

10
perf-testcases/test-call-basic.py

@ -0,0 +1,10 @@
def test():
def f():
return
i = 0
while i < 1e8:
f()
i += 1
test()

11
perf-testcases/test-call-basic.rb

@ -0,0 +1,11 @@
def test()
def f() return end
i = 0
while i < 1e8 do
f()
i += 1
end
end
test()

12
perf-testcases/test-empty-loop.js

@ -0,0 +1,12 @@
function test() {
var i;
for (i = 0; i < 1e8; i++) {
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

6
perf-testcases/test-empty-loop.lua

@ -0,0 +1,6 @@
local function test()
local i = 0
while i < 1e8 do i = i + 1 end
--for i=1,1e8 do end
end
test()

8
perf-testcases/test-empty-loop.pl

@ -0,0 +1,8 @@
sub test {
my $i;
for ($i = 0; $i < 1e8; $i++) {
}
}
test();

6
perf-testcases/test-empty-loop.py

@ -0,0 +1,6 @@
def test():
i = 0
while i < 1e8:
i += 1
test()

8
perf-testcases/test-empty-loop.rb

@ -0,0 +1,8 @@
def test()
i = 0
while i < 1e8 do
i += 1
end
end
test()

13
perf-testcases/test-fib.js

@ -0,0 +1,13 @@
/*
* Fibonacci test, exercises call handling and recursion
*/
function fib(n) {
return n <= 1 ? n : fib(n - 2) + fib(n - 1);
}
try {
print(fib(35));
} catch (e) {
print(e.stack || e);
}

9
perf-testcases/test-fib.lua

@ -0,0 +1,9 @@
function fib(n)
if n <= 1 then
return n
else
return fib(n - 2) + fib(n - 1)
end
end
print(fib(35))

9
perf-testcases/test-fib.pl

@ -0,0 +1,9 @@
sub fib {
my $n = shift;
if ($n <= 1) {
return $n;
} else {
return fib($n - 2) + fib($n - 1);
}
}
print fib(35) . "\n";

7
perf-testcases/test-fib.py

@ -0,0 +1,7 @@
def fib(n):
if n <= 1:
return n
else:
return fib(n - 2) + fib(n - 1)
print(fib(35))

9
perf-testcases/test-fib.rb

@ -0,0 +1,9 @@
def fib(n)
if n <= 1 then
return n
else
return fib(n - 2) + fib(n - 1)
end
end
print(fib(35).to_s + "\n")

3
perf-testcases/test-hello-world.js

@ -0,0 +1,3 @@
// Hello world test for memory testing
print('Hello world!');

3
perf-testcases/test-hello-world.lua

@ -0,0 +1,3 @@
-- Hello world test for memory testing.
print('hello world!')

1
perf-testcases/test-hello-world.pl

@ -0,0 +1 @@
print("Hello world!\n");

1
perf-testcases/test-hello-world.py

@ -0,0 +1 @@
print('Hello world!')

1
perf-testcases/test-hello-world.rb

@ -0,0 +1 @@
print("Hello world!\n");

26
perf-testcases/test-hex-decode.js

@ -0,0 +1,26 @@
function test() {
var tmp1 = [];
var tmp2 = [];
var i, n;
print('build');
for (i = 0; i < 1024; i++) {
tmp1.push(Math.floor(Math.random() * 16).toString(16))
}
tmp1 = tmp1.join('');
for (i = 0; i < 1024; i++) {
tmp2.push(tmp1);
}
tmp2 = tmp2.join('');
print('run');
for (i = 0; i < 10000; i++) {
Duktape.dec('hex', tmp2);
}
}
if (typeof Duktape === 'object') {
test();
} else {
// Ignore on e.g. Rhino
}

21
perf-testcases/test-hex-decode.py

@ -0,0 +1,21 @@
import math
import random
def test():
tmp1 = []
tmp2 = []
print('build')
for i in xrange(1024):
tmp1.append('%x' % math.floor(random.random() * 16))
tmp1 = ''.join(tmp1)
for i in xrange(1024):
tmp2.append(tmp1)
tmp2 = ''.join(tmp2)
#print(len(tmp2))
print('run')
for i in xrange(10000):
ign = tmp2.decode('hex')
test()

30
perf-testcases/test-json-serialize.js

@ -0,0 +1,30 @@
function build() {
var obj = {};
obj.key1 = 'foo';
obj.key2 = 'bar';
obj.key3 = 'quux';
obj.key4 = 'baz';
obj.key5 = 'quuux';
obj.key6 = [ 'foo', 'bar', 'quux', 'baz', 'quuux' ];
obj.key7 = [ undefined, null, true, 123.456, 1e200, {}, {}, {} ];
return obj;
}
function test() {
var obj;
var i;
var ignore;
obj = build();
for (i = 0; i < 1e5; i++) {
ignore = JSON.stringify(obj);
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

22
perf-testcases/test-json-serialize.py

@ -0,0 +1,22 @@
import json
def build():
obj = {}
obj['key1'] = 'foo'
obj['key2'] = 'bar'
obj['key3'] = 'quux'
obj['key4'] = 'baz'
obj['key5'] = 'quuux'
obj['key6'] = [ 'foo', 'bar', 'quux', 'baz', 'quuux' ]
obj['key7'] = [ None, None, True, 123.456, 1e200, {}, {}, {} ]
return obj
def test():
obj = build()
i = 0
while i < 1e5:
ignore = json.dumps(obj)
i += 1
test()

37
perf-testcases/test-json-string-bench.js

@ -0,0 +1,37 @@
function rndAscii(len) {
var res = [];
var i;
for (i = 0; i < len; i++) {
if (Math.random() < 0.08) {
res.push(String.fromCharCode(Math.floor(Math.random() * 128)));
} else {
res.push(String.fromCharCode(Math.floor(Math.random() * 0x5f) + 0x20));
}
}
return res.join('');
}
function test() {
var sz = 1;
for (var i = 0; i <= 20; i++) {
var s = rndAscii(sz);
var obj = { key: s };
var start = Date.now();
var ign = JSON.stringify(obj);
//print(ign);
var end = Date.now();
var diff = end - start;
print(sz, start, end, diff,
diff * 1000 / sz, // microseconds/byte
(sz / (1024 * 1024)) / (diff / 1000) // megabytes/second
);
sz *= 2;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

19
perf-testcases/test-prop-read.js

@ -0,0 +1,19 @@
/*
* Basic property read performance
*/
function test() {
var obj = { xxx1: 1, xxx2: 2, xxx3: 3, xxx4: 4, foo: 123 };
var i;
var ign;
for (i = 0; i < 1e8; i++) {
ign = obj.foo;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

8
perf-testcases/test-prop-read.lua

@ -0,0 +1,8 @@
function test()
local obj = { xxx1 = 1, xxx2 = 2, xxx3 = 3, xxx4 = 4, foo = 123 }
for i=1,1e8 do
local ign = obj.foo
end
end
test()

11
perf-testcases/test-prop-read.pl

@ -0,0 +1,11 @@
sub test {
my %obj = ( 'xxx1' => 1, 'xxx2' => 2, 'xxx3' => 3, 'xxx4' => 4, 'foo' => 123 );
my $i;
my $ign;
for ($i = 0; $i < 1e8; $i++) {
$ign = $obj{'foo'};
}
}
test();

8
perf-testcases/test-prop-read.py

@ -0,0 +1,8 @@
def test():
obj = { 'xxx1': 1, 'xxx2': 2, 'xxx3': 3, 'xxx4': 4, 'foo': 123 }
i = 0
while i < 1e8:
ign = obj['foo']
i += 1
test()

11
perf-testcases/test-prop-read.rb

@ -0,0 +1,11 @@
def test()
obj = Hash["xxx1" => 1, "xxx2" => 2, "xxx3" => 3, "xxx4" => 4, "foo" => 123];
i = 0
while i < 1e8 do
ign = obj['foo']
i += 1
end
end
test()

18
perf-testcases/test-prop-write.js

@ -0,0 +1,18 @@
/*
* Basic property write performance
*/
function test() {
var obj = { xxx1: 1, xxx2: 2, xxx3: 3, xxx4: 4, foo: 123 };
var i;
for (i = 0; i < 1e8; i++) {
obj.foo = 234;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

8
perf-testcases/test-prop-write.lua

@ -0,0 +1,8 @@
function test()
local obj = { xxx1 = 1, xxx2 = 2, xxx3 = 3, xxx4 = 4, foo = 123 }
for i=1,1e8 do
obj.foo = 234
end
end
test()

10
perf-testcases/test-prop-write.pl

@ -0,0 +1,10 @@
sub test {
my %obj = ( 'xxx1' => 1, 'xxx2' => 2, 'xxx3' => 3, 'xxx4' => 4, 'foo' => 123 );
my $i;
for ($i = 0; $i < 1e8; $i++) {
$obj{'foo'} = 234;
}
}
test();

8
perf-testcases/test-prop-write.py

@ -0,0 +1,8 @@
def test():
obj = { 'xxx1': 1, 'xxx2': 2, 'xxx3': 4, 'xxx4': 4, 'foo': 123 }
i = 0
while i < 1e8:
obj['foo'] = 234
i += 1
test()

11
perf-testcases/test-prop-write.rb

@ -0,0 +1,11 @@
def test()
obj = Hash["xxx1" => 1, "xxx2" => 2, "xxx3" => 3, "xxx4" => 4, "foo" => 123];
i = 0
while i < 1e8 do
obj['foo'] = 234
i += 1
end
end
test()

139
perf-testcases/test-reg-readwrite-object.js

@ -0,0 +1,139 @@
/*
* Test bytecode register assignments with object values. Involves only
* a dispatch and a tval copy for a heap-allocated tval.
*/
function test() {
var a, b, c, d;
var i;
a = {}; b = {}; c = {}; d = {};
for (i = 0; i < 1e6; i++) {
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

132
perf-testcases/test-reg-readwrite-object.lua

@ -0,0 +1,132 @@
function test()
local a, b, c, d, i;
a = {}
b = {}
c = {}
d = {}
for i=1,1e6 do
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
end
end
test()

130
perf-testcases/test-reg-readwrite-object.pl

@ -0,0 +1,130 @@
sub test {
my $a, $b, $c, $d;
my $i;
$a = (); $b = (); $c = (); $d = ();
for ($i = 0; $i < 1e6; $i++) {
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
}
}
test();

131
perf-testcases/test-reg-readwrite-object.py

@ -0,0 +1,131 @@
def test():
a = {}
b = {}
c = {}
d = {}
i = 0
while i < 1e6:
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
i += 1
test()

130
perf-testcases/test-reg-readwrite-object.rb

@ -0,0 +1,130 @@
def test()
a = Hash[]; b = Hash[]; c = Hash[]; d = Hash[]
i = 0
while i < 1e6 do
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
i += 1
end
end
test()

139
perf-testcases/test-reg-readwrite-plain.js

@ -0,0 +1,139 @@
/*
* Test bytecode register assignments with plain values. Involves only
* a dispatch and a tval copy for a non-heap-allocated tval.
*/
function test() {
var a, b, c, d;
var i;
a = 1; b = 2; c = 3; d = 4;
for (i = 0; i < 1e6; i++) {
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
// 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b;
}
}
try {
test();
} catch (e) {
print(e.stack || e);
}

132
perf-testcases/test-reg-readwrite-plain.lua

@ -0,0 +1,132 @@
function test()
local a, b, c, d, i;
a = 1
b = 2
c = 3
d = 4
for i=1,1e6 do
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
-- 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
end
end
test()

130
perf-testcases/test-reg-readwrite-plain.pl

@ -0,0 +1,130 @@
sub test {
my $a, $b, $c, $d;
my $i;
$a = 1; $b = 2; $c = 3; $d = 4;
for ($i = 0; $i < 1e6; $i++) {
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
# 100
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
$a = $a; $a = $b; $a = $c; $a = $d; $b = $a; $b = $b; $b = $c; $b = $d; $c = $a; $c = $b;
}
}
test();

131
perf-testcases/test-reg-readwrite-plain.py

@ -0,0 +1,131 @@
def test():
a = 1
b = 2
c = 3
d = 4
i = 0
while i < 1e6:
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
i += 1
test()

130
perf-testcases/test-reg-readwrite-plain.rb

@ -0,0 +1,130 @@
def test()
a = 1; b = 2; c = 3; d = 4
i = 0
while i < 1e6 do
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
# 100
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
a = a; a = b; a = c; a = d; b = a; b = b; b = c; b = d; c = a; c = b
i += 1
end
end
test()
Loading…
Cancel
Save