Searched refs:jumpTable (Results 1 - 6 of 6) sorted by relevance

/macosx-10.9.5/JavaScriptCore-7537.78.1/bytecode/
H A DPreciseJumpTargets.cpp31 static void addSimpleSwitchTargets(SimpleJumpTable& jumpTable, unsigned bytecodeOffset, Vector<unsigned, 32>& out) argument
33 for (unsigned i = jumpTable.branchOffsets.size(); i--;)
34 out.append(bytecodeOffset + jumpTable.branchOffsets[i]);
/macosx-10.9.5/JavaScriptCore-7537.78.1/jit/
H A DJIT.cpp704 ASSERT(record.jumpTable.simpleJumpTable->branchOffsets.size() == record.jumpTable.simpleJumpTable->ctiOffsets.size());
706 record.jumpTable.simpleJumpTable->ctiDefault = patchBuffer.locationOf(m_labels[bytecodeOffset + record.defaultOffset]);
708 for (unsigned j = 0; j < record.jumpTable.simpleJumpTable->branchOffsets.size(); ++j) {
709 unsigned offset = record.jumpTable.simpleJumpTable->branchOffsets[j];
710 record.jumpTable.simpleJumpTable->ctiOffsets[j] = offset ? patchBuffer.locationOf(m_labels[bytecodeOffset + offset]) : record.jumpTable.simpleJumpTable->ctiDefault;
715 record.jumpTable.stringJumpTable->ctiDefault = patchBuffer.locationOf(m_labels[bytecodeOffset + record.defaultOffset]);
717 StringJumpTable::StringOffsetTable::iterator end = record.jumpTable.stringJumpTable->offsetTable.end();
718 for (StringJumpTable::StringOffsetTable::iterator it = record.jumpTable
[all...]
H A DJITOpcodes32_64.cpp1034 SimpleJumpTable* jumpTable = &m_codeBlock->immediateSwitchJumpTable(tableIndex); local
1035 m_switches.append(SwitchRecord(jumpTable, m_bytecodeOffset, defaultOffset, SwitchRecord::Immediate));
1036 jumpTable->ctiOffsets.grow(jumpTable->branchOffsets.size());
1052 SimpleJumpTable* jumpTable = &m_codeBlock->characterSwitchJumpTable(tableIndex); local
1053 m_switches.append(SwitchRecord(jumpTable, m_bytecodeOffset, defaultOffset, SwitchRecord::Character));
1054 jumpTable->ctiOffsets.grow(jumpTable->branchOffsets.size());
1070 StringJumpTable* jumpTable = &m_codeBlock->stringSwitchJumpTable(tableIndex); local
1071 m_switches.append(SwitchRecord(jumpTable, m_bytecodeOffse
[all...]
H A DJIT.h131 } jumpTable; member in struct:JSC::SwitchRecord
136 SwitchRecord(SimpleJumpTable* jumpTable, unsigned bytecodeOffset, unsigned defaultOffset, Type type) argument
141 this->jumpTable.simpleJumpTable = jumpTable;
144 SwitchRecord(StringJumpTable* jumpTable, unsigned bytecodeOffset, unsigned defaultOffset) argument
149 this->jumpTable.stringJumpTable = jumpTable;
H A DJITOpcodes.cpp715 SimpleJumpTable* jumpTable = &m_codeBlock->immediateSwitchJumpTable(tableIndex); local
716 m_switches.append(SwitchRecord(jumpTable, m_bytecodeOffset, defaultOffset, SwitchRecord::Immediate));
717 jumpTable->ctiOffsets.grow(jumpTable->branchOffsets.size());
733 SimpleJumpTable* jumpTable = &m_codeBlock->characterSwitchJumpTable(tableIndex); local
734 m_switches.append(SwitchRecord(jumpTable, m_bytecodeOffset, defaultOffset, SwitchRecord::Character));
735 jumpTable->ctiOffsets.grow(jumpTable->branchOffsets.size());
751 StringJumpTable* jumpTable = &m_codeBlock->stringSwitchJumpTable(tableIndex); local
752 m_switches.append(SwitchRecord(jumpTable, m_bytecodeOffse
[all...]
/macosx-10.9.5/JavaScriptCore-7537.78.1/bytecompiler/
H A DBytecodeGenerator.cpp2402 static void prepareJumpTableForImmediateSwitch(UnlinkedSimpleJumpTable& jumpTable, int32_t switchAddress, uint32_t clauseCount, RefPtr<Label>* labels, ExpressionNode** nodes, int32_t min, int32_t max) argument
2404 jumpTable.min = min;
2405 jumpTable.branchOffsets.resize(max - min + 1);
2406 jumpTable.branchOffsets.fill(0);
2411 jumpTable.add(keyForImmediateSwitch(nodes[i], min, max), labels[i]->bind(switchAddress, switchAddress + 3));
2428 static void prepareJumpTableForCharacterSwitch(UnlinkedSimpleJumpTable& jumpTable, int32_t switchAddress, uint32_t clauseCount, RefPtr<Label>* labels, ExpressionNode** nodes, int32_t min, int32_t max) argument
2430 jumpTable.min = min;
2431 jumpTable.branchOffsets.resize(max - min + 1);
2432 jumpTable.branchOffsets.fill(0);
2437 jumpTable
2441 prepareJumpTableForStringSwitch(UnlinkedStringJumpTable& jumpTable, int32_t switchAddress, uint32_t clauseCount, RefPtr<Label>* labels, ExpressionNode** nodes) argument
2462 UnlinkedSimpleJumpTable& jumpTable = m_codeBlock->addImmediateSwitchJumpTable(); local
2468 UnlinkedSimpleJumpTable& jumpTable = m_codeBlock->addCharacterSwitchJumpTable(); local
2475 UnlinkedStringJumpTable& jumpTable = m_codeBlock->addStringSwitchJumpTable(); local
[all...]

Completed in 162 milliseconds