Searched defs:expressionRangeForBytecodeOffset (Results 1 - 1 of 1) sorted by relevance

/macosx-10.9.5/JavaScriptCore-7537.78.1/bytecode/
H A DUnlinkedCodeBlock.cpp244 ASSERT(bytecodeOffset < instructions().size()); int divot; int startOffset; int endOffset; unsigned line; unsigned column; expressionRangeForBytecodeOffset(bytecodeOffset, divot, startOffset, endOffset, line, column); return line; } void UnlinkedCodeBlock::expressionRangeForBytecodeOffset(unsigned bytecodeOffset, int& divot, int& startOffset, int& endOffset, unsigned& line, unsigned& column) { ASSERT(bytecodeOffset < instructions().size()); if (!m_expressionInfo.size()) { startOffset = 0; endOffset = 0; divot = 0; line = 0; column = 0; return; } Vector<ExpressionRangeInfo>& expressionInfo = m_expressionInfo; int low = 0; int high = expressionInfo.size(); while (low < high) { int mid = low + (high - low) / 2; if (expressionInfo[mid].instructionOffset <= bytecodeOffset) low = mid + 1; else high = mid; } if (!low) low = 1; ExpressionRangeInfo& info = expressionInfo[low - 1]; startOffset = info.startOffset; endOffset = info.endOffset; divot = info.divotPoint; switch (info.mode) { case ExpressionRangeInfo::FatLineMode: info.decodeFatLineMode(line, column); break; case ExpressionRangeInfo::FatColumnMode: info.decodeFatColumnMode(line, column); break; case ExpressionRangeInfo::FatLineAndColumnMode: { unsigned fatIndex = info.position; ExpressionRangeInfo::FatPosition& fatPos = m_rareData->m_expressionInfoFatPositions[fatIndex]; line = fatPos.line; column = fatPos.column; break; } } } void UnlinkedCodeBlock::addExpressionInfo(unsigned instructionOffset, int divot, int startOffset, int endOffset, unsigned line, unsigned column) { if (divot > ExpressionRangeInfo::MaxDivot) { divot = 0; startOffset = 0; endOffset = 0; } else if (startOffset > ExpressionRangeInfo::MaxOffset) { startOffset = 0; endOffset = 0; } else if (endOffset > ExpressionRangeInfo::MaxOffset) argument

Completed in 119 milliseconds