Skip to content

Instantly share code, notes, and snippets.

@MarkEWaite
Created May 4, 2022 12:45
Show Gist options
  • Select an option

  • Save MarkEWaite/f1fcf930c261835784eb87939a1d924d to your computer and use it in GitHub Desktop.

Select an option

Save MarkEWaite/f1fcf930c261835784eb87939a1d924d to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas' style='width: 100%; height: 1200px'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(75);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xa6e1a6, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,72,3,'all')
f(1,0,11,3,'[unknown_Java]')
f(2,0,1,0,'I2C/C2I adapters')
f(2,1,10,3,'sha256_implCompressMB')
f(1,11,2,3,'clock_gettime')
f(2,11,2,3,'clock_gettime')
f(3,11,2,5,'entry_SYSCALL_64_after_hwframe')
f(4,11,2,5,'do_syscall_64')
f(5,11,1,5,'__x64_sys_clock_gettime')
f(6,11,1,5,'_copy_to_user')
f(5,12,1,5,'syscall_trace_enter')
f(6,12,1,5,'__secure_computing')
f(7,12,1,5,'__seccomp_filter')
f(1,13,21,1,'hudson/model/Executor.run')
f(2,13,21,1,'hudson/model/ResourceController.execute')
f(3,13,4,1,'jenkins/branch/MultiBranchProject$BranchIndexing.run')
f(4,13,4,1,'com/cloudbees/hudson/plugins/folder/computed/FolderComputation.run')
f(5,13,4,1,'com/cloudbees/hudson/plugins/folder/computed/ComputedFolder.updateChildren')
f(6,13,4,1,'jenkins/branch/MultiBranchProject.computeChildren')
f(7,13,4,1,'jenkins/scm/api/SCMSource.fetch')
f(8,13,4,1,'jenkins/scm/api/SCMSource._retrieve')
f(9,13,4,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource.retrieve')
f(10,13,1,1,'jenkins/scm/api/trait/SCMSourceRequest.process')
f(11,13,1,1,'jenkins/scm/api/trait/SCMSourceRequest.process')
f(12,13,1,1,'jenkins/branch/MultiBranchProject$SCMHeadObserverImpl.observe')
f(13,13,1,1,'jenkins/branch/MultiBranchProject$SCMHeadObserverImpl.observeExisting')
f(14,13,1,1,'org/jenkinsci/plugins/workflow/multibranch/AbstractWorkflowBranchProjectFactory.setBranch')
f(15,13,1,1,'org/jenkinsci/plugins/workflow/multibranch/AbstractWorkflowBranchProjectFactory.setBranch')
f(16,13,1,1,'hudson/model/Job.save')
f(17,13,1,1,'hudson/model/AbstractItem.save')
f(18,13,1,1,'hudson/model/listeners/SaveableListener.fireOnChange')
f(19,13,1,1,'hudson/plugins/jobConfigHistory/JobConfigHistorySaveableListener.onChange')
f(20,13,1,1,'hudson/plugins/jobConfigHistory/FileHistoryDao.saveItem')
f(21,13,1,1,'hudson/plugins/jobConfigHistory/FileHistoryDao.checkDuplicate')
f(22,13,1,1,'hudson/plugins/jobConfigHistory/FileHistoryDao.hasDuplicateHistory')
f(23,13,1,1,'java/util/ArrayList.<init>')
f(24,13,1,1,'java/util/AbstractCollection.toArray')
f(25,13,1,4,'SharedRuntime::handle_wrong_method_ic_miss(JavaThread*)')
f(26,13,1,4,'SharedRuntime::handle_ic_miss_helper(JavaThread*, Thread*)')
f(27,13,1,4,'SharedRuntime::find_callee_info_helper(JavaThread*, vframeStream&, Bytecodes::Code&, CallInfo&, Thread*)')
f(28,13,1,4,'SharedRuntime::extract_attached_method(vframeStream&)')
f(29,13,1,4,'Monitor::lock_without_safepoint_check()')
f(10,14,3,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource.retrievePullRequest')
f(11,14,3,1,'jenkins/scm/api/trait/SCMSourceRequest.process')
f(12,14,2,1,'jenkins/branch/MultiBranchProject$SCMHeadObserverImpl.observe')
f(13,14,2,1,'jenkins/branch/MultiBranchProject$SCMHeadObserverImpl.observeExisting')
f(14,14,2,1,'org/jenkinsci/plugins/workflow/multibranch/AbstractWorkflowBranchProjectFactory.setBranch')
f(15,14,2,1,'org/jenkinsci/plugins/workflow/multibranch/AbstractWorkflowBranchProjectFactory.setBranch')
f(16,14,2,1,'hudson/model/Job.save')
f(17,14,2,1,'hudson/model/AbstractItem.save')
f(18,14,1,1,'hudson/XmlFile.write')
f(19,14,1,1,'hudson/util/AtomicFileWriter.<init>')
f(20,14,1,1,'hudson/util/AtomicFileWriter.<init>')
f(21,14,1,1,'hudson/util/AtomicFileWriter.<init>')
f(22,14,1,1,'java/io/File.createTempFile')
f(23,14,1,1,'java/io/File$TempDirectory.generateFile')
f(24,14,1,1,'java/util/Random.nextLong')
f(25,14,1,1,'java/security/SecureRandom.next')
f(26,14,1,1,'java/security/SecureRandom.nextBytes')
f(27,14,1,1,'sun/security/provider/NativePRNG.engineNextBytes')
f(28,14,1,1,'sun/security/provider/NativePRNG$RandomIO.implNextBytes')
f(29,14,1,1,'sun/security/provider/SecureRandom.engineNextBytes')
f(18,15,1,1,'hudson/model/listeners/SaveableListener.fireOnChange')
f(19,15,1,1,'hudson/plugins/jobConfigHistory/JobConfigHistorySaveableListener.onChange')
f(20,15,1,1,'hudson/plugins/jobConfigHistory/FileHistoryDao.saveItem')
f(21,15,1,1,'hudson/plugins/jobConfigHistory/FileHistoryDao.checkDuplicate')
f(22,15,1,1,'hudson/plugins/jobConfigHistory/FileHistoryDao.hasDuplicateHistory')
f(23,15,1,1,'hudson/XmlFile.asString')
f(24,15,1,1,'hudson/XmlFile.writeRawTo')
f(25,15,1,1,'hudson/XmlFile.readRaw')
f(26,15,1,1,'java/nio/file/Files.newInputStream')
f(27,15,1,1,'java/nio/file/spi/FileSystemProvider.newInputStream')
f(28,15,1,1,'java/nio/file/Files.newByteChannel')
f(29,15,1,1,'java/nio/file/Files.newByteChannel')
f(30,15,1,1,'sun/nio/fs/UnixFileSystemProvider.newByteChannel')
f(31,15,1,1,'sun/nio/fs/UnixChannelFactory.newFileChannel')
f(32,15,1,1,'sun/nio/fs/UnixChannelFactory.newFileChannel')
f(33,15,1,1,'sun/nio/fs/UnixChannelFactory.open')
f(34,15,1,1,'sun/nio/fs/UnixNativeDispatcher.open')
f(35,15,1,1,'sun/nio/fs/UnixNativeDispatcher.open0')
f(36,15,1,3,'[unknown]')
f(37,15,1,3,'__open')
f(38,15,1,5,'entry_SYSCALL_64_after_hwframe')
f(39,15,1,5,'do_syscall_64')
f(40,15,1,5,'__x64_sys_openat')
f(41,15,1,5,'do_sys_open')
f(42,15,1,5,'do_filp_open')
f(43,15,1,5,'path_openat')
f(44,15,1,5,'link_path_walk.part.33')
f(45,15,1,5,'inode_permission')
f(46,15,1,5,'ovl_permission?[overlay]')
f(47,15,1,5,'revert_creds')
f(12,16,1,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource$5.create')
f(13,16,1,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource$5.create')
f(14,16,1,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource.access$100')
f(15,16,1,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource.createPullRequestSCMRevision')
f(16,16,1,1,'org/kohsuke/github/GHRepository.getCommit')
f(17,16,1,1,'org/kohsuke/github/Requester.fetch')
f(18,16,1,1,'org/kohsuke/github/GitHubClient.sendRequest')
f(19,16,1,1,'org/kohsuke/github/GitHubClient.sendRequest')
f(20,16,1,1,'org/kohsuke/github/internal/GitHubConnectorHttpConnectorAdapter.send')
f(21,16,1,1,'org/kohsuke/github/extras/okhttp3/ObsoleteUrlFactory$DelegatingHttpsURLConnection.getResponseCode')
f(22,16,1,1,'org/kohsuke/github/extras/okhttp3/ObsoleteUrlFactory$OkHttpURLConnection.getResponseCode')
f(23,16,1,1,'org/kohsuke/github/extras/okhttp3/ObsoleteUrlFactory$OkHttpURLConnection.getResponse')
f(24,16,1,1,'okhttp3/internal/connection/RealCall.execute')
f(25,16,1,1,'okhttp3/internal/connection/RealCall.getResponseWithInterceptorChain$okhttp')
f(26,16,1,1,'okhttp3/internal/http/RealInterceptorChain.proceed')
f(27,16,1,1,'org/kohsuke/github/extras/okhttp3/ObsoleteUrlFactory$UnexpectedException$$Lambda$1338/1447810650.intercept')
f(28,16,1,1,'org/kohsuke/github/extras/okhttp3/ObsoleteUrlFactory$UnexpectedException.lambda$static$0')
f(29,16,1,1,'okhttp3/internal/http/RealInterceptorChain.proceed')
f(30,16,1,1,'okhttp3/internal/http/RetryAndFollowUpInterceptor.intercept')
f(31,16,1,1,'okhttp3/internal/http/RealInterceptorChain.proceed')
f(32,16,1,1,'okhttp3/internal/http/BridgeInterceptor.intercept')
f(33,16,1,1,'okhttp3/internal/http/RealInterceptorChain.proceed')
f(34,16,1,1,'okhttp3/internal/cache/CacheInterceptor.intercept')
f(35,16,1,1,'okhttp3/Cache.put$okhttp')
f(36,16,1,1,'okhttp3/internal/cache/DiskLruCache.edit$default')
f(37,16,1,1,'okhttp3/internal/cache/DiskLruCache.edit')
f(38,16,1,1,'okhttp3/internal/cache/DiskLruCache$Entry.<init>')
f(39,16,1,1,'java/lang/StringBuilder.toString')
f(40,16,1,1,'java/lang/StringLatin1.newString')
f(41,16,1,1,'java/util/Arrays.copyOfRange')
f(42,16,1,4,'OptoRuntime::new_array_nozero_C(Klass*, int, JavaThread*)')
f(43,16,1,4,'TypeArrayKlass::allocate_common(int, bool, Thread*)')
f(44,16,1,4,'CollectedHeap::array_allocate(Klass*, int, int, bool, Thread*)')
f(45,16,1,4,'MemAllocator::allocate() const')
f(46,16,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(47,16,1,4,'G1Allocator::unsafe_max_tlab_alloc()')
f(3,17,17,1,'org/jenkinsci/plugins/workflow/job/WorkflowRun.run')
f(4,17,16,1,'org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.start')
f(5,17,16,1,'org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.parseScript')
f(6,17,16,1,'org/jenkinsci/plugins/workflow/cps/CpsGroovyShell.reparse')
f(7,17,16,1,'org/jenkinsci/plugins/workflow/cps/CpsGroovyShell.doParse')
f(8,17,16,1,'groovy/lang/GroovyShell.parse')
f(9,17,16,1,'groovy/lang/GroovyShell.parseClass')
f(10,17,16,1,'groovy/lang/GroovyClassLoader.parseClass')
f(11,17,16,1,'groovy/lang/GroovyClassLoader.doParseClass')
f(12,17,16,1,'org/codehaus/groovy/control/CompilationUnit.compile')
f(13,17,16,1,'org/codehaus/groovy/control/CompilationUnit.processPhaseOperations')
f(14,17,16,1,'org/codehaus/groovy/control/CompilationUnit.doPhaseOperation')
f(15,17,16,1,'org/codehaus/groovy/control/CompilationUnit.applyToPrimaryClassNodes')
f(16,17,16,1,'org/jenkinsci/plugins/workflow/libs/LibraryDecorator$1.call')
f(17,17,16,1,'org/jenkinsci/plugins/workflow/libs/LibraryAdder.add')
f(18,17,16,1,'org/jenkinsci/plugins/workflow/libs/LibraryAdder.retrieve')
f(19,17,16,1,'org/jenkinsci/plugins/workflow/libs/SCMSourceRetriever.retrieve')
f(20,17,16,1,'org/jenkinsci/plugins/workflow/libs/SCMSourceRetriever.doRetrieve')
f(21,17,16,1,'org/jenkinsci/plugins/workflow/libs/SCMSourceRetriever.retrySCMOperation')
f(22,17,16,1,'org/jenkinsci/plugins/workflow/libs/SCMSourceRetriever$$Lambda$2308/1222660396.call')
f(23,17,16,1,'org/jenkinsci/plugins/workflow/libs/SCMSourceRetriever.lambda$doRetrieve$1')
f(24,17,16,1,'org/jenkinsci/plugins/workflow/steps/scm/SCMStep.checkout')
f(25,17,16,1,'hudson/plugins/git/GitSCM.checkout')
f(26,17,1,1,'hudson/plugins/git/GitSCM.printCommitMessageToLog')
f(27,17,1,1,'org/jenkinsci/plugins/gitclient/JGitAPIImpl.withRepository')
f(28,17,1,1,'org/jenkinsci/plugins/gitclient/AbstractGitAPIImpl.withRepository')
f(29,17,1,1,'org/jenkinsci/plugins/gitclient/JGitAPIImpl.getRepository')
f(30,17,1,1,'org/eclipse/jgit/lib/BaseRepositoryBuilder.build')
f(31,17,1,1,'org/eclipse/jgit/internal/storage/file/FileRepository.<init>')
f(32,17,1,1,'org/eclipse/jgit/util/SystemReader.getUserConfig')
f(33,17,1,1,'org/eclipse/jgit/util/SystemReader.updateAll')
f(34,17,1,1,'org/eclipse/jgit/util/SystemReader.updateAll')
f(35,17,1,1,'org/eclipse/jgit/storage/file/FileBasedConfig.isOutdated')
f(36,17,1,1,'org/eclipse/jgit/internal/storage/file/FileSnapshot.isModified')
f(37,17,1,1,'org/eclipse/jgit/util/FS.fileAttributes')
f(38,17,1,1,'org/eclipse/jgit/util/FileUtils.fileAttributes')
f(39,17,1,1,'java/nio/file/Files.readAttributes')
f(40,17,1,1,'sun/nio/fs/LinuxFileSystemProvider.readAttributes')
f(41,17,1,1,'sun/nio/fs/UnixFileSystemProvider.readAttributes')
f(42,17,1,1,'sun/nio/fs/UnixFileAttributeViews$Basic.readAttributes')
f(43,17,1,1,'sun/nio/fs/UnixFileAttributes.get')
f(44,17,1,1,'sun/nio/fs/UnixNativeDispatcher.lstat')
f(45,17,1,1,'sun/nio/fs/UnixNativeDispatcher.lstat0')
f(46,17,1,3,'Java_sun_nio_fs_UnixNativeDispatcher_lstat0')
f(47,17,1,3,'JNU_NewObjectByName')
f(48,17,1,3,'jni_GetMethodID')
f(49,17,1,3,'get_method_id(JNIEnv_*, _jclass*, char const*, char const*, bool, Thread*) [clone .constprop.335]')
f(50,17,1,4,'SymbolTable::lookup(int, char const*, int, unsigned int)')
f(26,18,10,1,'hudson/plugins/git/GitSCM.retrieveChanges')
f(27,18,10,1,'hudson/plugins/git/GitSCM.fetchFrom')
f(28,18,10,1,'org/jenkinsci/plugins/gitclient/JGitAPIImpl$2.execute')
f(29,18,10,1,'org/eclipse/jgit/api/FetchCommand.call')
f(30,18,10,1,'org/eclipse/jgit/transport/Transport.fetch')
f(31,18,10,1,'org/eclipse/jgit/transport/FetchProcess.execute')
f(32,18,10,1,'org/eclipse/jgit/transport/FetchProcess.executeImp')
f(33,18,2,1,'org/eclipse/jgit/lib/BatchRefUpdate.execute')
f(34,18,2,1,'org/eclipse/jgit/internal/storage/file/PackedBatchRefUpdate.execute')
f(35,18,2,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.pack')
f(36,18,2,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.pack')
f(37,18,1,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.readPackedRefs')
f(38,18,1,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.parsePackedRefs')
f(39,18,1,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.copy')
f(40,18,1,1,'java/lang/StringBuilder.append')
f(41,18,1,1,'java/lang/AbstractStringBuilder.append')
f(42,18,1,1,'java/lang/AbstractStringBuilder.appendChars')
f(37,19,1,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.readRef')
f(38,19,1,1,'org/eclipse/jgit/internal/storage/file/RefDirectory.scanRef')
f(39,19,1,1,'org/eclipse/jgit/internal/storage/file/FileSnapshot.save')
f(40,19,1,1,'org/eclipse/jgit/internal/storage/file/FileSnapshot.<init>')
f(41,19,1,1,'org/eclipse/jgit/internal/storage/file/FileSnapshot.<init>')
f(42,19,1,1,'org/eclipse/jgit/util/FS.fileAttributes')
f(43,19,1,1,'org/eclipse/jgit/util/FileUtils.fileAttributes')
f(44,19,1,1,'java/nio/file/Files.readAttributes')
f(45,19,1,1,'sun/nio/fs/LinuxFileSystemProvider.readAttributes')
f(46,19,1,1,'sun/nio/fs/UnixFileSystemProvider.readAttributes')
f(47,19,1,1,'sun/nio/fs/UnixFileAttributeViews$Basic.readAttributes')
f(48,19,1,1,'sun/nio/fs/UnixException.rethrowAsIOException')
f(49,19,1,1,'sun/nio/fs/UnixException.rethrowAsIOException')
f(50,19,1,1,'sun/nio/fs/UnixException.translateToIOException')
f(51,19,1,1,'java/nio/file/NoSuchFileException.<init>')
f(52,19,1,1,'java/nio/file/FileSystemException.<init>')
f(53,19,1,1,'java/io/IOException.<init>')
f(54,19,1,1,'java/lang/Exception.<init>')
f(55,19,1,1,'java/lang/Throwable.<init>')
f(56,19,1,1,'java/lang/Throwable.fillInStackTrace')
f(57,19,1,1,'java/lang/Throwable.fillInStackTrace')
f(58,19,1,3,'Java_java_lang_Throwable_fillInStackTrace')
f(59,19,1,3,'JVM_FillInStackTrace')
f(60,19,1,4,'java_lang_Throwable::fill_in_stack_trace(Handle, methodHandle const&)')
f(61,19,1,4,'java_lang_Throwable::fill_in_stack_trace(Handle, methodHandle const&, Thread*)')
f(62,19,1,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<1097844ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 1097844ul>::oop_access_barrier(void*)')
f(33,20,8,1,'org/eclipse/jgit/transport/FetchProcess.fetchObjects')
f(34,20,8,1,'org/eclipse/jgit/transport/BasePackFetchConnection.fetch')
f(35,20,8,1,'org/eclipse/jgit/transport/BasePackFetchConnection.fetch')
f(36,20,8,1,'org/eclipse/jgit/transport/TransportHttp$SmartHttpFetchConnection.doFetch')
f(37,20,8,1,'org/eclipse/jgit/transport/BasePackFetchConnection.doFetch')
f(38,20,5,1,'org/eclipse/jgit/transport/BasePackFetchConnection.doFetchV2')
f(39,20,5,1,'org/eclipse/jgit/transport/BasePackFetchConnection.receivePack')
f(40,20,5,1,'org/eclipse/jgit/transport/PackParser.parse')
f(41,20,5,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.parse')
f(42,20,5,1,'org/eclipse/jgit/transport/PackParser.parse')
f(43,20,1,1,'org/eclipse/jgit/transport/PackParser.indexOneObject')
f(44,20,1,4,'SharedRuntime::resolve_opt_virtual_call_C(JavaThread*)')
f(43,21,4,1,'org/eclipse/jgit/transport/PackParser.processDeltas')
f(44,21,1,1,'org/eclipse/jgit/transport/PackParser.resolveDeltasWithExternalBases')
f(45,21,1,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.onEndThinPack')
f(46,21,1,1,'java/security/MessageDigest.update')
f(47,21,1,1,'java/security/MessageDigest$Delegate.engineUpdate')
f(48,21,1,1,'sun/security/provider/DigestBase.engineUpdate')
f(49,21,1,1,'sun/security/provider/DigestBase.implCompressMultiBlock')
f(50,21,1,1,'sun/security/provider/DigestBase.implCompressMultiBlock0')
f(51,21,1,1,'sun/security/provider/SHA.implCompress')
f(52,21,1,1,'sun/security/provider/SHA.implCompress0')
f(44,22,3,1,'org/eclipse/jgit/transport/PackParser.resolveDeltas')
f(45,22,3,1,'org/eclipse/jgit/transport/PackParser.resolveDeltas')
f(46,22,3,1,'org/eclipse/jgit/transport/PackParser.resolveDeltas')
f(47,22,1,1,'org/eclipse/jgit/transport/PackParser.inflateAndReturn')
f(48,22,1,1,'org/eclipse/jgit/util/IO.readFully')
f(49,22,1,1,'org/eclipse/jgit/transport/PackParser$InflaterStream.read')
f(47,23,1,1,'org/eclipse/jgit/transport/PackParser.openDatabase')
f(48,23,1,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.seekDatabase')
f(49,23,1,1,'org/eclipse/jgit/transport/PackParser.readObjectHeader')
f(50,23,1,1,'org/eclipse/jgit/transport/PackParser.readFrom')
f(51,23,1,1,'org/eclipse/jgit/transport/PackParser.fill')
f(52,23,1,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.readDatabase')
f(53,23,1,1,'java/io/RandomAccessFile.read')
f(54,23,1,1,'java/io/RandomAccessFile.readBytes')
f(55,23,1,3,'readBytes')
f(56,23,1,3,'jni_SetByteArrayRegion')
f(57,23,1,4,'ThreadStateTransition::transition_and_fence(JavaThread*, JavaThreadState, JavaThreadState) [clone .constprop.339]')
f(47,24,1,1,'org/eclipse/jgit/util/sha1/SHA1.update')
f(48,24,1,1,'org/eclipse/jgit/util/sha1/SHA1.update')
f(49,24,1,1,'org/eclipse/jgit/util/sha1/SHA1.compress')
f(50,24,1,1,'org/eclipse/jgit/util/sha1/SHA1.initBlock')
f(38,25,2,1,'org/eclipse/jgit/transport/BasePackFetchConnection.markRefsAdvertised')
f(39,25,2,1,'org/eclipse/jgit/transport/BasePackFetchConnection.markAdvertised')
f(40,25,2,1,'org/eclipse/jgit/revwalk/RevWalk.parseAny')
f(41,25,2,1,'org/eclipse/jgit/lib/ObjectReader.open')
f(42,25,2,1,'org/eclipse/jgit/internal/storage/file/WindowCursor.open')
f(43,25,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openObject')
f(44,25,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openObjectWithoutRestoring')
f(45,25,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openPackedFromSelfOrAlternate')
f(46,25,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openPackedObject')
f(47,25,2,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.open')
f(48,25,2,1,'org/eclipse/jgit/internal/storage/file/Pack.get')
f(49,25,2,1,'org/eclipse/jgit/internal/storage/file/Pack.load')
f(50,25,2,1,'org/eclipse/jgit/internal/storage/file/Pack.decompress')
f(51,25,2,1,'org/eclipse/jgit/internal/storage/file/WindowCursor.inflate')
f(52,25,2,1,'java/util/zip/Inflater.inflate')
f(53,25,2,1,'java/util/zip/Inflater.inflateBytesBytes')
f(54,25,1,3,'/lib/x86_64-linux-gnu/libz.so.1.2.11')
f(54,26,1,3,'[unknown]')
f(55,26,1,3,'inflate')
f(38,27,1,1,'org/eclipse/jgit/util/TemporaryBuffer$Heap.<init>')
f(39,27,1,1,'org/eclipse/jgit/util/TemporaryBuffer.<init>')
f(40,27,1,1,'org/eclipse/jgit/util/TemporaryBuffer.<init>')
f(41,27,1,1,'org/eclipse/jgit/util/TemporaryBuffer.reset')
f(42,27,1,1,'java/util/ArrayList.add')
f(43,27,1,1,'java/util/ArrayList.add')
f(44,27,1,1,'java/util/ArrayList.grow')
f(45,27,1,1,'java/util/ArrayList.grow')
f(46,27,1,1,'java/util/Arrays.copyOf')
f(47,27,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(48,27,1,4,'InstanceKlass::allocate_objArray(int, int, Thread*)')
f(49,27,1,4,'CollectedHeap::array_allocate(Klass*, int, int, bool, Thread*)')
f(50,27,1,4,'MemAllocator::allocate() const')
f(51,27,1,4,'G1CollectedHeap::mem_allocate(unsigned long, bool*)')
f(52,27,1,4,'G1CollectedHeap::attempt_allocation_humongous(unsigned long)')
f(53,27,1,4,'G1CollectedHeap::humongous_obj_allocate(unsigned long)')
f(54,27,1,4,'HeapRegionManager::find_contiguous(unsigned long, bool)')
f(26,28,5,1,'org/jenkinsci/plugins/gitclient/JGitAPIImpl$1.execute')
f(27,28,5,1,'org/jenkinsci/plugins/gitclient/JGitAPIImpl.access$100')
f(28,28,5,1,'org/jenkinsci/plugins/gitclient/JGitAPIImpl.doCheckoutWithResetAndRetry')
f(29,28,1,1,'org/eclipse/jgit/api/CheckoutCommand.call')
f(30,28,1,1,'org/eclipse/jgit/dircache/DirCacheCheckout.<init>')
f(31,28,1,1,'org/eclipse/jgit/treewalk/FileTreeIterator.<init>')
f(32,28,1,1,'org/eclipse/jgit/treewalk/FileTreeIterator.<init>')
f(33,28,1,1,'org/eclipse/jgit/treewalk/FileTreeIterator.<init>')
f(34,28,1,1,'org/eclipse/jgit/treewalk/FileTreeIterator.entries')
f(35,28,1,1,'org/eclipse/jgit/util/FS.list')
f(36,28,1,1,'org/eclipse/jgit/treewalk/FileTreeIterator$FileEntry.<init>')
f(37,28,1,1,'org/eclipse/jgit/util/FS_POSIX.getAttributes')
f(38,28,1,1,'org/eclipse/jgit/util/FileUtils.getFileAttributesPosix')
f(39,28,1,1,'sun/nio/fs/UnixFileAttributeViews$Posix.readAttributes')
f(40,28,1,1,'sun/nio/fs/UnixFileAttributeViews$Posix.readAttributes')
f(41,28,1,1,'sun/nio/fs/UnixFileAttributes.get')
f(42,28,1,1,'sun/nio/fs/UnixNativeDispatcher.lstat')
f(43,28,1,1,'sun/nio/fs/UnixNativeDispatcher.lstat0')
f(44,28,1,3,'__lxstat')
f(45,28,1,5,'entry_SYSCALL_64_after_hwframe')
f(46,28,1,5,'do_syscall_64')
f(47,28,1,5,'__x64_sys_newlstat')
f(48,28,1,5,'__do_sys_newlstat')
f(49,28,1,5,'vfs_statx')
f(50,28,1,5,'user_path_at_empty')
f(51,28,1,5,'filename_lookup')
f(52,28,1,5,'path_lookupat')
f(53,28,1,5,'link_path_walk.part.33')
f(54,28,1,5,'inode_permission')
f(55,28,1,5,'ovl_permission?[overlay]')
f(56,28,1,5,'inode_permission')
f(57,28,1,5,'security_inode_permission')
f(29,29,4,1,'org/eclipse/jgit/api/ResetCommand.call')
f(30,29,2,1,'org/eclipse/jgit/api/ResetCommand.checkoutIndex')
f(31,29,2,1,'org/eclipse/jgit/dircache/DirCacheCheckout.checkout')
f(32,29,2,1,'org/eclipse/jgit/dircache/DirCacheCheckout.doCheckout')
f(33,29,2,1,'org/eclipse/jgit/dircache/DirCacheCheckout.prescanOneTree')
f(34,29,2,1,'org/eclipse/jgit/treewalk/TreeWalk.enterSubtree')
f(35,29,2,1,'org/eclipse/jgit/treewalk/CanonicalTreeParser.createSubtreeIterator')
f(36,29,2,1,'org/eclipse/jgit/treewalk/CanonicalTreeParser.createSubtreeIterator')
f(37,29,2,1,'org/eclipse/jgit/treewalk/CanonicalTreeParser.createSubtreeIterator0')
f(38,29,2,1,'org/eclipse/jgit/treewalk/CanonicalTreeParser.reset')
f(39,29,2,1,'org/eclipse/jgit/internal/storage/file/WindowCursor.open')
f(40,29,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openObject')
f(41,29,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openObjectWithoutRestoring')
f(42,29,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openPackedFromSelfOrAlternate')
f(43,29,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openPackedObject')
f(44,29,2,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.open')
f(45,29,2,1,'org/eclipse/jgit/internal/storage/file/Pack.get')
f(46,29,2,1,'org/eclipse/jgit/internal/storage/file/Pack.idx')
f(47,29,2,1,'org/eclipse/jgit/internal/storage/file/PackIndex.open')
f(48,29,2,1,'org/eclipse/jgit/internal/storage/file/PackIndex.read')
f(49,29,2,1,'org/eclipse/jgit/internal/storage/file/PackIndexV2.<init>')
f(50,29,2,1,'org/eclipse/jgit/util/IO.readFully')
f(51,29,2,1,'java/io/FileInputStream.read')
f(52,29,2,1,'java/io/FileInputStream.readBytes')
f(53,29,2,3,'readBytes')
f(54,29,1,3,'__libc_read')
f(55,29,1,5,'entry_SYSCALL_64_after_hwframe')
f(56,29,1,5,'do_syscall_64')
f(57,29,1,5,'__x64_sys_read')
f(58,29,1,5,'ksys_read')
f(54,30,1,3,'jni_SetByteArrayRegion')
f(55,30,1,3,'check_bounds(int, int, int, Thread*)')
f(56,30,1,4,'ResourceMark::reset_to_mark()')
f(30,31,2,1,'org/eclipse/jgit/api/ResetCommand.resolveRefToCommitId')
f(31,31,2,1,'org/eclipse/jgit/lib/Repository.resolve')
f(32,31,2,1,'org/eclipse/jgit/lib/Repository.resolve')
f(33,31,2,1,'org/eclipse/jgit/lib/Repository.parseSimple')
f(34,31,2,1,'org/eclipse/jgit/revwalk/RevWalk.parseAny')
f(35,31,2,1,'org/eclipse/jgit/lib/ObjectReader.open')
f(36,31,2,1,'org/eclipse/jgit/internal/storage/file/WindowCursor.open')
f(37,31,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openObject')
f(38,31,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openObjectWithoutRestoring')
f(39,31,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openPackedFromSelfOrAlternate')
f(40,31,2,1,'org/eclipse/jgit/internal/storage/file/ObjectDirectory.openPackedObject')
f(41,31,2,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.open')
f(42,31,2,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.searchPacksAgain')
f(43,31,2,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.scanPacks')
f(44,31,2,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.scanPacksImpl')
f(45,31,1,1,'org/eclipse/jgit/internal/storage/file/Pack.<init>')
f(46,31,1,1,'org/eclipse/jgit/internal/storage/file/PackFileSnapshot.save')
f(47,31,1,1,'org/eclipse/jgit/internal/storage/file/PackFileSnapshot.<init>')
f(48,31,1,1,'org/eclipse/jgit/internal/storage/file/FileSnapshot.<init>')
f(49,31,1,1,'org/eclipse/jgit/internal/storage/file/FileSnapshot.<init>')
f(50,31,1,1,'org/eclipse/jgit/util/FS.fileAttributes')
f(51,31,1,1,'org/eclipse/jgit/util/FileUtils.fileAttributes')
f(52,31,1,1,'java/nio/file/Files.readAttributes')
f(53,31,1,1,'sun/nio/fs/LinuxFileSystemProvider.readAttributes')
f(54,31,1,1,'sun/nio/fs/UnixFileSystemProvider.readAttributes')
f(55,31,1,1,'sun/nio/fs/UnixFileAttributeViews$Basic.readAttributes')
f(56,31,1,1,'sun/nio/fs/UnixFileAttributes.get')
f(57,31,1,1,'sun/nio/fs/UnixNativeDispatcher.lstat')
f(58,31,1,1,'sun/nio/fs/UnixNativeDispatcher.lstat0')
f(59,31,1,3,'__lxstat')
f(60,31,1,5,'entry_SYSCALL_64_after_hwframe')
f(61,31,1,5,'do_syscall_64')
f(62,31,1,5,'__x64_sys_newlstat')
f(63,31,1,5,'__do_sys_newlstat')
f(64,31,1,5,'vfs_statx')
f(65,31,1,5,'vfs_getattr')
f(66,31,1,5,'security_inode_getattr')
f(67,31,1,5,'apparmor_inode_getattr')
f(68,31,1,5,'common_perm_cond')
f(69,31,1,5,'common_perm')
f(70,31,1,5,'aa_path_perm')
f(71,31,1,5,'profile_path_perm.part.9')
f(72,31,1,5,'__aa_path_perm')
f(73,31,1,5,'aa_str_perms')
f(74,31,1,5,'aa_dfa_match')
f(45,32,1,1,'org/eclipse/jgit/internal/storage/file/PackDirectory.getPackFilesByExtById')
f(46,32,1,1,'java/io/File.list')
f(47,32,1,1,'java/io/File.normalizedList')
f(48,32,1,1,'java/io/UnixFileSystem.list')
f(49,32,1,3,'[unknown]')
f(50,32,1,3,'getdents64')
f(51,32,1,5,'entry_SYSCALL_64_after_hwframe')
f(52,32,1,5,'do_syscall_64')
f(53,32,1,5,'__x64_sys_getdents64')
f(54,32,1,5,'ksys_getdents64')
f(55,32,1,5,'iterate_dir')
f(56,32,1,5,'ext4_readdir')
f(57,32,1,5,'call_filldir')
f(58,32,1,5,'filldir64')
f(59,32,1,5,'verify_dirent_name')
f(60,32,1,5,'memchr')
f(4,33,1,1,'org/jenkinsci/plugins/workflow/multibranch/SCMBinder.create')
f(5,33,1,1,'jenkins/scm/api/SCMSource.fetch')
f(6,33,1,1,'org/jenkinsci/plugins/github_branch_source/GitHubSCMSource.retrieve')
f(7,33,1,1,'org/jenkinsci/plugins/github_branch_source/Connector.checkConnectionValidity')
f(8,33,1,1,'org/jenkinsci/plugins/github_branch_source/GitHubConsoleNote.create')
f(9,33,1,1,'hudson/console/ConsoleNote.encode')
f(10,33,1,1,'hudson/console/ConsoleNote.encodeToBytes')
f(11,33,1,1,'com/jcraft/jzlib/GZIPOutputStream.<init>')
f(12,33,1,1,'com/jcraft/jzlib/GZIPOutputStream.<init>')
f(13,33,1,1,'com/jcraft/jzlib/GZIPOutputStream.<init>')
f(14,33,1,1,'com/jcraft/jzlib/Deflater.<init>')
f(15,33,1,1,'com/jcraft/jzlib/Deflater.<init>')
f(16,33,1,1,'com/jcraft/jzlib/Deflater.init')
f(17,33,1,1,'com/jcraft/jzlib/Deflate.deflateInit')
f(18,33,1,1,'com/jcraft/jzlib/Deflate.deflateInit')
f(19,33,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(20,33,1,4,'TypeArrayKlass::allocate_common(int, bool, Thread*)')
f(21,33,1,4,'CollectedHeap::array_allocate(Klass*, int, int, bool, Thread*)')
f(22,33,1,4,'MemAllocator::allocate() const')
f(23,33,1,3,'/lib/x86_64-linux-gnu/libc-2.31.so')
f(1,34,1,1,'java/lang/Thread.run')
f(2,34,1,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,34,1,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,34,1,1,'java/util/concurrent/FutureTask.run')
f(5,34,1,1,'jenkins/security/ImpersonatingExecutorService$2.call')
f(6,34,1,1,'jenkins/util/ContextResettingExecutorService$2.call')
f(7,34,1,1,'hudson/remoting/CallableDecoratorList$$Lambda$742/1493284597.call')
f(8,34,1,1,'hudson/remoting/CallableDecoratorList.lambda$applyDecorator$0')
f(9,34,1,1,'org/jenkinsci/remoting/CallableDecorator.call')
f(10,34,1,1,'hudson/remoting/InterceptingExecutorService$$Lambda$741/1443831992.call')
f(11,34,1,1,'hudson/remoting/InterceptingExecutorService.lambda$wrap$0')
f(12,34,1,1,'hudson/remoting/Request$2.run')
f(13,34,1,1,'hudson/remoting/Channel.send')
f(14,34,1,1,'hudson/remoting/AbstractSynchronousByteArrayCommandTransport.write')
f(15,34,1,1,'hudson/remoting/Command.writeTo')
f(16,34,1,1,'java/io/ObjectOutputStream.writeObject')
f(17,34,1,1,'java/io/ObjectOutputStream.writeObject0')
f(18,34,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(19,34,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(20,34,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(21,34,1,1,'java/io/ObjectOutputStream.writeObject0')
f(22,34,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(23,34,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(24,34,1,1,'java/io/ObjectStreamClass.invokeWriteObject')
f(25,34,1,1,'java/lang/reflect/Method.invoke')
f(26,34,1,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(27,34,1,1,'jdk/internal/reflect/NativeMethodAccessorImpl.invoke')
f(28,34,1,1,'jdk/internal/reflect/NativeMethodAccessorImpl.invoke0')
f(29,34,1,1,'java/util/HashMap.writeObject')
f(30,34,1,1,'java/util/HashMap.internalWriteEntries')
f(31,34,1,1,'java/io/ObjectOutputStream.writeObject')
f(32,34,1,1,'java/io/ObjectOutputStream.writeObject0')
f(33,34,1,1,'java/io/ObjectStreamClass.lookup')
f(34,34,1,1,'java/io/ObjectStreamClass.<init>')
f(35,34,1,1,'java/io/ObjectStreamClass.lookup')
f(36,34,1,1,'java/io/ObjectStreamClass.<init>')
f(37,34,1,1,'java/security/AccessController.doPrivileged')
f(38,34,1,1,'java/io/ObjectStreamClass$2.run')
f(39,34,1,1,'java/io/ObjectStreamClass$2.run')
f(40,34,1,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(41,34,1,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(42,34,1,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(43,34,1,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(44,34,1,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(45,34,1,1,'java/security/AccessController.doPrivileged')
f(46,34,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(47,34,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(48,34,1,1,'java/lang/Class.newInstance')
f(49,34,1,1,'java/lang/Class.getConstructor0')
f(50,34,1,1,'java/lang/Class.privateGetDeclaredConstructors')
f(51,34,1,1,'java/lang/Class.getDeclaredConstructors0')
f(52,34,1,3,'JVM_GetClassDeclaredConstructors')
f(53,34,1,3,'get_class_declared_methods_helper(JNIEnv_*, _jclass*, unsigned char, bool, Klass*, Thread*)')
f(54,34,1,4,'InstanceKlass::link_class_impl(bool, Thread*)')
f(55,34,1,4,'InstanceKlass::link_methods(Thread*)')
f(56,34,1,4,'AbstractInterpreter::method_kind(methodHandle const&)')
f(1,35,37,3,'start_thread')
f(2,35,37,3,'thread_native_entry(Thread*)')
f(3,35,37,4,'Thread::call_run()')
f(4,35,37,4,'JavaThread::thread_main_inner()')
f(5,35,37,4,'CompileBroker::compiler_thread_loop()')
f(6,35,37,4,'CompileBroker::invoke_compiler_on_method(CompileTask*)')
f(7,35,37,4,'C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)')
f(8,35,37,4,'Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)')
f(9,35,1,4,'CallGenerator::for_osr(ciMethod*, int)')
f(10,35,1,4,'InlineTree::check_can_parse(ciMethod*)')
f(11,35,1,4,'ciMethod::get_flow_analysis()')
f(12,35,1,4,'ciTypeFlow::do_flow()')
f(13,35,1,4,'ciTypeFlow::flow_types()')
f(14,35,1,4,'ciTypeFlow::df_flow_types(ciTypeFlow::Block*, bool, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)')
f(15,35,1,4,'ciTypeFlow::SuccIter::next()')
f(9,36,19,4,'Compile::Code_Gen()')
f(10,36,3,4,'Compile::Output()')
f(11,36,3,4,'Compile::BuildOopMaps()')
f(12,36,3,4,'OopFlow::compute_reach(PhaseRegAlloc*, int, Dict*)')
f(13,37,2,4,'OopFlow::build_oop_map(Node*, int, PhaseRegAlloc*, int*)')
f(10,39,2,4,'Matcher::match()')
f(11,39,2,4,'Matcher::xform(Node*, int)')
f(12,39,1,4,'Matcher::collect_null_checks(Node*, Node*)')
f(12,40,1,4,'Matcher::match_sfpt(SafePointNode*)')
f(13,40,1,4,'Matcher::match_tree(Node const*)')
f(10,41,3,4,'PhaseCFG::do_global_code_motion()')
f(11,41,3,4,'PhaseCFG::global_code_motion()')
f(12,41,1,4,'PhaseCFG::schedule_late(VectorSet&, Node_Stack&)')
f(13,41,1,4,'Node_Backward_Iterator::next()')
f(12,42,2,4,'PhaseCFG::schedule_local(Block*, GrowableArray<int>&, VectorSet&, long*)')
f(13,43,1,4,'PhaseCFG::adjust_register_pressure(Node*, Block*, long*, bool)')
f(10,44,11,4,'PhaseChaitin::Register_Allocate()')
f(11,44,1,4,'PhaseChaitin::Select()')
f(11,45,5,4,'PhaseChaitin::build_ifg_physical(ResourceArea*)')
f(12,46,1,4,'PhaseChaitin::add_input_to_liveout(Block*, Node*, IndexSet*, double, PhaseChaitin::Pressure&, PhaseChaitin::Pressure&)')
f(12,47,2,4,'PhaseChaitin::interfere_with_live(unsigned int, IndexSet*)')
f(13,48,1,3,'__tls_get_addr')
f(12,49,1,4,'PhaseChaitin::remove_bound_register_from_interfering_live_ranges(LRG&, IndexSet*, unsigned int&)')
f(13,49,1,4,'RegMask::smear_to_sets(int)')
f(11,50,2,4,'PhaseChaitin::post_allocate_copy_removal()')
f(12,51,1,4,'PhaseChaitin::elide_copy(Node*, int, Block*, Node_List&, Node_List&, bool)')
f(11,52,1,4,'PhaseCoalesce::coalesce_driver()')
f(12,52,1,4,'PhaseConservativeCoalesce::coalesce(Block*)')
f(13,52,1,4,'PhaseConservativeCoalesce::update_ifg(unsigned int, unsigned int, IndexSet*, IndexSet*)')
f(11,53,2,4,'PhaseLive::compute(unsigned int)')
f(12,53,2,4,'PhaseLive::add_liveout(Block*, IndexSet*, VectorSet&)')
f(13,54,1,3,'__tls_get_addr')
f(9,55,14,4,'Compile::Optimize()')
f(10,55,7,4,'Compile::optimize_loops(int&, PhaseIterGVN&, LoopOptsMode) [clone .part.356]')
f(11,55,7,4,'PhaseIdealLoop::build_and_optimize(LoopOptsMode)')
f(12,55,1,4,'IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)')
f(13,55,1,4,'IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)')
f(14,55,1,4,'IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)')
f(15,55,1,4,'IdealLoopTree::policy_unroll(PhaseIdealLoop*)')
f(16,55,1,4,'IdealLoopTree::policy_unroll_slp_analysis(CountedLoopNode*, PhaseIdealLoop*, int)')
f(17,55,1,4,'SuperWord::SuperWord(PhaseIdealLoop*)')
f(12,56,1,4,'PhaseIdealLoop::build_loop_early(VectorSet&, Node_List&, Node_Stack&)')
f(13,56,1,4,'PhaseIdealLoop::get_early_ctrl(Node*)')
f(12,57,4,4,'PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)')
f(13,58,1,4,'BoolNode::Opcode() const')
f(13,59,1,4,'PhaseIdealLoop::build_loop_late_post(Node*)')
f(14,59,1,4,'PhaseIdealLoop::get_late_ctrl(Node*, Node*)')
f(15,59,1,4,'PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)')
f(13,60,1,4,'PhaseIdealLoop::get_loop(Node*) const')
f(12,61,1,4,'SuperWord::transform_loop(IdealLoopTree*, bool)')
f(13,61,1,4,'SuperWord::SLP_extract()')
f(14,61,1,4,'SuperWord::find_adjacent_refs()')
f(15,61,1,4,'SuperWord::find_align_to_ref(Node_List&, int&)')
f(16,61,1,4,'SWPointer::SWPointer(MemNode*, SuperWord*, Node_Stack*, bool) [clone .constprop.209]')
f(17,61,1,4,'SWPointer::scaled_iv_plus_offset(Node*)')
f(18,61,1,4,'SWPointer::offset_plus_k(Node*, bool)')
f(19,61,1,4,'Type::hashcons()')
f(20,61,1,4,'Dict::Insert(void*, void*, bool)')
f(21,61,1,4,'TypeLong::eq(Type const*) const')
f(10,62,1,4,'PhaseCCP::analyze()')
f(11,62,1,4,'AddNode::Value(PhaseGVN*) const')
f(10,63,1,4,'PhaseCCP::do_transform()')
f(11,63,1,4,'PhaseCCP::transform(Node*)')
f(12,63,1,4,'PhaseCCP::transform_once(Node*)')
f(13,63,1,4,'PhaseIterGVN::subsume_node(Node*, Node*)')
f(14,63,1,4,'PhaseIterGVN::remove_globally_dead_node(Node*)')
f(10,64,2,4,'PhaseIdealLoop::build_and_optimize(LoopOptsMode)')
f(11,64,1,4,'PhaseIdealLoop::Dominators()')
f(11,65,1,4,'PhaseIterGVN::optimize()')
f(12,65,1,4,'PhaseIterGVN::transform_old(Node*)')
f(13,65,1,4,'PhiNode::hash() const')
f(14,65,1,4,'TypeRawPtr::hash() const')
f(10,66,2,4,'PhaseIterGVN::optimize()')
f(11,66,2,4,'PhaseIterGVN::transform_old(Node*)')
f(12,66,2,4,'StoreNode::Ideal(PhaseGVN*, bool)')
f(13,66,1,4,'InitializeNode::can_capture_store(StoreNode*, PhaseTransform*, bool) [clone .part.160]')
f(14,66,1,4,'InitializeNode::detect_init_independence(Node*, int&)')
f(15,66,1,4,'InitializeNode::detect_init_independence(Node*, int&)')
f(16,66,1,4,'MemNode::all_controls_dominate(Node*, Node*) [clone .part.151]')
f(17,66,1,4,'Node::dominates(Node*, Node_List&)')
f(13,67,1,4,'MemNode::Ideal_common(PhaseGVN*, bool)')
f(14,67,1,4,'Compile::find_alias_type(TypePtr const*, bool, ciField*) [clone .part.250]')
f(15,67,1,4,'Compile::flatten_alias_type(TypePtr const*) const')
f(16,67,1,4,'Type::hashcons()')
f(17,67,1,4,'Type::cmp(Type const*, Type const*)')
f(10,68,1,4,'PhaseMacroExpand::expand_macro_nodes()')
f(11,68,1,4,'PhaseIterGVN::optimize()')
f(12,68,1,4,'PhaseIterGVN::transform_old(Node*)')
f(13,68,1,4,'NodeHash::hash_find_insert(Node*)')
f(14,68,1,4,'Node::hash() const')
f(9,69,1,4,'Compile::remove_useless_nodes(Unique_Node_List&)')
f(9,70,2,4,'ParseGenerator::generate(JVMState*)')
f(10,70,2,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(11,70,1,4,'Parse::do_all_blocks()')
f(12,70,1,4,'Parse::do_one_block()')
f(13,70,1,4,'Parse::do_one_bytecode()')
f(14,70,1,4,'Parse::do_call()')
f(15,70,1,4,'ParseGenerator::generate(JVMState*)')
f(16,70,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(17,70,1,4,'Parse::do_all_blocks()')
f(18,70,1,4,'Parse::do_one_block()')
f(19,70,1,4,'Parse::do_one_bytecode()')
f(20,70,1,4,'Parse::do_call()')
f(21,70,1,4,'ParseGenerator::generate(JVMState*)')
f(22,70,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(23,70,1,4,'Parse::do_all_blocks()')
f(24,70,1,4,'Parse::do_one_block()')
f(25,70,1,4,'Parse::do_one_bytecode()')
f(26,70,1,4,'Parse::do_call()')
f(27,70,1,4,'ParseGenerator::generate(JVMState*)')
f(28,70,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(29,70,1,4,'Parse::do_all_blocks()')
f(30,70,1,4,'Parse::do_one_block()')
f(31,70,1,4,'Parse::do_one_bytecode()')
f(32,70,1,4,'Parse::do_call()')
f(33,70,1,4,'ParseGenerator::generate(JVMState*)')
f(34,70,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(35,70,1,4,'Parse::do_all_blocks()')
f(36,70,1,4,'Parse::do_one_block()')
f(37,70,1,4,'Parse::do_one_bytecode()')
f(38,70,1,4,'Parse::do_call()')
f(39,70,1,4,'ParseGenerator::generate(JVMState*)')
f(40,70,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(41,70,1,4,'Parse::do_all_blocks()')
f(42,70,1,4,'Parse::do_one_block()')
f(43,70,1,4,'Parse::do_one_bytecode()')
f(44,70,1,4,'Parse::do_call()')
f(45,70,1,4,'ParseGenerator::generate(JVMState*)')
f(46,70,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(47,70,1,4,'Parse::do_all_blocks()')
f(48,70,1,4,'Parse::do_one_block()')
f(49,70,1,4,'Parse::do_one_bytecode()')
f(50,70,1,4,'Parse::do_if(BoolTest::mask, Node*)')
f(51,70,1,4,'Parse::adjust_map_after_if(BoolTest::mask, Node*, float, Parse::Block*, Parse::Block*)')
f(52,70,1,4,'GraphKit::add_empty_predicate_impl(Deoptimization::DeoptReason, int) [clone .part.191]')
f(53,70,1,4,'GraphKit::clone_map()')
f(54,70,1,4,'MergeMemNode::make(Node*)')
f(55,70,1,4,'MergeMemNode::MergeMemNode(Node*)')
f(11,71,1,4,'Parse::load_interpreter_state(Node*)')
f(12,71,1,4,'ciMethod::live_local_oops_at_bci(int)')
f(13,71,1,4,'OopMapCache::compute_one_oop_map(methodHandle const&, int, InterpreterOopMap*)')
f(14,71,1,4,'OopMapCacheEntry::fill(methodHandle const&, int)')
f(15,71,1,4,'GenerateOopMap::compute_map(Thread*)')
f(16,71,1,4,'GenerateOopMap::do_interpretation()')
f(17,71,1,4,'GenerateOopMap::init_basic_blocks()')
f(18,71,1,4,'GenerateOopMap::mark_reachable_code()')
render();
</script></body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment