edwardbeckett
4/11/2017 - 2:36 PM

Demo to assert inlining methods...

Demo to assert inlining methods...

    112    1       3       java.lang.AbstractStringBuilder::newCapacity (39 bytes)
                              @ 31   java.lang.AbstractStringBuilder::hugeCapacity (28 bytes)
                                @ 11   java.lang.OutOfMemoryError::<init> (5 bytes)   don't inline Throwable constructors
    112    2       3       java.lang.String::hashCode (55 bytes)
    113    3       3       java.lang.String::equals (81 bytes)
    114    4       3       java.lang.Object::<init> (1 bytes)
    114    5       3       java.lang.String::indexOf (70 bytes)
                              @ 66   java.lang.String::indexOfSupplementary (71 bytes)   callee is too large
    114    9     n 0       java.lang.System::arraycopy (native)   (static)
    114    7       3       java.lang.Math::min (11 bytes)
    115   10       3       java.lang.String::indexOf (7 bytes)
                              @ 3   java.lang.String::indexOf (70 bytes)   callee is too large
    115   12       4       java.lang.String::indexOf (70 bytes)
    115   11       3       java.util.Arrays::copyOfRange (63 bytes)
                              @ 16   java.lang.StringBuilder::<init> (7 bytes)
                                @ 3   java.lang.AbstractStringBuilder::<init> (12 bytes)
                                  @ 1   java.lang.Object::<init> (1 bytes)
                              @ 20   java.lang.StringBuilder::append (8 bytes)
                                @ 2   java.lang.AbstractStringBuilder::append (62 bytes)   callee is too large
                              @ 25   java.lang.StringBuilder::append (8 bytes)
                                @ 2   java.lang.AbstractStringBuilder::append (50 bytes)   callee is too large
                              @ 29   java.lang.StringBuilder::append (8 bytes)
                                @ 2   java.lang.AbstractStringBuilder::append (62 bytes)   callee is too large
                              @ 32   java.lang.StringBuilder::toString (17 bytes)
                                @ 13   java.lang.String::<init> (82 bytes)   callee is too large
                              @ 35   java.lang.IllegalArgumentException::<init> (6 bytes)   don't inline Throwable constructors
                              @ 54   java.lang.Math::min (11 bytes)
                              @ 57   java.lang.System::arraycopy (0 bytes)   intrinsic
    115   13       4       java.lang.String::charAt (29 bytes)
    115    8       3       java.lang.String::<init> (82 bytes)
                              @ 1   java.lang.Object::<init> (1 bytes)
                              @ 13  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 30  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 65  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 75   java.util.Arrays::copyOfRange (63 bytes)   callee is too large
    116    6       3       java.lang.String::substring (79 bytes)
                              @ 9  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 27  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 44  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 75   java.lang.String::<init> (82 bytes)   callee is too large
    117   14       3       java.lang.CharacterData::of (120 bytes)
    117   16       3       java.lang.String::length (6 bytes)
    117    5       3       java.lang.String::indexOf (70 bytes)   made not entrant
    117   15       3       java.lang.CharacterDataLatin1::getProperties (11 bytes)
    117   17       3       java.lang.Character::toUpperCase (6 bytes)
                              @ 1   java.lang.Character::toUpperCase (9 bytes)
                                @ 1   java.lang.CharacterData::of (120 bytes)   callee is too large
                                @ 5   java.lang.CharacterData::toUpperCase (0 bytes)   no static binding
    117   18       3       java.util.TreeMap::parentOf (13 bytes)
    117   19       3       java.lang.Character::toUpperCase (9 bytes)
                              @ 1   java.lang.CharacterData::of (120 bytes)   callee is too large
                              @ 5   java.lang.CharacterData::toUpperCase (0 bytes)   no static binding
    117   20       3       java.lang.CharacterDataLatin1::toUpperCase (53 bytes)
                              @ 4   java.lang.CharacterDataLatin1::getProperties (11 bytes)
    117   22       3       java.lang.ProcessEnvironment$NameComparator::compare (90 bytes)
                              @ 1   java.lang.String::length (6 bytes)
                              @ 6   java.lang.String::length (6 bytes)
                              @ 14   java.lang.Math::min (11 bytes)
                              @ 32   java.lang.String::charAt (29 bytes)
                                @ 18  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 40   java.lang.String::charAt (29 bytes)
                                @ 18  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 54   java.lang.Character::toUpperCase (6 bytes)
                                @ 1   java.lang.Character::toUpperCase (9 bytes)
                                  @ 1   java.lang.CharacterData::of (120 bytes)   callee is too large
                                  @ 5   java.lang.CharacterData::toUpperCase (0 bytes)   no static binding
                              @ 61   java.lang.Character::toUpperCase (6 bytes)
                                @ 1   java.lang.Character::toUpperCase (9 bytes)
                                  @ 1   java.lang.CharacterData::of (120 bytes)   callee is too large
                                  @ 5   java.lang.CharacterData::toUpperCase (0 bytes)   no static binding
    118   25       4       java.lang.String::hashCode (55 bytes)
    118   26       3       java.io.WinNTFileSystem::normalize (143 bytes)
                              @ 1   java.lang.String::length (6 bytes)
                              @ 31   java.lang.String::charAt (29 bytes)
                                @ 18  java/lang/StringIndexOutOfBoundsException::<init> (not loaded)   not inlineable
                              @ 61   java.io.WinNTFileSystem::normalize (231 bytes)   callee is too large
                              @ 90   java.io.WinNTFileSystem::normalize (231 bytes)   callee is too large
                              @ 111   java.io.WinNTFileSystem::normalize (231 bytes)   callee is too large
                              @ 137   java.io.WinNTFileSystem::normalize (231 bytes)   callee is too large
    119   21       3       java.lang.ProcessEnvironment$NameComparator::compare (13 bytes)
                              @ 9   java.lang.ProcessEnvironment$NameComparator::compare (90 bytes)   callee is too large
    119   23       3       java.lang.AbstractStringBuilder::append (50 bytes)
                              @ 5   java.lang.AbstractStringBuilder::appendNull (56 bytes)   callee is too large
                              @ 10   java.lang.String::length (6 bytes)
                              @ 21   java.lang.AbstractStringBuilder::ensureCapacityInternal (27 bytes)
                                @ 17   java.lang.AbstractStringBuilder::newCapacity (39 bytes)   callee is too large
                                @ 20   java.util.Arrays::copyOf (19 bytes)
                                  @ 11   java.lang.Math::min (11 bytes)
                                  @ 14   java.lang.System::arraycopy (0 bytes)   intrinsic
                              @ 35   java.lang.String::getChars (62 bytes)   callee is too large
    119   24       1       java.io.File::getPrefixLength (5 bytes)
    119   27       4       java.lang.AbstractStringBuilder::ensureCapacityInternal (27 bytes)
                              @ 17   java.lang.AbstractStringBuilder::newCapacity (39 bytes)   inline (hot)
                                @ 31   java.lang.AbstractStringBuilder::hugeCapacity (28 bytes)   never executed
                              @ 20   java.util.Arrays::copyOf (19 bytes)   inline (hot)
                                @ 11   java.lang.Math::min (11 bytes)   (intrinsic)
                                @ 14   java.lang.System::arraycopy (0 bytes)   (intrinsic)
    120    2       3       java.lang.String::hashCode (55 bytes)   made not entrant
    120   28       3       java.util.HashMap::hash (20 bytes)
                              @ 9   java.lang.Object::hashCode (0 bytes)   no static binding
    122   29       3       java.lang.String::startsWith (72 bytes)
    122   30       3       java.lang.String::startsWith (7 bytes)
                              @ 3   java.lang.String::startsWith (72 bytes)   callee is too large
    122   32       3       java.util.HashMap$Node::<init> (26 bytes)
                              @ 1   java.lang.Object::<init> (1 bytes)
    122   31       1       java.net.URL::getQuery (5 bytes)
    122   33       4       java.lang.AbstractStringBuilder::append (29 bytes)
    122   34       4       java.io.WinNTFileSystem::isSlash (18 bytes)
    122   35  s    4       java.lang.StringBuffer::append (13 bytes)
                              @ 7   java.lang.AbstractStringBuilder::ensureCapacityInternal (27 bytes)   inline (hot)
                                @ 17   java.lang.AbstractStringBuilder::newCapacity (39 bytes)   inline (hot)
                                  @ 31   java.lang.AbstractStringBuilder::hugeCapacity (28 bytes)   never executed
                                @ 20   java.util.Arrays::copyOf (19 bytes)   inline (hot)
                                  @ 11   java.lang.Math::min (11 bytes)   (intrinsic)
                                  @ 14   java.lang.System::arraycopy (0 bytes)   (intrinsic)
    123   36       3       java.util.HashMap::getNode (148 bytes)
                              @ 59   java.lang.Object::equals (11 bytes)   no static binding
                              @ 94   java.util.HashMap$TreeNode::getTreeNode (22 bytes)   not inlineable
                              @ 126   java.lang.Object::equals (11 bytes)   no static binding
                              @ 7   java.lang.AbstractStringBuilder::append (29 bytes)   inline (hot)
                                @ 7   java.lang.AbstractStringBuilder::ensureCapacityInternal (27 bytes)   inline (hot)
                                  @ 17   java.lang.AbstractStringBuilder::newCapacity (39 bytes)   inline (hot)
                                    @ 31   java.lang.AbstractStringBuilder::hugeCapacity (28 bytes)   never executed
                                  @ 20   java.util.Arrays::copyOf (19 bytes)   inline (hot)
                                    @ 11   java.lang.Math::min (11 bytes)   (intrinsic)
                                    @ 14   java.lang.System::arraycopy (0 bytes)   (intrinsic)
public class Inline {

    public Integer someMath( int n, int i){
        return n + i * 3;
    }

    public static void main(String[] args) {
        new Inline().someMath(3, 3);
    }
}