SplitBasicBlock does not correctly count instructions when splitting basic blocks

Description

The compiler phase SplitBasicBlock counts instructions in basic blocks to determine whether the block should be split. The count is incorrect because pseudo-instructions like LABEL are also counted.

This can lead to infinite loops (which manifest as OutOfMemoryError), e.g. when using -X:opt:l2m_max_block_size=1.

Environment

All

Status

Assignee

Erik Brangs

Reporter

Erik Brangs

Labels

None

Components

Fix versions

Affects versions

Priority

Medium
Configure