Changeset 129453 in webkit for trunk/Source/JavaScriptCore/bytecode
- Timestamp:
- Sep 24, 2012, 9:30:20 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore/bytecode
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r129297 r129453 589 589 } 590 590 #endif 591 #if ENABLE(CLASSIC_INTERPRETER)592 if (!m_globalResolveInstructions.isEmpty() || !m_propertyAccessInstructions.isEmpty())593 dataLog("\nStructures:\n");594 595 if (!m_globalResolveInstructions.isEmpty()) {596 size_t i = 0;597 do {598 printStructures(&instructions()[m_globalResolveInstructions[i]]);599 ++i;600 } while (i < m_globalResolveInstructions.size());601 }602 if (!m_propertyAccessInstructions.isEmpty()) {603 size_t i = 0;604 do {605 printStructures(&instructions()[m_propertyAccessInstructions[i]]);606 ++i;607 } while (i < m_propertyAccessInstructions.size());608 }609 #endif610 591 611 592 if (m_rareData && !m_rareData->m_exceptionHandlers.isEmpty()) { … … 2066 2047 #if ENABLE(LLINT) 2067 2048 Interpreter* interpreter = m_globalData->interpreter; 2068 // interpreter->classicEnabled() returns true if the old C++ interpreter is enabled. If that's enabled 2069 // then we're not using LLInt. 2070 if (!interpreter->classicEnabled() && !!numberOfInstructions()) { 2049 if (!!numberOfInstructions()) { 2071 2050 for (size_t size = m_propertyAccessInstructions.size(), i = 0; i < size; ++i) { 2072 2051 Instruction* curInstruction = &instructions()[m_propertyAccessInstructions[i]]; … … 2261 2240 for (size_t i = 0; i < m_functionDecls.size(); ++i) 2262 2241 visitor.append(&m_functionDecls[i]); 2263 #if ENABLE(CLASSIC_INTERPRETER)2264 if (m_globalData->interpreter->classicEnabled() && !!numberOfInstructions()) {2265 for (size_t size = m_propertyAccessInstructions.size(), i = 0; i < size; ++i)2266 visitStructures(visitor, &instructions()[m_propertyAccessInstructions[i]]);2267 for (size_t size = m_globalResolveInstructions.size(), i = 0; i < size; ++i)2268 visitStructures(visitor, &instructions()[m_globalResolveInstructions[i]]);2269 }2270 #endif2271 2242 2272 2243 updateAllPredictions(Collection); … … 2445 2416 } 2446 2417 2447 #if ENABLE(CLASSIC_INTERPRETER)2448 bool CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset(unsigned bytecodeOffset)2449 {2450 if (m_globalResolveInstructions.isEmpty())2451 return false;2452 2453 int low = 0;2454 int high = m_globalResolveInstructions.size();2455 while (low < high) {2456 int mid = low + (high - low) / 2;2457 if (m_globalResolveInstructions[mid] <= bytecodeOffset)2458 low = mid + 1;2459 else2460 high = mid;2461 }2462 2463 if (!low || m_globalResolveInstructions[low - 1] != bytecodeOffset)2464 return false;2465 return true;2466 }2467 #endif2468 2418 #if ENABLE(JIT) 2469 2419 bool CodeBlock::hasGlobalResolveInfoAtBytecodeOffset(unsigned bytecodeOffset) -
trunk/Source/JavaScriptCore/bytecode/Instruction.h
r125637 r129453 155 155 Instruction(Opcode opcode) 156 156 { 157 #if !ENABLE(COMPUTED_GOTO_ CLASSIC_INTERPRETER)157 #if !ENABLE(COMPUTED_GOTO_OPCODES) 158 158 // We have to initialize one of the pointer members to ensure that 159 159 // the entire struct is initialized, when opcode is not a pointer.
Note:
See TracChangeset
for help on using the changeset viewer.