Changeset 162256 in webkit for trunk/Source/JavaScriptCore/ChangeLog
- Timestamp:
- Jan 18, 2014, 9:55:07 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r162250 r162256 1 2014-01-18 Mark Lam <[email protected]> 2 3 Adding UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn().. 4 https://bugs.webkit.org/show_bug.cgi?id=127127. 5 6 Reviewed by Geoffrey Garen. 7 8 In order to implement bytecode level breakpoints, we need a mechanism 9 for computing the best fit op_debug bytecode offset for any valid given 10 line and column value in the source. The "best fit" op_debug bytecode 11 in this case is defined below in the comment for 12 UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn(). 13 14 * GNUmakefile.list.am: 15 * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: 16 * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: 17 * JavaScriptCore.xcodeproj/project.pbxproj: 18 * bytecode/CodeBlock.cpp: 19 (JSC::CodeBlock::opDebugBytecodeOffsetForLineAndColumn): 20 - Convert the line and column to unlinked line and column values and 21 pass them to UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn() 22 to do the real work. 23 24 * bytecode/CodeBlock.h: 25 * bytecode/LineColumnInfo.h: Added. 26 (JSC::LineColumnInfo::operator <): 27 (JSC::LineColumnInfo::LineColumnPair::LineColumnPair): 28 (JSC::LineColumnInfo::operator ==): 29 (JSC::LineColumnInfo::operator !=): 30 (JSC::LineColumnInfo::operator <=): 31 (JSC::LineColumnInfo::operator >): 32 (JSC::LineColumnInfo::operator >=): 33 * bytecode/LineInfo.h: Removed. 34 35 * bytecode/UnlinkedCodeBlock.cpp: 36 (JSC::UnlinkedCodeBlock::decodeExpressionRangeLineAndColumn): 37 - Factored this out of expressionRangeForBytecodeOffset() so that it can 38 be called from multiple places. 39 (JSC::dumpLineColumnEntry): 40 (JSC::UnlinkedCodeBlock::dumpExpressionRangeInfo): 41 (JSC::UnlinkedCodeBlock::dumpOpDebugLineColumnInfoList): 42 - Some dumpers for debugging use only. 43 (JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset): 44 (JSC::UnlinkedCodeBlock::opDebugBytecodeOffsetForLineAndColumn): 45 - Finds the earliest op_debug bytecode whose line and column matches the 46 specified line and column values. If an exact match is not found, then 47 finds the nearest op_debug bytecode that precedes the specified line 48 and column values. If there are more than one op_debug at that preceding 49 line and column value, then the earliest of those op_debug bytecodes will 50 be be selected. The offset of the selected bytecode will be returned. 51 52 We want the earliest one because when we have multiple op_debug bytecodes 53 that map to a given line and column, a debugger user would expect to break 54 on the first one and step through the rest thereafter if needed. 55 56 (JSC::compareLineColumnInfo): 57 (JSC::UnlinkedCodeBlock::opDebugLineColumnInfoList): 58 - Creates the sorted opDebugLineColumnInfoList on demand. This list is 59 stored in the UnlinkedCodeBlock's rareData. 60 * bytecode/UnlinkedCodeBlock.h: 61 1 62 2014-01-18 Zan Dobersek <[email protected]> 2 63
Note:
See TracChangeset
for help on using the changeset viewer.