path: root/tests
diff options
authorErik Verbruggen <erik.verbruggen@me.com>2013-12-19 10:37:34 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-08 17:04:19 +0100
commit2f9099443d9acd6583e92785afbb38b2e4dcbfd5 (patch)
treee56a31ef91f913e0f00c63b9024b769bd17ffa02 /tests
parent5657d00a92b34aa7528dd7cf7401ff7f493b68c5 (diff)
V4: optimize dominator frontier storage.
Changes the dominator frontier storage from a set of basic-blocks for every basic-block to a BasicBlockSet for every basic-block. This new class stores a maximum of 8 nodes in a vector, and switches to a bit vector when going beyond 8 nodes. This is important in two cases: most basic-blocks have 2-3 nodes in the frontier, and an array is faster than a set in these cases. The few cases where the frontier goes beyond 8 nodes, is when a switch statement is used with lots of cases that all fall-through. On regress-74474-003.js this reduces peak memory usage from 1.68G to 60M. The switch statement in this test results in 27000 basic-blocks. Change-Id: I42646522ba9f8642d42a5d70fc6b760bb47ae69f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions