Предположим, у меня очень узкий внутренний цикл, каждая итерация которого обращается к одному объекту бухгалтерии и мутирует его, который хранит некоторые простые данные об алгоритме и имеет простую логику управления им
Объект бухгалтерии является частнымfinal и все его методы являются приватными, final и @inline.Вот пример (в синтаксисе Scala):
object Frobnicate {
private class DataRemaining(val start: Int, val end: Int) {
@inline private def nextChunk = ....
}
def frobnicate {
// ...
val bookkeeper = new DataRemaining(0, 1000)
while( bookeeper.hasData ) {
val data = bookkeeper.nextChunk
// ......
}
}
}
Будет ли JVM когда-либо встроить весь объект DataRemaining в Frobnicate.frobnicate
?То есть он будет обрабатывать start
и end
как локальные переменные и вставлять код nextChunk непосредственно в frobnicate
?