1. 10 Sep, 2013 7 commits
    • oliver@apple.com's avatar
      Support WeakMap · bfcc048e
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120912
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Add support for ES6 WeakMap.  Add the cluster of boilerplate
      classes around the core WeakMapData class.
      
      WeakMapData is a simple object->value hash table that uses a
      combo of WeakReferenceHarvester to conditionally keep the weak
      value reference live, and UnconditionalFinalizer to clean the
      dead keys from the table post-GC.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * runtime/CommonIdentifiers.h:
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::weakMapDataStructure):
      * runtime/JSWeakMap.cpp: Added.
      (JSC::JSWeakMap::finishCreation):
      (JSC::JSWeakMap::visitChildren):
      * runtime/JSWeakMap.h: Added.
      (JSC::JSWeakMap::createStructure):
      (JSC::JSWeakMap::create):
      (JSC::JSWeakMap::weakMapData):
      (JSC::JSWeakMap::JSWeakMap):
      * runtime/WeakMapConstructor.cpp: Added.
      (JSC::WeakMapConstructor::finishCreation):
      (JSC::constructWeakMap):
      (JSC::WeakMapConstructor::getConstructData):
      (JSC::WeakMapConstructor::getCallData):
      * runtime/WeakMapConstructor.h: Added.
      (JSC::WeakMapConstructor::create):
      (JSC::WeakMapConstructor::createStructure):
      (JSC::WeakMapConstructor::WeakMapConstructor):
      * runtime/WeakMapData.cpp: Added.
      (JSC::WeakMapData::WeakMapData):
      (JSC::WeakMapData::finishCreation):
      (JSC::WeakMapData::destroy):
      (JSC::WeakMapData::visitChildren):
      (JSC::WeakMapData::set):
      (JSC::WeakMapData::get):
      (JSC::WeakMapData::remove):
      (JSC::WeakMapData::contains):
      (JSC::WeakMapData::clear):
      (JSC::WeakMapData::DeadKeyCleaner::visitWeakReferences):
      (JSC::WeakMapData::DeadKeyCleaner::finalizeUnconditionally):
      * runtime/WeakMapData.h: Added.
      (JSC::WeakMapData::create):
      (JSC::WeakMapData::createStructure):
      (JSC::WeakMapData::DeadKeyCleaner::DeadKeyCleaner):
      * runtime/WeakMapPrototype.cpp: Added.
      (JSC::WeakMapPrototype::finishCreation):
      (JSC::getWeakMapData):
      (JSC::protoFuncWeakMapClear):
      (JSC::protoFuncWeakMapDelete):
      (JSC::protoFuncWeakMapGet):
      (JSC::protoFuncWeakMapHas):
      (JSC::protoFuncWeakMapSet):
      * runtime/WeakMapPrototype.h: Added.
      (JSC::WeakMapPrototype::create):
      (JSC::WeakMapPrototype::createStructure):
      (JSC::WeakMapPrototype::WeakMapPrototype):
      
      LayoutTests:
      
      Basic tests.
      
      * js/basic-weakmap-expected.txt: Added.
      * js/basic-weakmap.html: Added.
      * js/script-tests/basic-weakmap.js: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfcc048e
    • joepeck@webkit.org's avatar
      Web Inspector: [JSC] Caught exception is treated as uncaught · cbeb7656
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93607
      
      Reviewed by Geoff Garen.
      
      Source/JavaScriptCore:
      
      Check up the entire call stack to see if there is an exception handler.
      
      * interpreter/Interpreter.cpp:
      (JSC::GetExceptionHandlerFunctor::GetExceptionHandlerFunctor):
      (JSC::GetExceptionHandlerFunctor::handler):
      (JSC::GetExceptionHandlerFunctor::operator()):
      
      LayoutTests:
      
      Add tests for different inspector pause on exceptions states.
      
      * inspector-protocol/debugger/resources/exception.js: Added.
      * inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt: Added.
      * inspector-protocol/debugger/setPauseOnExceptions-all.html: Added.
      * inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt: Added.
      * inspector-protocol/debugger/setPauseOnExceptions-none.html: Added.
      * inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt: Added.
      * inspector-protocol/debugger/setPauseOnExceptions-uncaught.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbeb7656
    • fpizlo@apple.com's avatar
      SpecType should have SpecInt48AsDouble · cc5a1186
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121065
      
      Reviewed by Oliver Hunt.
      
      * bytecode/SpeculatedType.cpp:
      (JSC::dumpSpeculation):
      (JSC::speculationToAbbreviatedString):
      (JSC::speculationFromValue):
      * bytecode/SpeculatedType.h:
      (JSC::isInt48AsDoubleSpeculation):
      (JSC::isIntegerSpeculation):
      (JSC::isDoubleRealSpeculation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc5a1186
    • fpizlo@apple.com's avatar
      Don't GC while in the OSR-triggered jettison code · 9822549d
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121106
      
      Reviewed by Mark Hahnenberg.
      
      * dfg/DFGOperations.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9822549d
    • fpizlo@apple.com's avatar
      jsc commandline's run() function should take extra arguments · bb00ed52
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121098
      
      Reviewed by Michael Saboff.
      
      * jsc.cpp:
      (functionRun):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb00ed52
    • msaboff@apple.com's avatar
      There should be one "invalid" virtual register constant · df938367
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121057
      
      Reviewed by Filip Pizlo.
      
      Unify all references to an invalid virtual register to be the enum InvalidVirtualRegister.
      Changed the value of InvalidVirtualRegister to be maximum integer value.
      
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::setArgumentsRegister):
      (JSC::CodeBlock::usesArguments):
      * bytecode/LazyOperandValueProfile.h:
      (JSC::LazyOperandValueProfileKey::LazyOperandValueProfileKey):
      (JSC::LazyOperandValueProfileKey::operator!):
      (JSC::LazyOperandValueProfileKey::isHashTableDeletedValue):
      (JSC::LazyOperandValueProfile::LazyOperandValueProfile):
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedCodeBlock::usesArguments):
      (JSC::UnlinkedCodeBlock::usesGlobalObject):
      * bytecode/VirtualRegister.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df938367
    • msaboff@apple.com's avatar
      Change virtual register function arguments from unsigned to int · 7535bbdc
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121055
      
      Reviewed by Filip Pizlo.
      
      This is a largely mechanical change.  This changes function paramaters and local variables used to
      represent bytecode operands from being unsigned to be int.
      
      * bytecode/CodeOrigin.h:
      * dfg/DFGByteCodeParser.cpp:
      * jit/JIT.h:
      * jit/JITArithmetic.cpp:
      * jit/JITArithmetic32_64.cpp:
      * jit/JITInlines.h:
      * jit/JITOpcodes.cpp:
      * jit/JITOpcodes32_64.cpp:
      * jit/JITPropertyAccess.cpp:
      * jit/JITPropertyAccess32_64.cpp:
      * jit/JITStubCall.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7535bbdc
  2. 09 Sep, 2013 8 commits
  3. 08 Sep, 2013 3 commits
    • mhahnenberg@apple.com's avatar
      Calculating the size of the Heap should not require walking over it · e2789cfc
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120910
      
      Reviewed by Geoffrey Garen.
      
      Currently Heap::size() is O(sizeof(Heap)). This is too expensive to 
      call during a collection. We should keep a count of visited and copied 
      bytes as each collection progresses so as to avoid re-walking the Heap 
      at the end of collection.
      
      * heap/GCThreadSharedData.cpp:
      (JSC::GCThreadSharedData::childBytesVisited):
      (JSC::GCThreadSharedData::childBytesCopied):
      * heap/GCThreadSharedData.h:
      * heap/Heap.cpp:
      (JSC::Heap::Heap):
      (JSC::Heap::markRoots):
      (JSC::Heap::sizeAfterCollect):
      (JSC::Heap::collect):
      * heap/Heap.h:
      * heap/SlotVisitor.cpp:
      (JSC::SlotVisitor::SlotVisitor):
      (JSC::SlotVisitor::reset):
      * heap/SlotVisitor.h:
      (JSC::SlotVisitor::bytesVisited):
      (JSC::SlotVisitor::bytesCopied):
      * heap/SlotVisitorInlines.h:
      (JSC::SlotVisitor::internalAppend):
      (JSC::SlotVisitor::copyLater):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2789cfc
    • mhahnenberg@apple.com's avatar
      Clearing MarkedBlock::m_newlyAllocated should be separate from MarkedBlock::clearMarks · 23421aaa
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121007
      
      Reviewed by Oliver Hunt.
      
      We call clearMarks on every MarkedBlock in the Heap, whereas we only need to clear 
      m_newlyAllocated for the m_currentBlock at the time of the last canonicalizeCellLiveness() 
      for each MarkedAllocator. We also need to call it on every block in the largeAllocators 
      because each one of their blocks is canonicalized as it is used.
      
      * heap/Heap.cpp:
      (JSC::Heap::markRoots):
      * heap/MarkedAllocator.h:
      (JSC::MarkedAllocator::getAndClearCanonicalizedBlock):
      (JSC::MarkedAllocator::MarkedAllocator):
      (JSC::MarkedAllocator::canonicalizeCellLivenessData):
      * heap/MarkedBlock.h:
      (JSC::MarkedBlock::lastChanceToFinalize):
      (JSC::MarkedBlock::clearMarks):
      (JSC::MarkedBlock::clearNewlyAllocated):
      * heap/MarkedSpace.cpp:
      (JSC::clearNewlyAllocatedInBlock):
      (JSC::ClearNewlyAllocated::operator()):
      (JSC::MarkedSpace::clearNewlyAllocated):
      * heap/MarkedSpace.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23421aaa
    • andersca@apple.com's avatar
      Move WTF::notFound to Vector.h and delete NotFound.h · 6b661cbc
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120990
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      * html/HTMLImageElement.cpp:
      * loader/archive/mhtml/MHTMLParser.cpp:
      * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
      * platform/graphics/win/GraphicsContext3DWin.cpp:
      * platform/network/soup/SocketStreamHandleSoup.cpp:
      
      Source/WebKit/blackberry:
      
      * Api/BackingStore.cpp:
      
      Source/WebKit2:
      
      * Shared/EditorState.h:
      
      Source/WTF:
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/NotFound.h: Removed.
      * wtf/Vector.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b661cbc
  4. 07 Sep, 2013 7 commits
    • fpizlo@apple.com's avatar
      FTL should support typed array PutByVal · e9b0dd2e
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120972
      
      Reviewed by Oliver Hunt.
      
      Due to increased FTL coverage, this revealed a bug in LICM where we were trying to
      have AI execute the tail of a block that !cfaDidFinish. We don't need to execute AI
      for such blocks since LICM will bail for them anyway, and AI asserts that cfaDidFinish
      is true.
      
      * dfg/DFGLICMPhase.cpp:
      (JSC::DFG::LICMPhase::attemptHoist):
      * ftl/FTLAbbreviations.h:
      (JSC::FTL::buildFPToUI):
      * ftl/FTLCapabilities.cpp:
      (JSC::FTL::canCompile):
      * ftl/FTLIntrinsicRepository.h:
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compilePutByVal):
      (JSC::FTL::LowerDFGToLLVM::doubleToInt32):
      (JSC::FTL::LowerDFGToLLVM::doubleToUInt32):
      * ftl/FTLOutput.h:
      (JSC::FTL::Output::fpToUInt):
      (JSC::FTL::Output::fpToUInt32):
      (JSC::FTL::Output::store8):
      (JSC::FTL::Output::store16):
      (JSC::FTL::Output::storeFloat):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9b0dd2e
    • fpizlo@apple.com's avatar
      FTL should support basic closure operations · 0d5b2e86
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120987
      
      Reviewed by Oliver Hunt.
      
      * ftl/FTLAbstractHeapRepository.cpp:
      * ftl/FTLAbstractHeapRepository.h:
      * ftl/FTLCapabilities.cpp:
      (JSC::FTL::canCompile):
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileNode):
      (JSC::FTL::LowerDFGToLLVM::compileGetMyScope):
      (JSC::FTL::LowerDFGToLLVM::compileSkipScope):
      (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters):
      (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar):
      (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d5b2e86
    • fpizlo@apple.com's avatar
      Only run FTL tests if we have the FTL · 0e106867
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120974
      
      Source/JavaScriptCore: 
      
      Reviewed by Geoffrey Garen.
              
      The test infrastructure is now smart enough to not pass --useExperimentalFTL=true
      unless it knows that we have the FTL.
      
      * dfg/DFGTierUpCheckInjectionPhase.cpp:
      (JSC::DFG::TierUpCheckInjectionPhase::run):
      
      Tools: 
      
      Reviewed by Geoffrey Garen.
              
      Pass --ftl-jit down into run-jsc-stress-tests so that it knows what test
      variants to run.
      
      * Scripts/build-jsc:
      * Scripts/run-javascriptcore-tests:
      * Scripts/run-jsc-stress-tests:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e106867
    • andersca@apple.com's avatar
      Get rid of PassOwnArrayPtr · c704b419
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120964
      
      Reviewed by Andreas Kling.
      
      Source/JavaScriptCore:
      
      Use OwnArrayPtr instead of PassOwnArrayPtr.
      
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * runtime/SymbolTable.h:
      (JSC::SharedSymbolTable::setSlowArguments):
      
      Source/WebCore:
      
      Use OwnArrayPtr instead of PassOwnArrayPtr.
      
      * html/canvas/WebGLRenderingContext.cpp:
      * platform/Length.cpp:
      (WebCore::newCoordsArray):
      (WebCore::newLengthArray):
      * platform/Length.h:
      * platform/audio/FFTFrame.h:
      * platform/graphics/GraphicsContext3D.cpp:
      * platform/graphics/GraphicsContext3D.h:
      * platform/graphics/texmap/TextureMapperGL.cpp:
      * platform/graphics/wince/SharedBitmap.cpp:
      
      Source/WebKit2:
      
      Remove unneeded includes.
      
      * Shared/ImmutableArray.h:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      
      Source/WTF:
      
      Make OwnArrayPtr a proper move-only type and get rid of PassOwnArrayPtr.
      
      Ultimately I'd like to get rid of OwnArrayPtr as well and just have it be a specialization
      of OwnPtr<T[]>, but this is a step in the right direction.
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/Assertions.cpp:
      * wtf/CMakeLists.txt:
      * wtf/DateMath.h:
      * wtf/FastBitVector.h:
      * wtf/Forward.h:
      * wtf/OwnArrayPtr.h:
      * wtf/PassOwnArrayPtr.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c704b419
    • fpizlo@apple.com's avatar
      FTL should support typed array GetByVal and related ops · 9bb008a7
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120965
      
      Reviewed by Oliver Hunt.
              
      This adds support for typed array instantiations of the following DFG IR ops:
              
      - GetByVal
              
      - GetIndexedPropertyStorage
              
      - CheckArray
              
      - GetArrayLength
              
      This also adds CheckArray for Int32/Double/Contiguous arrays.
      
      * dfg/DFGArrayMode.cpp:
      (JSC::DFG::toIndexingShape):
      * dfg/DFGArrayMode.h:
      (JSC::DFG::ArrayMode::shapeMask):
      * ftl/FTLAbbreviations.h:
      (JSC::FTL::floatType):
      (JSC::FTL::buildSExt):
      (JSC::FTL::buildFPCast):
      * ftl/FTLAbstractHeapRepository.h:
      * ftl/FTLCapabilities.cpp:
      (JSC::FTL::canCompile):
      * ftl/FTLCommonValues.cpp:
      (JSC::FTL::CommonValues::CommonValues):
      * ftl/FTLCommonValues.h:
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileNode):
      (JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
      (JSC::FTL::LowerDFGToLLVM::compileCheckArray):
      (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
      (JSC::FTL::LowerDFGToLLVM::compileGetByVal):
      (JSC::FTL::LowerDFGToLLVM::isArrayType):
      (JSC::FTL::LowerDFGToLLVM::hasClassInfo):
      * ftl/FTLOutput.h:
      (JSC::FTL::Output::constIntPtr):
      (JSC::FTL::Output::signExt):
      (JSC::FTL::Output::fpCast):
      (JSC::FTL::Output::loadFloat):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9bb008a7
    • andersca@apple.com's avatar
      VectorMover should use std::move · 2d655a2f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120959
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Work around a bug in GCC by changing the type of the callType bitfield
      in CallLinkInfo to be unsigned instead of CallType.
      
      * bytecode/CallLinkInfo.h:
      
      Source/WTF:
      
      This lets the compiler use move constructors when moving data, which can be a performance improvement.
      If the vector element type isn't movable it will be copied instead.
      
      * wtf/Vector.h:
      (WTF::VectorTypeOperations::move):
      (WTF::VectorTypeOperations::moveOverlapping):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d655a2f
    • andersca@apple.com's avatar
      Get rid of FastAllocBase.h · 3d185a87
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120952
      
      Reviewed by Antti Koivisto.
      
      Source/JavaScriptCore:
      
      Include FastMalloc.h instead of FastAllocBase.h.
      
      * assembler/LinkBuffer.h:
      * bytecode/CodeBlock.h:
      * bytecode/StructureStubClearingWatchpoint.h:
      * dfg/DFGFinalizer.h:
      * dfg/DFGLongLivedState.h:
      * dfg/DFGSlowPathGenerator.h:
      * ftl/FTLAbstractHeap.h:
      * heap/JITStubRoutineSet.h:
      * jit/CompactJITCodeMap.h:
      * profiler/ProfilerDatabase.h:
      * profiler/ProfilerExecutionCounter.h:
      
      Source/WebCore:
      
      Include FastMalloc.h instead of FastAllocBase.h.
      
      * Modules/webdatabase/SQLTransactionClient.h:
      * bindings/js/GCController.h:
      * bridge/Bridge.h:
      * bridge/IdentifierRep.h:
      * dom/DocumentStyleSheetCollection.h:
      * dom/TransformSource.h:
      * html/InputType.h:
      * inspector/InspectorCounters.h:
      * inspector/InstrumentingAgents.h:
      * inspector/WorkerInspectorController.h:
      * loader/cache/CachedResourceClient.h:
      * page/FrameActionScheduler.h:
      * platform/Length.h:
      * platform/MemoryPressureHandler.h:
      * platform/ScrollAnimator.h:
      * platform/SharedTimer.h:
      * platform/audio/gstreamer/FFTFrameGStreamer.cpp:
      * platform/cairo/WidgetBackingStore.h:
      * platform/graphics/Color.h:
      * platform/graphics/FontData.h:
      * platform/graphics/Path.h:
      * platform/graphics/qt/FontCustomPlatformData.h:
      * platform/graphics/transforms/AffineTransform.h:
      * platform/graphics/transforms/TransformationMatrix.h:
      * platform/gtk/GtkDragAndDropHelper.h:
      * platform/gtk/GtkPopupMenu.h:
      * platform/network/NetworkStateNotifier.h:
      * platform/sql/SQLiteTransaction.h:
      * platform/text/enchant/TextCheckerEnchant.h:
      * rendering/RenderArena.h:
      * rendering/TableLayout.h:
      * rendering/style/StyleCustomFilterProgram.h:
      * rendering/style/StyleCustomFilterProgramCache.h:
      * svg/SVGPathConsumer.h:
      * workers/WorkerScriptLoader.h:
      
      Source/WTF:
      
      FastAllocBase.h now only contains the WTF_MAKE_FAST_ALLOCATED macro.
      Move that macro to FastMalloc.h instead and remove FastAllocBase.h.
      
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/DeferrableRefCounted.h:
      * wtf/FastAllocBase.h: Removed.
      * wtf/FastMalloc.h:
      * wtf/HashSet.h:
      * wtf/MediaTime.h:
      * wtf/PrintStream.h:
      * wtf/RefCounted.h:
      * wtf/RefPtr.h:
      * wtf/ThreadingPrimitives.h:
      * wtf/Vector.h:
      * wtf/gobject/GMutexLocker.h:
      * wtf/unicode/Collator.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d185a87
  5. 06 Sep, 2013 9 commits
    • fpizlo@apple.com's avatar
      FTL should support Call/Construct in the worst way possible · fa258dc0
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120916
      
      Reviewed by Oliver Hunt.
              
      This adds support for Call/Construct by just calling out to C code that uses
      the JSC::call/JSC::construct runtime functions for making calls. This is slow
      and terrible, but it dramatically extends FTL coverage.
              
      Supporting calls in a meaningful way meant also supporting
      GlobalVarWatchpoint.
              
      The extension of coverage helped to find a bunch of bugs:
              
      - ObjectOrOtherUse was claimed to be supported in the FTL but speculate()
        didn't support it. That means that any node with an ObjectOrOtherUse edge
        that got DCE'd would cause the FTL to ICE.
              
      - There was a bad fall-through compileCompareStrictEq() that led to ICE.
              
      - The OSR exit reconstruction code was assuming it could do fast checks on
        node->child1() before even determining the type of node; that crashes if
        the node is HasVarArgs. Fixed by checking HasVarArgs first.
              
      - The OSR exit compiler was using the wrong peekOffset for CArgumentGetter.
        The default is 1, which assumes that you didn't push anything onto the
        stack after getting called. The OSR exit thunks push FP, so the offset
        should be 2.
              
      This passes stress tests and is probably huge performance regression if you
      --useExperimentalFTL=true. The regression will be fixed in
      https://bugs.webkit.org/show_bug.cgi?id=113621.
      
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * ftl/FTLCapabilities.cpp:
      (JSC::FTL::canCompile):
      * ftl/FTLIntrinsicRepository.h:
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileNode):
      (JSC::FTL::LowerDFGToLLVM::compileGlobalVarWatchpoint):
      (JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
      (JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
      (JSC::FTL::LowerDFGToLLVM::speculate):
      (JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
      (JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
      * ftl/FTLOSRExitCompiler.cpp:
      (JSC::FTL::compileStub):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa258dc0
    • fpizlo@apple.com's avatar
      jsc shell should destroy VM as a workaround for LLVM's exit-time destructors · a5c3a94c
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120921
      
      Reviewed by Oliver Hunt.
              
      LLVM's exit-time destructors will fire when we exit. If there is an on-going
      FTL compile at exit, which will happen if the VM that triggered the compile
      isn't shut down, then we will crash.
              
      We should get rid of LLVM's exit-time destructors. But before we do that, we
      should just do a clean VM shutdown to suppress spurious crashes. This will
      help in expanding LLVM coverage for now.
      
      * jsc.cpp:
      (jscmain):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5c3a94c
    • fpizlo@apple.com's avatar
      FTL ArithMod Int32Use doesn't check for negative zero correctly · 73bf3390
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120905
      
      Reviewed by Mark Hahnenberg.
      
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileArithMod):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73bf3390
    • fpizlo@apple.com's avatar
      FTL ArithNeg Int32Use doesn't check negative zero · d3eab7da
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120900
      
      Reviewed by Mark Hahnenberg.
      
      Source/JavaScriptCore: 
      
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileArithNegate):
      
      LayoutTests: 
      
      * fast/js/regress/script-tests/negative-zero-modulo.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d3eab7da
    • andersca@apple.com's avatar
      Stop using fastNew/fastDelete in JavaScriptCore · f17c511b
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120898
      
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore:
      
      Change all the hash table members in ExecState to be OwnPtrs and use
      adoptPtr instead. Also, since none of the hash tables can be null, change their getters
      to return references and propagate the reference types wherever we know that a HashTable can't be null.
      
      * interpreter/CallFrame.h:
      (JSC::ExecState::arrayConstructorTable):
      (JSC::ExecState::arrayPrototypeTable):
      (JSC::ExecState::booleanPrototypeTable):
      (JSC::ExecState::dataViewTable):
      (JSC::ExecState::dateTable):
      (JSC::ExecState::dateConstructorTable):
      (JSC::ExecState::errorPrototypeTable):
      (JSC::ExecState::globalObjectTable):
      (JSC::ExecState::jsonTable):
      (JSC::ExecState::numberConstructorTable):
      (JSC::ExecState::numberPrototypeTable):
      (JSC::ExecState::objectConstructorTable):
      (JSC::ExecState::privateNamePrototypeTable):
      (JSC::ExecState::regExpTable):
      (JSC::ExecState::regExpConstructorTable):
      (JSC::ExecState::regExpPrototypeTable):
      (JSC::ExecState::stringConstructorTable):
      (JSC::ExecState::promisePrototypeTable):
      (JSC::ExecState::promiseConstructorTable):
      (JSC::ExecState::promiseResolverPrototypeTable):
      * runtime/ClassInfo.h:
      (JSC::ClassInfo::propHashTable):
      * runtime/Lookup.h:
      (JSC::getStaticPropertySlot):
      (JSC::getStaticFunctionSlot):
      (JSC::getStaticValueSlot):
      (JSC::lookupPut):
      * runtime/VM.cpp:
      (JSC::VM::VM):
      (JSC::VM::~VM):
      * runtime/VM.h:
      
      Source/WebCore:
      
      Update for changes to JavaScriptCore.
      
      * bindings/js/DOMObjectHashTableMap.h:
      (WebCore::DOMObjectHashTableMap::get):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::getHashTableForGlobalData):
      * bindings/js/JSDOMBinding.h:
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::put):
      * bindings/js/JSPluginElementFunctions.h:
      (WebCore::pluginElementCustomGetOwnPropertySlot):
      * bindings/js/JSStorageCustom.cpp:
      (WebCore::JSStorage::deleteProperty):
      (WebCore::JSStorage::putDelegate):
      * bindings/scripts/CodeGeneratorJS.pm:
      (hashTableAccessor):
      (prototypeHashTableAccessor):
      (constructorHashTableAccessor):
      (GenerateGetOwnPropertySlotBody):
      (GenerateImplementation):
      (GenerateConstructorHelperMethods):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f17c511b
    • fpizlo@apple.com's avatar
      Concurrent FTL causes !hasOptimizedReplacement() asserts in cti_optimize · 091c87e7
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120890
      
      Reviewed by Mark Hahnenberg.
              
      Don't install an FTL code block if the DFG code block has already been jettisoned.
      
      * dfg/DFGToFTLDeferredCompilationCallback.cpp:
      (JSC::DFG::ToFTLDeferredCompilationCallback::compilationDidComplete):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      091c87e7
    • fpizlo@apple.com's avatar
      REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG · 0fa8386c
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120781
      
      Reviewed by Mark Hahnenberg.
              
      Roll this back in with a build fix.
              
      - Use some method table hacks to detect if the CheckStructure optimization is
        valid for to_this.
              
      - Introduce a FinalObjectUse and use it for ToThis->Identity conversion.
              
      This looks like it might be perf-neutral on the major benchmarks, but it
      introduces some horrible performance cliffs. For example if you add methods to
      the Array prototype, you'll get horrible performance cliffs. As in virtual calls
      to C++ every time you call a JS function even if it's inlined.
      LongSpider/3d-cube appears to hit this.
      
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::emitPutTransitionStub):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::SafeToExecuteEdge::operator()):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::speculateFinalObject):
      (JSC::DFG::SpeculativeJIT::speculate):
      * dfg/DFGSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGUseKind.cpp:
      (WTF::printInternal):
      * dfg/DFGUseKind.h:
      (JSC::DFG::typeFilterFor):
      (JSC::DFG::isCell):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fa8386c
    • fpizlo@apple.com's avatar
      Introduce a way to run benchmarks and JSRegress as stress tests with different... · dfbbfc12
      fpizlo@apple.com authored
      Introduce a way to run benchmarks and JSRegress as stress tests with different jsc command-line options
      https://bugs.webkit.org/show_bug.cgi?id=120808
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg and rubber stamped by Geoffrey Garen.
              
      Allow --useExperimentalFTL=true even if FTL isn't built since this simplifies
      testing.
      
      * dfg/DFGTierUpCheckInjectionPhase.cpp:
      (JSC::DFG::TierUpCheckInjectionPhase::run):
      
      Tools: 
      
      Reviewed by Mark Hahnenberg and rubber stamped by Geoffrey Garen.
              
      Add a script for running stress tests.  A stress test is a .js file that is run
      through different configurations of JSC.  It can control which configurations it
      runs by using "//@ <ruby code>" to guide the script.
              
      This script is now run as part of run-javascriptcore-tests, on Mac only.
      
      * Scripts/run-javascriptcore-tests:
      * Scripts/run-jsc-stress-tests: Added.
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg and rubber stamped by Geoffrey Garen.
              
      Make it so that long-running tests aren't run as part of the stress test (they
      will still run as part of benchmarks and LayoutTests) or run them with fewer
      configurations.
      
      * fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-large-long-lived.js:
      * fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-long-lived.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int32Array-byteOffset.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js:
      * fast/js/regress/script-tests/DataView-custom-properties.js:
      * fast/js/regress/script-tests/Float32Array-to-Float64Array-set.js:
      * fast/js/regress/script-tests/Float64Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/Float64Array-to-Int16Array-set.js:
      * fast/js/regress/script-tests/HashMap-put-get-iterate-keys.js:
      * fast/js/regress/script-tests/HashMap-put-get-iterate.js:
      * fast/js/regress/script-tests/HashMap-string-put-get-iterate.js:
      * fast/js/regress/script-tests/Int16Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/Int16Array-to-Int32Array-set.js:
      * fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js:
      * fast/js/regress/script-tests/Int32Array-alloc-huge.js:
      * fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js:
      * fast/js/regress/script-tests/Int32Array-alloc-large.js:
      * fast/js/regress/script-tests/Int32Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/Int32Array-alloc.js:
      * fast/js/regress/script-tests/Int8Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/array-nonarray-polymorhpic-access.js:
      * fast/js/regress/script-tests/basic-set.js:
      * fast/js/regress/script-tests/emscripten-memops.js:
      * fast/js/regress/script-tests/inline-arguments-local-escape.js:
      * fast/js/regress/script-tests/method-on-number.js:
      * fast/js/regress/script-tests/nested-function-parsing-random.js:
      * fast/js/regress/script-tests/nested-function-parsing.js:
      * fast/js/regress/script-tests/new-array-buffer-push.js:
      * fast/js/regress/script-tests/new-array-push.js:
      * fast/js/regress/script-tests/poly-stricteq.js:
      * fast/js/regress/script-tests/splice-to-remove.js:
      * fast/js/regress/script-tests/string-equality.js:
      * fast/js/regress/script-tests/string-repeat-arith.js:
      * fast/js/regress/script-tests/string-sub.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dfbbfc12
    • zandobersek@gmail.com's avatar
      Unreviewed build fix for the GTK port when building with FTL JIT enabled. · 7bda67da
      zandobersek@gmail.com authored
      * GNUmakefile.list.am: Add the missing files to the build.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7bda67da
  6. 05 Sep, 2013 6 commits
    • oliver@apple.com's avatar
      Make it simpler to introduce new data types to the global object · f3d973fb
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120801
      
      Reviewed by Gavin Barraclough.
      
      Add an iterator macro that lists all the "simple" ES types (e.g. type
      consists of instance, constructor, and prototype classes).  So that
      we don't need to have every new type litter JSGlobalObject.{cpp,h} with
      members, accessors, and manual GC visiting.
      
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3d973fb
    • mrowe@apple.com's avatar
      Roll out r155149 since it broke the build. · 02a390e5
      mrowe@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02a390e5
    • msaboff@apple.com's avatar
      Cleanup formatting of byte code debug output · c580864f
      msaboff@apple.com authored
      Source/JavaScriptCore/ChangeLog
      
      Rubber stamped by Filip Pizlo.
      
      Put the formatting of the byte code offset and operation into one common function to
      simplify and unify formatting.  Changed CodeBlock::registerName() to return
      "thist" for argument register 0, "argN" for other argument registers and "locN" for
      local registers.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::registerName):
      (JSC::CodeBlock::printUnaryOp):
      (JSC::CodeBlock::printBinaryOp):
      (JSC::CodeBlock::printConditionalJump):
      (JSC::CodeBlock::printGetByIdOp):
      (JSC::CodeBlock::printCallOp):
      (JSC::CodeBlock::printPutByIdOp):
      (JSC::CodeBlock::dumpBytecode):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::printLocationAndOp):
      (JSC::CodeBlock::printLocationOpAndRegisterOperand):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c580864f
    • fpizlo@apple.com's avatar
      REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG · c03e6e42
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120781
      
      Reviewed by Mark Hahnenberg.
              
      - Use some method table hacks to detect if the CheckStructure optimization is
        valid for to_this.
              
      - Introduce a FinalObjectUse and use it for ToThis->Identity conversion.
              
      This looks like it might be perf-neutral on the major benchmarks, but it
      introduces some horrible performance cliffs. For example if you add methods to
      the Array prototype, you'll get horrible performance cliffs. As in virtual calls
      to C++ every time you call a JS function even if it's inlined.
      LongSpider/3d-cube appears to hit this.
      
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::SafeToExecuteEdge::operator()):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::speculateFinalObject):
      (JSC::DFG::SpeculativeJIT::speculate):
      * dfg/DFGSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGUseKind.cpp:
      (WTF::printInternal):
      * dfg/DFGUseKind.h:
      (JSC::DFG::typeFilterFor):
      (JSC::DFG::isCell):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c03e6e42
    • andersca@apple.com's avatar
      GCAssertions.h should use STL type traits and static_assert · 7de5aaea
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120785
      
      Reviewed by Andreas Kling.
      
      Source/JavaScriptCore:
      
      There's no need to rely on compiler specific support to figure out if a class is trivially destructable,
      we can just use type traits from STL. Do this, fix the assert macro to use static_assert directly and
      rename it from ASSERT_HAS_TRIVIAL_DESTRUCTOR to STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE to clarify that
      it's a static assert and to match the STL nomenclature.
      
      * API/JSCallbackFunction.cpp:
      * debugger/DebuggerActivation.cpp:
      * heap/GCAssertions.h:
      * runtime/ArrayConstructor.cpp:
      * runtime/BooleanConstructor.cpp:
      * runtime/BooleanObject.cpp:
      * runtime/BooleanPrototype.cpp:
      * runtime/DateConstructor.cpp:
      * runtime/ErrorConstructor.cpp:
      * runtime/ErrorInstance.cpp:
      * runtime/ErrorPrototype.cpp:
      * runtime/ExceptionHelpers.cpp:
      * runtime/FunctionConstructor.cpp:
      * runtime/FunctionPrototype.cpp:
      * runtime/GetterSetter.cpp:
      * runtime/InternalFunction.cpp:
      * runtime/JSAPIValueWrapper.cpp:
      * runtime/JSArray.cpp:
      * runtime/JSCell.cpp:
      * runtime/JSNotAnObject.cpp:
      * runtime/JSONObject.cpp:
      * runtime/JSObject.cpp:
      * runtime/JSPromiseConstructor.cpp:
      * runtime/JSPromisePrototype.cpp:
      * runtime/JSPromiseResolverConstructor.cpp:
      * runtime/JSPromiseResolverPrototype.cpp:
      * runtime/JSProxy.cpp:
      * runtime/JSScope.cpp:
      * runtime/JSWrapperObject.cpp:
      * runtime/MathObject.cpp:
      * runtime/NameConstructor.cpp:
      * runtime/NativeErrorConstructor.cpp:
      * runtime/NumberConstructor.cpp:
      * runtime/NumberObject.cpp:
      * runtime/NumberPrototype.cpp:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectPrototype.cpp:
      * runtime/RegExpObject.cpp:
      * runtime/StrictEvalActivation.cpp:
      * runtime/StringConstructor.cpp:
      * runtime/StringObject.cpp:
      * runtime/StringPrototype.cpp:
      
      Source/WebCore:
      
      Update for JavaScriptCore changes.
      
      * bindings/js/JSDOMBinding.cpp:
      * bindings/js/JSImageConstructor.cpp:
      
      Source/WebKit2:
      
      Update for JavaScriptCore changes.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7de5aaea
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix for DebugSuffix target. · 54ff1396
      bfulgham@apple.com authored
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Don't build 64-bit assembly in 32-bit build.
      Also correct 'filters' file so that files appear in categories that match their on-disk locations.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54ff1396