{"entry_id": "67f63122-b966-45c9-abb8-86603c46bf4e", "infos": [{"txt": "JEP draft:", "language": "english", "position": {"atoms": [{"position_id": 0, "txt": "JEP draft:", "x": "//title"}]}, "tags": [], "label": "O", "web_segment_id": 0, "global_sentence_id": 0, "edu_l1_label": "EDU_O"}, {"txt": " Hot Code Heap", "language": "english", "position": {"atoms": [{"position_id": 0, "txt": " Hot Code Heap", "x": "//title"}]}, "tags": [], "label": "O", "web_segment_id": 0, "global_sentence_id": 1, "edu_l1_label": "EDU_O"}, {"txt": "JEP draft:", "language": "english", "position": {"atoms": [{"position_id": 367, "txt": "JEP draft:", "x": "/html/body/div[1]/h1"}]}, "tags": ["h1"], "label": "article_title", "web_segment_id": 1, "global_sentence_id": 2, "edu_l1_label": "BOT"}, {"txt": " Hot Code Heap", "language": "english", "position": {"atoms": [{"position_id": 368, "txt": " Hot Code Heap", "x": "/html/body/div[1]/h1"}]}, "tags": ["h1"], "label": "article_title", "web_segment_id": 1, "global_sentence_id": 3, "edu_l1_label": "BOT"}, {"txt": "<table <table class=\"head\" position_id=\"9\"><tbody position_id=\"10\"><tr position_id=\"11\"><td position_id=\"12\">Owner</td><td position_id=\"13\">Dmitry Chuyko</td></tr><tr position_id=\"14\"><td position_id=\"15\">Type</td><td position_id=\"16\">Feature</td></tr><tr position_id=\"17\"><td position_id=\"18\">Scope</td><td position_id=\"19\">JDK</td></tr><tr position_id=\"20\"><td position_id=\"21\">Status</td><td position_id=\"22\">Draft</td></tr><tr position_id=\"23\"><td position_id=\"24\">Component</td><td position_id=\"25\">hotspot / compiler</td></tr><tr position_id=\"26\"><td position_id=\"27\">Effort</td><td position_id=\"28\">S</td></tr><tr position_id=\"29\"><td position_id=\"30\">Duration</td><td position_id=\"31\">S</td></tr><tr position_id=\"32\"><td position_id=\"33\">Created</td><td position_id=\"34\">2024/03/14 16:30</td></tr><tr position_id=\"35\"><td position_id=\"36\">Updated</td><td position_id=\"37\">2025/03/12 20:38</td></tr><tr position_id=\"38\"><td position_id=\"39\">Issue</td><td position_id=\"40\"><a href=\"https://bugs.openjdk.org/browse/JDK-8328186\" position_id=\"41\">8328186</a></td></tr></tbody></table>", "language": "english", "position": {"atoms": [{"position_id": 9, "txt": "<table <table class=\"head\" position_id=\"9\"><tbody position_id=\"10\"><tr position_id=\"11\"><td position_id=\"12\">Owner</td><td position_id=\"13\">Dmitry Chuyko</td></tr><tr position_id=\"14\"><td position_id=\"15\">Type</td><td position_id=\"16\">Feature</td></tr><tr position_id=\"17\"><td position_id=\"18\">Scope</td><td position_id=\"19\">JDK</td></tr><tr position_id=\"20\"><td position_id=\"21\">Status</td><td position_id=\"22\">Draft</td></tr><tr position_id=\"23\"><td position_id=\"24\">Component</td><td position_id=\"25\">hotspot / compiler</td></tr><tr position_id=\"26\"><td position_id=\"27\">Effort</td><td position_id=\"28\">S</td></tr><tr position_id=\"29\"><td position_id=\"30\">Duration</td><td position_id=\"31\">S</td></tr><tr position_id=\"32\"><td position_id=\"33\">Created</td><td position_id=\"34\">2024/03/14 16:30</td></tr><tr position_id=\"35\"><td position_id=\"36\">Updated</td><td position_id=\"37\">2025/03/12 20:38</td></tr><tr position_id=\"38\"><td position_id=\"39\">Issue</td><td position_id=\"40\"><a href=\"https://bugs.openjdk.org/browse/JDK-8328186\" position_id=\"41\">8328186</a></td></tr></tbody></table>", "x": "/html/body/div[1]/table"}]}, "tags": ["table"], "label": "table", "web_segment_id": 2, "global_sentence_id": 4, "edu_l1_label": "EDU_O"}, {"txt": "Summary", "language": "english", "position": {"atoms": [{"position_id": 370, "txt": "Summary", "x": "/html/body/div[1]/div/h2[1]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 3, "global_sentence_id": 5, "edu_l1_label": "BOS"}, {"txt": "Extend the segmented code cache with a new optional \"hot\" code heap to compactly accommodate a part of non-profiled methods.", "language": "english", "position": {"atoms": [{"position_id": 372, "txt": "Extend the segmented code cache with a new optional \"hot\" code heap to compactly accommodate a part of non-profiled methods.", "x": "/html/body/div[1]/div/p[1]"}]}, "tags": [], "label": "content", "web_segment_id": 4, "global_sentence_id": 6, "edu_l1_label": "IOS"}, {"txt": " Extend the compiler control mechanism to mark certain methods as hot so that they compile into the hot code heap.", "language": "english", "position": {"atoms": [{"position_id": 373, "txt": " Extend the compiler control mechanism to mark certain methods as hot so that they compile into the hot code heap.", "x": "/html/body/div[1]/div/p[1]"}]}, "tags": [], "label": "abstract", "web_segment_id": 4, "global_sentence_id": 7, "edu_l1_label": "IOS"}, {"txt": "Goals", "language": "english", "position": {"atoms": [{"position_id": 375, "txt": "Goals", "x": "/html/body/div[1]/div/h2[2]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 5, "global_sentence_id": 8, "edu_l1_label": "BOS"}, {"txt": "Separate the code that is known to be hot.", "language": "english", "position": {"atoms": [{"position_id": 377, "txt": "Separate the code that is known to be hot.", "x": "/html/body/div[1]/div/ul[1]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 6, "global_sentence_id": 9, "edu_l1_label": "IOS"}, {"txt": "Decrease fragmentation of highly-optimized code.", "language": "english", "position": {"atoms": [{"position_id": 379, "txt": "Decrease fragmentation of highly-optimized code.", "x": "/html/body/div[1]/div/ul[1]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 7, "global_sentence_id": 10, "edu_l1_label": "IOS"}, {"txt": "Reduce the negative impact of compiled code hotness scattering on the performance of Java applications.", "language": "english", "position": {"atoms": [{"position_id": 381, "txt": "Reduce the negative impact of compiled code hotness scattering on the performance of Java applications.", "x": "/html/body/div[1]/div/ul[1]/li[3]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 8, "global_sentence_id": 11, "edu_l1_label": "IOS"}, {"txt": "Method-context dependent control for placing C2 compiled blobs into the hot code heap.", "language": "english", "position": {"atoms": [{"position_id": 383, "txt": "Method-context dependent control for placing C2 compiled blobs into the hot code heap.", "x": "/html/body/div[1]/div/ul[1]/li[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 9, "global_sentence_id": 12, "edu_l1_label": "IOS"}, {"txt": "Provide a basis for the possibility of profiling and compacting the code using the virtual machine itself.", "language": "english", "position": {"atoms": [{"position_id": 385, "txt": "Provide a basis for the possibility of profiling and compacting the code using the virtual machine itself.", "x": "/html/body/div[1]/div/ul[1]/li[5]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 10, "global_sentence_id": 13, "edu_l1_label": "IOS"}, {"txt": "Non-Goals", "language": "english", "position": {"atoms": [{"position_id": 387, "txt": "Non-Goals", "x": "/html/body/div[1]/div/h2[3]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 11, "global_sentence_id": 14, "edu_l1_label": "BOS"}, {"txt": "Determine hot or cold code.", "language": "english", "position": {"atoms": [{"position_id": 389, "txt": "Determine hot or cold code.", "x": "/html/body/div[1]/div/ul[2]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 12, "global_sentence_id": 15, "edu_l1_label": "IOS"}, {"txt": " That can be done using existing profilers now.", "language": "english", "position": {"atoms": [{"position_id": 390, "txt": " That can be done using existing profilers now.", "x": "/html/body/div[1]/div/ul[2]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 12, "global_sentence_id": 16, "edu_l1_label": "IOS"}, {"txt": "Optimize code placement within the hot code heap.", "language": "english", "position": {"atoms": [{"position_id": 392, "txt": "Optimize code placement within the hot code heap.", "x": "/html/body/div[1]/div/ul[2]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 13, "global_sentence_id": 17, "edu_l1_label": "IOS"}, {"txt": " The current allocation mechanism is reused.", "language": "english", "position": {"atoms": [{"position_id": 393, "txt": " The current allocation mechanism is reused.", "x": "/html/body/div[1]/div/ul[2]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 13, "global_sentence_id": 18, "edu_l1_label": "IOS"}, {"txt": "Success Metrics", "language": "english", "position": {"atoms": [{"position_id": 395, "txt": "Success Metrics", "x": "/html/body/div[1]/div/h2[4]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 14, "global_sentence_id": 19, "edu_l1_label": "BOS"}, {"txt": "Reduced application execution time.", "language": "english", "position": {"atoms": [{"position_id": 397, "txt": "Reduced application execution time.", "x": "/html/body/div[1]/div/ul[3]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 15, "global_sentence_id": 20, "edu_l1_label": "IOS"}, {"txt": "Reduced fragmentation of selected methods in the code cache.", "language": "english", "position": {"atoms": [{"position_id": 399, "txt": "Reduced fragmentation of selected methods in the code cache.", "x": "/html/body/div[1]/div/ul[3]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 16, "global_sentence_id": 21, "edu_l1_label": "IOS"}, {"txt": "Motivation", "language": "english", "position": {"atoms": [{"position_id": 401, "txt": "Motivation", "x": "/html/body/div[1]/div/h2[5]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 17, "global_sentence_id": 22, "edu_l1_label": "BOS"}, {"txt": "Sparse hot code is slower", "language": "english", "position": {"atoms": [{"position_id": 403, "txt": "Sparse hot code is slower", "x": "/html/body/div[1]/div/h3[1]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 18, "global_sentence_id": 23, "edu_l1_label": "IOS"}, {"txt": "Some applications may lose their performance due to the huge JVM code cache.", "language": "english", "position": {"atoms": [{"position_id": 405, "txt": "Some applications may lose their performance due to the huge JVM code cache.", "x": "/html/body/div[1]/div/p[2]"}]}, "tags": [], "label": "content", "web_segment_id": 19, "global_sentence_id": 24, "edu_l1_label": "IOS"}, {"txt": " This happens if several conditions are met:", "language": "english", "position": {"atoms": [{"position_id": 406, "txt": " This happens if several conditions are met:", "x": "/html/body/div[1]/div/p[2]"}]}, "tags": [], "label": "content", "web_segment_id": 19, "global_sentence_id": 25, "edu_l1_label": "IOS"}, {"txt": "A lot of code has been JIT-compiled (hundreds of megabytes, gigabytes).", "language": "english", "position": {"atoms": [{"position_id": 408, "txt": "A lot of code has been JIT-compiled (hundreds of megabytes, gigabytes).", "x": "/html/body/div[1]/div/ol/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 20, "global_sentence_id": 26, "edu_l1_label": "IOS"}, {"txt": "There is a vast amount of hot code.", "language": "english", "position": {"atoms": [{"position_id": 410, "txt": "There is a vast amount of hot code.", "x": "/html/body/div[1]/div/ol/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 21, "global_sentence_id": 27, "edu_l1_label": "IOS"}, {"txt": "The code that is really important (hot) is scattered throughout the code cache.", "language": "english", "position": {"atoms": [{"position_id": 412, "txt": "The code that is really important (hot) is scattered throughout the code cache.", "x": "/html/body/div[1]/div/ol/li[3]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 22, "global_sentence_id": 28, "edu_l1_label": "IOS"}, {"txt": "The CPU has penalties for executing large amounts of scattered code.", "language": "english", "position": {"atoms": [{"position_id": 414, "txt": "The CPU has penalties for executing large amounts of scattered code.", "x": "/html/body/div[1]/div/ol/li[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 23, "global_sentence_id": 29, "edu_l1_label": "IOS"}, {"txt": "On systems where this problem is significant, it cannot be solved by other means such as large pages.", "language": "english", "position": {"atoms": [{"position_id": 416, "txt": "On systems where this problem is significant, it cannot be solved by other means such as large pages.", "x": "/html/body/div[1]/div/p[3]"}]}, "tags": [], "label": "content", "web_segment_id": 24, "global_sentence_id": 30, "edu_l1_label": "IOS"}, {"txt": " The slowdown depends on the amount of hot code, its sparseness, and the type of the processor.", "language": "english", "position": {"atoms": [{"position_id": 417, "txt": " The slowdown depends on the amount of hot code, its sparseness, and the type of the processor.", "x": "/html/body/div[1]/div/p[3]"}]}, "tags": [], "label": "content", "web_segment_id": 24, "global_sentence_id": 31, "edu_l1_label": "IOS"}, {"txt": " The slowdown simulated in benchmarks can reach tens of percent.", "language": "english", "position": {"atoms": [{"position_id": 418, "txt": " The slowdown simulated in benchmarks can reach tens of percent.", "x": "/html/body/div[1]/div/p[3]"}]}, "tags": [], "label": "content", "web_segment_id": 24, "global_sentence_id": 32, "edu_l1_label": "IOS"}, {"txt": "Not all compiled code is called frequently all the time", "language": "english", "position": {"atoms": [{"position_id": 420, "txt": "Not all compiled code is called frequently all the time", "x": "/html/body/div[1]/div/h3[2]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 25, "global_sentence_id": 33, "edu_l1_label": "IOS"}, {"txt": "In HotSpot, methods are JIT compiled after they have been used intensively enough, in the order of their active usage detection.", "language": "english", "position": {"atoms": [{"position_id": 422, "txt": "In HotSpot, methods are JIT compiled after they have been used intensively enough, in the order of their active usage detection.", "x": "/html/body/div[1]/div/p[4]"}]}, "tags": [], "label": "content", "web_segment_id": 26, "global_sentence_id": 34, "edu_l1_label": "IOS"}, {"txt": " Many Tier 4 methods may be used not so frequently, although they may remain important for latency.", "language": "english", "position": {"atoms": [{"position_id": 423, "txt": " Many Tier 4 methods may be used not so frequently, although they may remain important for latency.", "x": "/html/body/div[1]/div/p[4]"}]}, "tags": [], "label": "content", "web_segment_id": 26, "global_sentence_id": 35, "edu_l1_label": "IOS"}, {"txt": " As a result, there are compiled methods that are:", "language": "english", "position": {"atoms": [{"position_id": 424, "txt": " As a result, there are compiled methods that are:", "x": "/html/body/div[1]/div/p[4]"}]}, "tags": [], "label": "content", "web_segment_id": 26, "global_sentence_id": 36, "edu_l1_label": "IOS"}, {"txt": "only a fraction of the number and size of all compiled methods;", "language": "english", "position": {"atoms": [{"position_id": 426, "txt": "only a fraction of the number and size of all compiled methods;", "x": "/html/body/div[1]/div/ul[4]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 27, "global_sentence_id": 37, "edu_l1_label": "IOS"}, {"txt": "responsible for a significant portion of the execution time;", "language": "english", "position": {"atoms": [{"position_id": 428, "txt": "responsible for a significant portion of the execution time;", "x": "/html/body/div[1]/div/ul[4]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 28, "global_sentence_id": 38, "edu_l1_label": "IOS"}, {"txt": "can be detected during the selected period of program activity.", "language": "english", "position": {"atoms": [{"position_id": 430, "txt": "can be detected during the selected period of program activity.", "x": "/html/body/div[1]/div/ul[4]/li[3]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 29, "global_sentence_id": 39, "edu_l1_label": "IOS"}, {"txt": "Hot code co-location", "language": "english", "position": {"atoms": [{"position_id": 432, "txt": "Hot code co-location", "x": "/html/body/div[1]/div/h3[3]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 30, "global_sentence_id": 40, "edu_l1_label": "IOS"}, {"txt": "Co-locating hot code using profile information can improve performance.", "language": "english", "position": {"atoms": [{"position_id": 434, "txt": "Co-locating hot code using profile information can improve performance.", "x": "/html/body/div[1]/div/p[5]"}]}, "tags": [], "label": "content", "web_segment_id": 31, "global_sentence_id": 41, "edu_l1_label": "IOS"}, {"txt": "The segmented code cache https://openjdk.java.net/jeps/197 helps achieve this goal, but the code is not further separated after instrumentation has helped place it in non-profiled space.", "language": "english", "position": {"atoms": [{"position_id": 436, "txt": "The segmented code cache ", "x": "/html/body/div[1]/div/p[6]"}, {"position_id": 438, "txt": "https://openjdk.java.net/jeps/197", "x": "/html/body/div[1]/div/p[6]/a[1]"}, {"position_id": 440, "txt": " helps achieve this goal, but the code is not further separated after instrumentation has helped place it in non-profiled space.", "x": "/html/body/div[1]/div/p[6]/a[1]"}]}, "tags": [], "label": "content", "web_segment_id": 32, "global_sentence_id": 42, "edu_l1_label": "IOS"}, {"txt": " Later work in this direction resulted in code heaps reordering https://bugs.openjdk.org/browse/JDK-8280872.", "language": "english", "position": {"atoms": [{"position_id": 441, "txt": " Later work in this direction resulted in code heaps reordering ", "x": "/html/body/div[1]/div/p[6]/a[1]"}, {"position_id": 443, "txt": "https://bugs.openjdk.org/browse/JDK-8280872", "x": "/html/body/div[1]/div/p[6]/a[2]"}, {"position_id": 445, "txt": ".", "x": "/html/body/div[1]/div/p[6]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 32, "global_sentence_id": 43, "edu_l1_label": "IOS"}, {"txt": "The prototype demonstrated slowdown mitigation (results comparable to measured regressions and limited by the profiling quality):", "language": "english", "position": {"atoms": [{"position_id": 447, "txt": "The prototype demonstrated slowdown mitigation (results comparable to measured regressions and limited by the profiling quality):", "x": "/html/body/div[1]/div/p[7]"}]}, "tags": [], "label": "content", "web_segment_id": 33, "global_sentence_id": 44, "edu_l1_label": "IOS"}, {"txt": " https://github.com/bell-sw/hotcode-agent/blob/master/results/performance.adoc", "language": "english", "position": {"atoms": [{"position_id": 448, "txt": " ", "x": "/html/body/div[1]/div/p[7]"}, {"position_id": 450, "txt": "https://github.com/bell-sw/hotcode-agent/blob/master/results/performance.adoc", "x": "/html/body/div[1]/div/p[7]/a"}]}, "tags": [], "label": "content", "web_segment_id": 33, "global_sentence_id": 45, "edu_l1_label": "IOS"}, {"txt": "Hot code marking", "language": "english", "position": {"atoms": [{"position_id": 452, "txt": "Hot code marking", "x": "/html/body/div[1]/div/h3[4]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 34, "global_sentence_id": 46, "edu_l1_label": "IOS"}, {"txt": "It is also possible to enhance compilation policy for the hot code for better performance and to perform more aggressive sweeping of colder code to reduce code cache.", "language": "english", "position": {"atoms": [{"position_id": 454, "txt": "It is also possible to enhance compilation policy for the hot code for better performance and to perform more aggressive sweeping of colder code to reduce code cache.", "x": "/html/body/div[1]/div/p[8]"}]}, "tags": [], "label": "content", "web_segment_id": 35, "global_sentence_id": 47, "edu_l1_label": "IOS"}, {"txt": "Description", "language": "english", "position": {"atoms": [{"position_id": 456, "txt": "Description", "x": "/html/body/div[1]/div/h2[6]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 36, "global_sentence_id": 48, "edu_l1_label": "BOS"}, {"txt": "New code heap", "language": "english", "position": {"atoms": [{"position_id": 458, "txt": "New code heap", "x": "/html/body/div[1]/div/h3[5]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 37, "global_sentence_id": 49, "edu_l1_label": "IOS"}, {"txt": "If the segmented code cache is enabled (-XX:", "language": "english", "position": {"atoms": [{"position_id": 460, "txt": "If the segmented code cache is enabled (-XX:", "x": "/html/body/div[1]/div/p[9]"}]}, "tags": [], "label": "content", "web_segment_id": 38, "global_sentence_id": 50, "edu_l1_label": "IOS"}, {"txt": "+SegmentedCodeCache), the hot code heap can be allocated when the JVM starts.", "language": "english", "position": {"atoms": [{"position_id": 461, "txt": "+SegmentedCodeCache), the hot code heap can be allocated when the JVM starts.", "x": "/html/body/div[1]/div/p[9]"}]}, "tags": [], "label": "content", "web_segment_id": 38, "global_sentence_id": 51, "edu_l1_label": "IOS"}, {"txt": " The following command line switches are introduced:", "language": "english", "position": {"atoms": [{"position_id": 462, "txt": " The following command line switches are introduced:", "x": "/html/body/div[1]/div/p[9]"}]}, "tags": [], "label": "content", "web_segment_id": 38, "global_sentence_id": 52, "edu_l1_label": "IOS"}, {"txt": "-XX:", "language": "english", "position": {"atoms": [{"position_id": 464, "txt": "-XX:", "x": "/html/body/div[1]/div/ul[5]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 39, "global_sentence_id": 53, "edu_l1_label": "IOS"}, {"txt": "+HotCodeCache:", "language": "english", "position": {"atoms": [{"position_id": 465, "txt": "+HotCodeCache:", "x": "/html/body/div[1]/div/ul[5]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 39, "global_sentence_id": 54, "edu_l1_label": "IOS"}, {"txt": " enables hot code heap, disabled by default.", "language": "english", "position": {"atoms": [{"position_id": 466, "txt": " enables hot code heap, disabled by default.", "x": "/html/body/div[1]/div/ul[5]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 39, "global_sentence_id": 55, "edu_l1_label": "IOS"}, {"txt": "-XX:", "language": "english", "position": {"atoms": [{"position_id": 468, "txt": "-XX:", "x": "/html/body/div[1]/div/ul[5]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 40, "global_sentence_id": 56, "edu_l1_label": "IOS"}, {"txt": "HotCodeHeapSize:", "language": "english", "position": {"atoms": [{"position_id": 469, "txt": "HotCodeHeapSize:", "x": "/html/body/div[1]/div/ul[5]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 40, "global_sentence_id": 57, "edu_l1_label": "IOS"}, {"txt": " sets the size in bytes of the code heap containing hot non-profiled methods.", "language": "english", "position": {"atoms": [{"position_id": 470, "txt": " sets the size in bytes of the code heap containing hot non-profiled methods.", "x": "/html/body/div[1]/div/ul[5]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 40, "global_sentence_id": 58, "edu_l1_label": "IOS"}, {"txt": " The default is 0 if the hot code heap is disabled, or 8M if it is enabled (enough for 1000-2000 methods).", "language": "english", "position": {"atoms": [{"position_id": 471, "txt": " The default is 0 if the hot code heap is disabled, or 8M if it is enabled (enough for 1000-2000 methods).", "x": "/html/body/div[1]/div/ul[5]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 40, "global_sentence_id": 59, "edu_l1_label": "IOS"}, {"txt": "The hot code is placed between non-nmethods and non-profiled code heaps to maintain joint locality of the hot code with stubs and cooler optimized code:", "language": "english", "position": {"atoms": [{"position_id": 473, "txt": "The hot code is placed between non-nmethods and non-profiled code heaps to maintain joint locality of the hot code with stubs and cooler optimized code:", "x": "/html/body/div[1]/div/p[10]"}]}, "tags": [], "label": "content", "web_segment_id": 41, "global_sentence_id": 60, "edu_l1_label": "IOS"}, {"txt": "|      Tier 2,3 nmethods   |              |    Tier 4     |      Tier 1,4 nmethods       ||         profiled         | non-nmethods |     *hot*     |         non-profiled         |", "language": "english", "position": {"atoms": [{"position_id": 475, "txt": "|      Tier 2,3 nmethods   |              |    Tier 4     |      Tier 1,4 nmethods       |\n|         profiled         | non-nmethods |     *hot*     |         non-profiled         |", "x": "/html/body/div[1]/div/pre[1]/code"}]}, "tags": [], "label": "formula", "web_segment_id": 42, "global_sentence_id": 61, "edu_l1_label": "IOS"}, {"txt": "Existing code cache diagnostics such as -XX:", "language": "english", "position": {"atoms": [{"position_id": 477, "txt": "Existing code cache diagnostics such as -XX:", "x": "/html/body/div[1]/div/p[11]"}]}, "tags": [], "label": "content", "web_segment_id": 43, "global_sentence_id": 62, "edu_l1_label": "IOS"}, {"txt": "+PrintCodeCache are naturally extended with the information about the hot part.", "language": "english", "position": {"atoms": [{"position_id": 478, "txt": "+PrintCodeCache are naturally extended with the information about the hot part.", "x": "/html/body/div[1]/div/p[11]"}]}, "tags": [], "label": "content", "web_segment_id": 43, "global_sentence_id": 63, "edu_l1_label": "IOS"}, {"txt": " Additional data is provided through extended logging:", "language": "english", "position": {"atoms": [{"position_id": 479, "txt": " Additional data is provided through extended logging:", "x": "/html/body/div[1]/div/p[11]"}]}, "tags": [], "label": "content", "web_segment_id": 43, "global_sentence_id": 64, "edu_l1_label": "IOS"}, {"txt": "-Xlog:", "language": "english", "position": {"atoms": [{"position_id": 481, "txt": "-Xlog:", "x": "/html/body/div[1]/div/ul[6]/li"}]}, "tags": ["li"], "label": "content", "web_segment_id": 44, "global_sentence_id": 65, "edu_l1_label": "IOS"}, {"txt": "codecache+hot=debug", "language": "english", "position": {"atoms": [{"position_id": 482, "txt": "codecache+hot=debug", "x": "/html/body/div[1]/div/ul[6]/li"}]}, "tags": ["li"], "label": "content", "web_segment_id": 44, "global_sentence_id": 66, "edu_l1_label": "IOS"}, {"txt": "New compiler directive option", "language": "english", "position": {"atoms": [{"position_id": 484, "txt": "New compiler directive option", "x": "/html/body/div[1]/div/h3[6]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 45, "global_sentence_id": 67, "edu_l1_label": "IOS"}, {"txt": "The following C2-only flag is introduced:", "language": "english", "position": {"atoms": [{"position_id": 486, "txt": "The following C2-only flag is introduced:", "x": "/html/body/div[1]/div/p[12]"}]}, "tags": [], "label": "content", "web_segment_id": 46, "global_sentence_id": 68, "edu_l1_label": "IOS"}, {"txt": "bool Hot, false by default.", "language": "english", "position": {"atoms": [{"position_id": 488, "txt": "bool Hot, false by default.", "x": "/html/body/div[1]/div/ul[7]/li"}]}, "tags": ["li"], "label": "content", "web_segment_id": 47, "global_sentence_id": 69, "edu_l1_label": "IOS"}, {"txt": "So a C2 compiled method should placed in the hot code heap if there is a matching compiler directive like", "language": "english", "position": {"atoms": [{"position_id": 490, "txt": "So a C2 compiled method should placed in the hot code heap if there is a matching compiler directive like", "x": "/html/body/div[1]/div/p[13]"}]}, "tags": [], "label": "content", "web_segment_id": 48, "global_sentence_id": 70, "edu_l1_label": "IOS"}, {"txt": "[   {    match:", "language": "english", "position": {"atoms": [{"position_id": 492, "txt": "[ \n  {\n    match:", "x": "/html/body/div[1]/div/pre[2]/code"}]}, "tags": [], "label": "code", "web_segment_id": 42, "global_sentence_id": 71, "edu_l1_label": "EDU_O"}, {"txt": " [        \"scala/runtime/ScalaRunTime$ _hashCode (Lscala/Product;)I\",        \"dotty/tools/dotc/parsing/Scanners$Scanner nextToken ()V\",    ],    c2:", "language": "english", "position": {"atoms": [{"position_id": 493, "txt": " [\n        \"scala/runtime/ScalaRunTime$ _hashCode (Lscala/Product;)I\",\n        \"dotty/tools/dotc/parsing/Scanners$Scanner nextToken ()V\",\n    ],\n    c2:", "x": "/html/body/div[1]/div/pre[2]/code"}]}, "tags": [], "label": "code", "web_segment_id": 42, "global_sentence_id": 72, "edu_l1_label": "EDU_O"}, {"txt": " {Hot:", "language": "english", "position": {"atoms": [{"position_id": 494, "txt": " {Hot:", "x": "/html/body/div[1]/div/pre[2]/code"}]}, "tags": [], "label": "code", "web_segment_id": 42, "global_sentence_id": 73, "edu_l1_label": "EDU_O"}, {"txt": " true},  }]", "language": "english", "position": {"atoms": [{"position_id": 495, "txt": " true},\n  }\n]", "x": "/html/body/div[1]/div/pre[2]/code"}]}, "tags": [], "label": "code", "web_segment_id": 42, "global_sentence_id": 74, "edu_l1_label": "EDU_O"}, {"txt": "A hot method can be placed in another code heap if there is no free space.", "language": "english", "position": {"atoms": [{"position_id": 497, "txt": "A hot method can be placed in another code heap if there is no free space.", "x": "/html/body/div[1]/div/p[14]"}]}, "tags": [], "label": "content", "web_segment_id": 49, "global_sentence_id": 75, "edu_l1_label": "IOS"}, {"txt": " As usual, directives can be specified in the JVM parameter -XX:", "language": "english", "position": {"atoms": [{"position_id": 498, "txt": " As usual, directives can be specified in the JVM parameter -XX:", "x": "/html/body/div[1]/div/p[14]"}]}, "tags": [], "label": "content", "web_segment_id": 49, "global_sentence_id": 76, "edu_l1_label": "IOS"}, {"txt": "CompilerDirectivesFile or in the Compiler.add_directives diagnostic command.", "language": "english", "position": {"atoms": [{"position_id": 499, "txt": "CompilerDirectivesFile or in the Compiler.add_directives diagnostic command.", "x": "/html/body/div[1]/div/p[14]"}]}, "tags": [], "label": "content", "web_segment_id": 49, "global_sentence_id": 77, "edu_l1_label": "IOS"}, {"txt": " Directives are applied to compiled methods that match given patterns, so if a frequently called method is inlined, it makes sense to detect the compiled caller method, and mark it as \"hot\" using the appropriate pattern.", "language": "english", "position": {"atoms": [{"position_id": 500, "txt": " Directives are applied to compiled methods that match given patterns, so if a frequently called method is inlined, it makes sense to detect the compiled caller method, and mark it as \"hot\" using the appropriate pattern.", "x": "/html/body/div[1]/div/p[14]"}]}, "tags": [], "label": "content", "web_segment_id": 49, "global_sentence_id": 78, "edu_l1_label": "IOS"}, {"txt": "New method flag", "language": "english", "position": {"atoms": [{"position_id": 502, "txt": "New method flag", "x": "/html/body/div[1]/div/h3[7]"}]}, "tags": ["h3"], "label": "title2", "web_segment_id": 50, "global_sentence_id": 79, "edu_l1_label": "IOS"}, {"txt": "As part of the implementation, the new status is declared in MethodFlags (src/hotspot/share/oops/methodFlags.hpp):", "language": "english", "position": {"atoms": [{"position_id": 504, "txt": "As part of the implementation, the new status is declared in MethodFlags (src/hotspot/share/oops/methodFlags.hpp):", "x": "/html/body/div[1]/div/p[15]"}]}, "tags": [], "label": "content", "web_segment_id": 51, "global_sentence_id": 80, "edu_l1_label": "IOS"}, {"txt": "status(is_hot, 1 << 17)", "language": "english", "position": {"atoms": [{"position_id": 506, "txt": "status(is_hot, 1 << 17)", "x": "/html/body/div[1]/div/ul[8]/li"}]}, "tags": ["li"], "label": "code", "web_segment_id": 52, "global_sentence_id": 81, "edu_l1_label": "IOS"}, {"txt": "The flag provides an indication of hotness during allocation and for diagnostic and debug purposes.", "language": "english", "position": {"atoms": [{"position_id": 508, "txt": "The flag provides an indication of hotness during allocation and for diagnostic and debug purposes.", "x": "/html/body/div[1]/div/p[16]"}]}, "tags": [], "label": "content", "web_segment_id": 53, "global_sentence_id": 82, "edu_l1_label": "IOS"}, {"txt": "Alternatives", "language": "english", "position": {"atoms": [{"position_id": 510, "txt": "Alternatives", "x": "/html/body/div[1]/div/h2[7]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 54, "global_sentence_id": 83, "edu_l1_label": "BOS"}, {"txt": "Quite similar code placement can be achieved without explicit allocation of a separate code heap.", "language": "english", "position": {"atoms": [{"position_id": 512, "txt": "Quite similar code placement can be achieved without explicit allocation of a separate code heap.", "x": "/html/body/div[1]/div/p[17]"}]}, "tags": [], "label": "content", "web_segment_id": 55, "global_sentence_id": 84, "edu_l1_label": "IOS"}, {"txt": " Regular allocations in non-profiled heap can be made from its top boundary, and hot allocations could be made from its bottom boundary.", "language": "english", "position": {"atoms": [{"position_id": 513, "txt": " Regular allocations in non-profiled heap can be made from its top boundary, and hot allocations could be made from its bottom boundary.", "x": "/html/body/div[1]/div/p[17]"}]}, "tags": [], "label": "content", "web_segment_id": 55, "global_sentence_id": 85, "edu_l1_label": "IOS"}, {"txt": "Pros:", "language": "english", "position": {"atoms": [{"position_id": 515, "txt": "Pros:", "x": "/html/body/div[1]/div/p[18]"}]}, "tags": [], "label": "content", "web_segment_id": 56, "global_sentence_id": 86, "edu_l1_label": "IOS"}, {"txt": "No need to limit hot code size.", "language": "english", "position": {"atoms": [{"position_id": 517, "txt": "No need to limit hot code size.", "x": "/html/body/div[1]/div/ul[9]/li"}]}, "tags": ["li"], "label": "content", "web_segment_id": 57, "global_sentence_id": 87, "edu_l1_label": "IOS"}, {"txt": "Cons:", "language": "english", "position": {"atoms": [{"position_id": 519, "txt": "Cons:", "x": "/html/body/div[1]/div/p[19]"}]}, "tags": [], "label": "content", "web_segment_id": 58, "global_sentence_id": 88, "edu_l1_label": "IOS"}, {"txt": "Risky change to the current allocation algorithm.", "language": "english", "position": {"atoms": [{"position_id": 521, "txt": "Risky change to the current allocation algorithm.", "x": "/html/body/div[1]/div/ul[10]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 59, "global_sentence_id": 89, "edu_l1_label": "IOS"}, {"txt": "Segmented code cache is already designed to host any special type of code in a separate code heap.", "language": "english", "position": {"atoms": [{"position_id": 523, "txt": "Segmented code cache is already designed to host any special type of code in a separate code heap.", "x": "/html/body/div[1]/div/ul[10]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 60, "global_sentence_id": 90, "edu_l1_label": "IOS"}, {"txt": "Worse joint locality of hot and non-profiled code.", "language": "english", "position": {"atoms": [{"position_id": 525, "txt": "Worse joint locality of hot and non-profiled code.", "x": "/html/body/div[1]/div/ul[10]/li[3]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 61, "global_sentence_id": 91, "edu_l1_label": "IOS"}, {"txt": "Even after the proposed implementation, if necessary, it will be possible to switch to another allocation scheme.", "language": "english", "position": {"atoms": [{"position_id": 527, "txt": "Even after the proposed implementation, if necessary, it will be possible to switch to another allocation scheme.", "x": "/html/body/div[1]/div/p[20]"}]}, "tags": [], "label": "content", "web_segment_id": 62, "global_sentence_id": 92, "edu_l1_label": "IOS"}, {"txt": "Testing", "language": "english", "position": {"atoms": [{"position_id": 529, "txt": "Testing", "x": "/html/body/div[1]/div/h2[8]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 63, "global_sentence_id": 93, "edu_l1_label": "BOS"}, {"txt": "Performance will be tested on the platforms where scattered hot code is severely degraded.", "language": "english", "position": {"atoms": [{"position_id": 531, "txt": "Performance will be tested on the platforms where scattered hot code is severely degraded.", "x": "/html/body/div[1]/div/ul[11]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 64, "global_sentence_id": 94, "edu_l1_label": "IOS"}, {"txt": " To satisfy all the problem conditions in execution time benchmarks, they can be combined with artificial fragmentation of the code cache.", "language": "english", "position": {"atoms": [{"position_id": 532, "txt": " To satisfy all the problem conditions in execution time benchmarks, they can be combined with artificial fragmentation of the code cache.", "x": "/html/body/div[1]/div/ul[11]/li[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 64, "global_sentence_id": 95, "edu_l1_label": "IOS"}, {"txt": "During performance evaluation, code placement will be examined using newly developed log information.", "language": "english", "position": {"atoms": [{"position_id": 534, "txt": "During performance evaluation, code placement will be examined using newly developed log information.", "x": "/html/body/div[1]/div/ul[11]/li[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 65, "global_sentence_id": 96, "edu_l1_label": "IOS"}, {"txt": "Risks and Assumptions", "language": "english", "position": {"atoms": [{"position_id": 536, "txt": "Risks and Assumptions", "x": "/html/body/div[1]/div/h2[9]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 66, "global_sentence_id": 97, "edu_l1_label": "BOS"}, {"txt": "Fixed code heap size leads either to a waste of memory or to allocations in another code heap.", "language": "english", "position": {"atoms": [{"position_id": 538, "txt": "Fixed code heap size leads either to a waste of memory or to allocations in another code heap.", "x": "/html/body/div[1]/div/p[21]"}]}, "tags": [], "label": "content", "web_segment_id": 67, "global_sentence_id": 98, "edu_l1_label": "IOS"}, {"txt": " This is the current segmented code cache approach, which can be replaced by dynamic resizing.", "language": "english", "position": {"atoms": [{"position_id": 539, "txt": " This is the current segmented code cache approach, which can be replaced by dynamic resizing.", "x": "/html/body/div[1]/div/p[21]"}]}, "tags": [], "label": "content", "web_segment_id": 67, "global_sentence_id": 99, "edu_l1_label": "IOS"}, {"txt": "If the hot code heap is enabled, but no methods are marked as hot, the memory is wasted.", "language": "english", "position": {"atoms": [{"position_id": 541, "txt": "If the hot code heap is enabled, but no methods are marked as hot, the memory is wasted.", "x": "/html/body/div[1]/div/p[22]"}]}, "tags": [], "label": "content", "web_segment_id": 68, "global_sentence_id": 100, "edu_l1_label": "IOS"}, {"txt": "It's not easy to determine the right size for the hot code heap; it depends on the CPU and application.", "language": "english", "position": {"atoms": [{"position_id": 543, "txt": "It's not easy to determine the right size for the hot code heap; it depends on the CPU and application.", "x": "/html/body/div[1]/div/p[23]"}]}, "tags": [], "label": "content", "web_segment_id": 69, "global_sentence_id": 101, "edu_l1_label": "IOS"}, {"txt": " The default selection of 8 MB was rated as good enough to improve performance on related platforms.", "language": "english", "position": {"atoms": [{"position_id": 544, "txt": " The default selection of 8 MB was rated as good enough to improve performance on related platforms.", "x": "/html/body/div[1]/div/p[23]"}]}, "tags": [], "label": "content", "web_segment_id": 69, "global_sentence_id": 102, "edu_l1_label": "IOS"}, {"txt": " It is also relatively small compared to the default code cache size of 256 MB.", "language": "english", "position": {"atoms": [{"position_id": 545, "txt": " It is also relatively small compared to the default code cache size of 256 MB.", "x": "/html/body/div[1]/div/p[23]"}]}, "tags": [], "label": "content", "web_segment_id": 69, "global_sentence_id": 103, "edu_l1_label": "IOS"}, {"txt": "Dependencies", "language": "english", "position": {"atoms": [{"position_id": 547, "txt": "Dependencies", "x": "/html/body/div[1]/div/h2[10]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 70, "global_sentence_id": 104, "edu_l1_label": "BOS"}, {"txt": "This JEP is based on JEP 197:", "language": "english", "position": {"atoms": [{"position_id": 549, "txt": "This JEP is based on ", "x": "/html/body/div[1]/div/p[24]"}, {"position_id": 551, "txt": "JEP 197:", "x": "/html/body/div[1]/div/p[24]/a[1]"}]}, "tags": [], "label": "content", "web_segment_id": 71, "global_sentence_id": 105, "edu_l1_label": "IOS"}, {"txt": " Segmented Code Cache and JEP 165:", "language": "english", "position": {"atoms": [{"position_id": 552, "txt": " Segmented Code Cache", "x": "/html/body/div[1]/div/p[24]/a[1]"}, {"position_id": 554, "txt": " and ", "x": "/html/body/div[1]/div/p[24]/a[1]"}, {"position_id": 556, "txt": "JEP 165:", "x": "/html/body/div[1]/div/p[24]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 71, "global_sentence_id": 106, "edu_l1_label": "IOS"}, {"txt": " Compiler Control.", "language": "english", "position": {"atoms": [{"position_id": 557, "txt": " Compiler Control", "x": "/html/body/div[1]/div/p[24]/a[2]"}, {"position_id": 559, "txt": ".", "x": "/html/body/div[1]/div/p[24]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 71, "global_sentence_id": 107, "edu_l1_label": "IOS"}, {"txt": "A broader scope and various possible improvements are described in the Instruction Issue Cache Hardware Accommodation draft.", "language": "english", "position": {"atoms": [{"position_id": 561, "txt": "A broader scope and various possible improvements are described in the ", "x": "/html/body/div[1]/div/p[25]"}, {"position_id": 563, "txt": "Instruction Issue Cache Hardware Accommodation", "x": "/html/body/div[1]/div/p[25]/a"}, {"position_id": 565, "txt": " draft.", "x": "/html/body/div[1]/div/p[25]/a"}]}, "tags": [], "label": "content", "web_segment_id": 72, "global_sentence_id": 108, "edu_l1_label": "IOS"}, {"txt": "Preliminary work related to adding new code heaps has been extracted as JDK-8311248:", "language": "english", "position": {"atoms": [{"position_id": 567, "txt": "Preliminary work related to adding new code heaps has been extracted as ", "x": "/html/body/div[1]/div/p[26]"}, {"position_id": 569, "txt": "JDK-8311248:", "x": "/html/body/div[1]/div/p[26]/a"}]}, "tags": [], "label": "content", "web_segment_id": 73, "global_sentence_id": 109, "edu_l1_label": "IOS"}, {"txt": " Refactor CodeCache::", "language": "english", "position": {"atoms": [{"position_id": 570, "txt": " Refactor CodeCache::", "x": "/html/body/div[1]/div/p[26]/a"}]}, "tags": [], "label": "content", "web_segment_id": 73, "global_sentence_id": 110, "edu_l1_label": "IOS"}, {"txt": "initialize_heaps.", "language": "english", "position": {"atoms": [{"position_id": 571, "txt": "initialize_heaps", "x": "/html/body/div[1]/div/p[26]/a"}, {"position_id": 573, "txt": ".", "x": "/html/body/div[1]/div/p[26]/a"}]}, "tags": [], "label": "content", "web_segment_id": 73, "global_sentence_id": 111, "edu_l1_label": "IOS"}, {"txt": "The refresh extension for compiler directive diagnostic commands JDK-8309271 is orthogonal to code heap work, but it helps move hot methods to the hot code heap when they are determined in running applications.", "language": "english", "position": {"atoms": [{"position_id": 575, "txt": "The refresh extension for compiler directive diagnostic commands ", "x": "/html/body/div[1]/div/p[27]"}, {"position_id": 577, "txt": "JDK-8309271", "x": "/html/body/div[1]/div/p[27]/a"}, {"position_id": 579, "txt": " is orthogonal to code heap work, but it helps move hot methods to the hot code heap when they are determined in running applications.", "x": "/html/body/div[1]/div/p[27]/a"}]}, "tags": [], "label": "content", "web_segment_id": 74, "global_sentence_id": 112, "edu_l1_label": "IOS"}, {"txt": "For benchmarking purposes, code cache fragmentation can be simulated using a patched JVM.", "language": "english", "position": {"atoms": [{"position_id": 581, "txt": "For benchmarking purposes, code cache fragmentation can be simulated using a ", "x": "/html/body/div[1]/div/p[28]"}, {"position_id": 583, "txt": "patched", "x": "/html/body/div[1]/div/p[28]/a"}, {"position_id": 585, "txt": " JVM.", "x": "/html/body/div[1]/div/p[28]/a"}]}, "tags": [], "label": "content", "web_segment_id": 75, "global_sentence_id": 113, "edu_l1_label": "IOS"}, {"txt": "© Oracle Corporation and/or its affiliates Terms of Use · License:", "language": "english", "position": {"atoms": [{"position_id": 587, "txt": "© Oracle Corporation and/or its affiliates ", "x": "/html/body/div[3]"}, {"position_id": 589, "txt": "Terms of Use", "x": "/html/body/div[3]/a[1]"}, {"position_id": 591, "txt": " · License:", "x": "/html/body/div[3]/a[1]"}]}, "tags": [], "label": "O", "web_segment_id": 76, "global_sentence_id": 114, "edu_l1_label": "EDU_O"}, {"txt": " GPLv2 · Privacy · Trademarks", "language": "english", "position": {"atoms": [{"position_id": 592, "txt": " ", "x": "/html/body/div[3]/a[1]"}, {"position_id": 594, "txt": "GPLv2", "x": "/html/body/div[3]/a[2]"}, {"position_id": 596, "txt": " · ", "x": "/html/body/div[3]/a[2]"}, {"position_id": 598, "txt": "Privacy", "x": "/html/body/div[3]/a[3]"}, {"position_id": 600, "txt": " · ", "x": "/html/body/div[3]/a[3]"}, {"position_id": 602, "txt": "Trademarks", "x": "/html/body/div[3]/a[4]"}]}, "tags": [], "label": "O", "web_segment_id": 76, "global_sentence_id": 115, "edu_l1_label": "EDU_O"}], "type": "WEB"}
# JEP draft: Hot Code Heap
## Summary
## Goals
## Non-Goals
## Success Metrics
## Motivation
### Sparse hot code is slower
### Not all compiled code is called frequently all the time
### Hot code co-location
### Hot code marking
## Description
### New code heap
### New compiler directive option
### New method flag
## Alternatives
## Testing
## Risks and Assumptions
## Dependencies