v8/tools/gdbinit
mvstanton 9386b861fd Special printing for type feedback vectors.
Gdb macro jfv on an object will print it as a feedback vector.
Printouts look like this:

DebugPrint: 0x5dc0d2ad: [TypeFeedbackVector]
 - length: 12
 - ics with type info: 3
 - generic ics: 0
 ICSlot 0 CALL_IC MONOMORPHIC
  [4]: 0x5dc0d365 WeakCell for 0x5dc0cd69 <JS Function foo (SharedFunctionInfo 0x5dc0cb0d)>
  [5]: 0x4203c4c1 <Code: HANDLER>
 ICSlot 1 LOAD_IC MONOMORPHIC
  [6]: 0x5dc0d1f5 WeakCell for 0x3a710481 <Map(FAST_HOLEY_SMI_ELEMENTS)>
  [7]: 0x4203a1c1 <Code: HANDLER>
 ICSlot 2 LOAD_IC UNINITIALIZED
  [8]: 0x3060d045 <Symbol: 711234650 <String[20]: uninitialized_symbol>>
  [9]: 0x3060d045 <Symbol: 711234650 <String[20]: uninitialized_symbol>>
 ICSlot 3 LOAD_IC MONOMORPHIC
  [10]: 0x5dc0d3b5 WeakCell for 0x3a710d71 <Map(FAST_HOLEY_ELEMENTS)>
  [11]: 0x4202af01 <Code: HANDLER>

BUG=

Review URL: https://codereview.chromium.org/1225403005

Cr-Commit-Position: refs/heads/master@{#29679}
2015-07-15 12:22:03 +00:00

61 lines
1.3 KiB
Plaintext

# Copyright 2014 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Print HeapObjects.
define job
print ((v8::internal::HeapObject*)($arg0))->Print()
end
document job
Print a v8 JavaScript object
Usage: job tagged_ptr
end
# Print Code objects containing given PC.
define jco
job (v8::internal::Isolate::Current()->FindCodeObject((v8::internal::Address)$arg0))
end
document jco
Print a v8 Code object from an internal code address
Usage: jco pc
end
# Print TypeFeedbackVector
define jfv
print ((v8::internal::TypeFeedbackVector*)($arg0))->Print()
end
document jfv
Print a v8 TypeFeedbackVector object
Usage: jtv tagged_ptr
end
# Print DescriptorArray.
define jda
print ((v8::internal::DescriptorArray*)($arg0))->Print()
end
document jda
Print a v8 DescriptorArray object
Usage: jda tagged_ptr
end
# Print TransitionArray.
define jta
print ((v8::internal::TransitionArray*)($arg0))->Print()
end
document jta
Print a v8 TransitionArray object
Usage: jta tagged_ptr
end
# Print JavaScript stack trace.
define jst
print v8::internal::Isolate::Current()->PrintStack((FILE*) stdout, 1)
end
document jst
Print the current JavaScript stack trace
Usage: jst
end
set disassembly-flavor intel
set disable-randomization off