1. 26 Aug, 2011 1 commit
    • fpizlo@apple.com's avatar
      The GC does not have a facility for profiling the kinds of objects · d6bcd37d
      fpizlo@apple.com authored
      that occupy the heap
      https://bugs.webkit.org/show_bug.cgi?id=66849
      
      Reviewed by Geoffrey Garen.
      
      Destructor calls and object scans are now optionally counted, per
      vtable. When the heap is destroyed and profiling is enabled, the
      counts are dumped, with care taken to print the names of classes
      (modulo C++ mangling) sorted in descending commonality.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.exp:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * heap/Heap.cpp:
      (JSC::Heap::destroy):
      * heap/Heap.h:
      * heap/MarkStack.cpp:
      (JSC::SlotVisitor::visitChildren):
      (JSC::SlotVisitor::drain):
      * heap/MarkStack.h:
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::callDestructor):
      * heap/MarkedBlock.h:
      * heap/VTableSpectrum.cpp: Added.
      (JSC::VTableSpectrum::VTableSpectrum):
      (JSC::VTableSpectrum::~VTableSpectrum):
      (JSC::VTableSpectrum::countVPtr):
      (JSC::VTableSpectrum::count):
      (JSC::VTableAndCount::VTableAndCount):
      (JSC::VTableAndCount::operator<):
      (JSC::VTableSpectrum::dump):
      * heap/VTableSpectrum.h: Added.
      * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6bcd37d
  2. 24 Aug, 2011 1 commit
    • fpizlo@apple.com's avatar
      There is no facility for profiling how the write barrier is used · aec7e0c4
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=66747
      
      Reviewed by Geoffrey Garen.
      
      Added facilities for the JIT to specify the kind of write barrier
      being executed.  Added code for profiling the number of each kind
      of barrier encountered.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.exp:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::writeBarrier):
      (JSC::DFG::JITCodeGenerator::cachedPutById):
      * dfg/DFGJITCodeGenerator.h:
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::emitCount):
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::emitCount):
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::tryCachePutByID):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * heap/Heap.h:
      (JSC::Heap::writeBarrier):
      * heap/WriteBarrierSupport.cpp: Added.
      (JSC::WriteBarrierCounters::initialize):
      * heap/WriteBarrierSupport.h: Added.
      (JSC::WriteBarrierCounters::WriteBarrierCounters):
      (JSC::WriteBarrierCounters::jitCounterFor):
      (JSC::WriteBarrierCounters::countWriteBarrier):
      * jit/JIT.h:
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emit_op_put_by_id):
      (JSC::JIT::privateCompilePutByIdTransition):
      (JSC::JIT::emit_op_put_scoped_var):
      (JSC::JIT::emit_op_put_global_var):
      (JSC::JIT::emitWriteBarrier):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::emit_op_put_by_val):
      (JSC::JIT::emit_op_put_by_id):
      (JSC::JIT::privateCompilePutByIdTransition):
      (JSC::JIT::emit_op_put_scoped_var):
      (JSC::JIT::emit_op_put_global_var):
      (JSC::JIT::emitWriteBarrier):
      * runtime/InitializeThreading.cpp:
      (JSC::initializeThreadingOnce):
      * runtime/WriteBarrier.h:
      (JSC::WriteBarrierBase::setWithoutWriteBarrier):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aec7e0c4
  3. 22 Aug, 2011 1 commit
    • fpizlo@apple.com's avatar
      Sampling counter support is in the bytecode directory · fe1a4491
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=66724
      
      Reviewed by Darin Adler.
      
      Moved SamplingCounter to a separate header in runtime/.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/SamplingTool.cpp:
      * bytecode/SamplingTool.h:
      * runtime/SamplingCounter.cpp: Added.
      (JSC::AbstractSamplingCounter::dump):
      * runtime/SamplingCounter.h: Added.
      (JSC::AbstractSamplingCounter::count):
      (JSC::AbstractSamplingCounter::addressOfCounter):
      (JSC::AbstractSamplingCounter::init):
      (JSC::SamplingCounter::SamplingCounter):
      (JSC::GlobalSamplingCounter::name):
      (JSC::DeletableSamplingCounter::DeletableSamplingCounter):
      (JSC::DeletableSamplingCounter::~DeletableSamplingCounter):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe1a4491
  4. 29 Jul, 2011 1 commit
    • fpizlo@apple.com's avatar
      JSC GC zombie support no longer works, and is likely no longer needed. · 2f1f3943
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=65404
      
      Reviewed by Darin Adler.
      
      This removes zombies, because they no longer work, are not tested, are
      probably not needed, and are getting in the way of GC optimization
      work.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * heap/Handle.h:
      (JSC::HandleConverter::operator->):
      (JSC::HandleConverter::operator*):
      * heap/HandleHeap.cpp:
      (JSC::HandleHeap::isValidWeakNode):
      * heap/Heap.cpp:
      (JSC::Heap::destroy):
      (JSC::Heap::collect):
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::sweep):
      * heap/MarkedBlock.h:
      (JSC::MarkedBlock::clearMarks):
      * interpreter/Register.h:
      (JSC::Register::Register):
      (JSC::Register::operator=):
      * runtime/ArgList.h:
      (JSC::MarkedArgumentBuffer::append):
      (JSC::ArgList::ArgList):
      * runtime/JSCell.cpp:
      (JSC::isZombie):
      * runtime/JSCell.h:
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      (JSC::JSGlobalData::clearBuiltinStructures):
      * runtime/JSGlobalData.h:
      * runtime/JSValue.h:
      * runtime/JSValueInlineMethods.h:
      (JSC::JSValue::JSValue):
      * runtime/JSZombie.cpp: Removed.
      * runtime/JSZombie.h: Removed.
      * runtime/WriteBarrier.h:
      (JSC::WriteBarrierBase::setEarlyValue):
      (JSC::WriteBarrierBase::operator*):
      (JSC::WriteBarrierBase::setWithoutWriteBarrier):
      * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@92046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f1f3943
  5. 09 Jun, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-06-09 Geoffrey Garen <ggaren@apple.com> · f68b13e7
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Added OldSpace to the project
              https://bugs.webkit.org/show_bug.cgi?id=62417
              
              Currently unused.
              
              Added OldSpace, the ability to iterate NewSpace vs OldSpace, and a
              per-block flag for testing whether you're in NewSpace vs OldSpace.
      
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj: Build!
      
              * heap/MarkedBlock.cpp:
              (JSC::MarkedBlock::MarkedBlock):
              * heap/MarkedBlock.h:
              (JSC::MarkedBlock::inNewSpace):
              (JSC::MarkedBlock::setInNewSpace): Added inNewSpace flag, for use in
              write barrier.
      
              * heap/NewSpace.cpp:
              (JSC::NewSpace::addBlock):
              (JSC::NewSpace::removeBlock):
              * heap/NewSpace.h:
              (JSC::NewSpace::forEachBlock): Added forEachBlock, to use for
              NewSpace-specific operations.
      
              * heap/OldSpace.cpp: Added.
              (JSC::OldSpace::OldSpace):
              (JSC::OldSpace::addBlock):
              (JSC::OldSpace::removeBlock):
              * heap/OldSpace.h: Added.
              (JSC::OldSpace::forEachBlock): New class for holding promoted blocks.
              Not in use yet.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f68b13e7
  6. 08 Jun, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-06-08 Geoffrey Garen <ggaren@apple.com> · c13d0d86
      ggaren@apple.com authored
              Reviewed by Darin Adler.
      
              Moved MarkedSpace.* to NewSpace.* in preparation for more renaming
              https://bugs.webkit.org/show_bug.cgi?id=62268
      
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * heap/Heap.h:
              * heap/MarkedBlock.h:
              * heap/MarkedSpace.cpp: Removed.
              * heap/MarkedSpace.h: Removed.
              * heap/NewSpace.cpp: Copied from Source/JavaScriptCore/heap/MarkedSpace.cpp.
              * heap/NewSpace.h: Copied from Source/JavaScriptCore/heap/MarkedSpace.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13d0d86
  7. 24 May, 2011 2 commits
    • ggaren@apple.com's avatar
      2011-05-24 Geoffrey Garen <ggaren@apple.com> · d2b624b3
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Split HeapRootVisitor into its own class
              https://bugs.webkit.org/show_bug.cgi?id=61399
      
              * GNUmakefile.list.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * heap/HandleHeap.cpp:
              * heap/HandleStack.cpp:
              * heap/Heap.cpp:
              * heap/HeapRootVisitor.h: Copied from Source/JavaScriptCore/heap/MarkStack.h.
              * heap/MarkStack.h:
              * runtime/ArgList.cpp:
              * runtime/SmallStrings.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2b624b3
    • ggaren@apple.com's avatar
      2011-05-24 Geoffrey Garen <ggaren@apple.com> · 726ad6bd
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Let's just have one way to get the system page size, bokay?
              https://bugs.webkit.org/show_bug.cgi?id=61384
      
              * CMakeListsEfl.txt:
              * CMakeListsWinCE.txt:
              * GNUmakefile.list.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: MarkStack[Platform].cpp
              is gone completely now, since it only existed to provide a duplicate way
              to access the system page size.
      
              * heap/MarkStack.cpp:
              (JSC::MarkStack::reset):
              * heap/MarkStack.h:
              (JSC::::MarkStackArray):
              (JSC::::shrinkAllocation): Use WTF::pageSize.
      
              * heap/MarkStackPosix.cpp:
              * heap/MarkStackSymbian.cpp:
              * heap/MarkStackWin.cpp: Removed now-empty files.
      
              * jit/ExecutableAllocator.cpp:
              (JSC::ExecutableAllocator::reprotectRegion):
              * jit/ExecutableAllocator.h:
              (JSC::ExecutableAllocator::ExecutableAllocator):
              (JSC::ExecutablePool::ExecutablePool):
              (JSC::ExecutablePool::poolAllocate):
              * jit/ExecutableAllocatorFixedVMPool.cpp: Use WTF::pageSize.
      
              * wscript: Removed now-empty files.
      
              * wtf/PageBlock.cpp:
              (WTF::systemPageSize): Integrated questionable Symbian page size rule
              from ExecutableAllocator, because that seems like what the original
              author should have done.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      726ad6bd
  8. 11 Apr, 2011 2 commits
    • ggaren@apple.com's avatar
      2011-04-11 Geoffrey Garen <ggaren@apple.com> · 0b32d098
      ggaren@apple.com authored
              Rubber-stamped by Sam Weinig.
              
              Moved remaining heap implementation files to the heap folder.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * heap/ConservativeRoots.cpp: Copied from runtime/ConservativeSet.cpp.
              * heap/ConservativeRoots.h: Copied from runtime/ConservativeSet.h.
              * heap/Handle.h:
              * heap/Heap.cpp:
              * heap/MachineStackMarker.cpp: Copied from runtime/MachineStackMarker.cpp.
              * heap/MachineStackMarker.h: Copied from runtime/MachineStackMarker.h.
              * heap/MarkStack.cpp: Copied from runtime/MarkStack.cpp.
              * heap/MarkStack.h: Copied from runtime/MarkStack.h.
              * heap/MarkStackPosix.cpp: Copied from runtime/MarkStackPosix.cpp.
              * heap/MarkStackSymbian.cpp: Copied from runtime/MarkStackSymbian.cpp.
              * heap/MarkStackWin.cpp: Copied from runtime/MarkStackWin.cpp.
              * heap/MarkedBlock.cpp: Copied from runtime/MarkedBlock.cpp.
              * heap/MarkedBlock.h: Copied from runtime/MarkedBlock.h.
              * heap/MarkedSpace.cpp: Copied from runtime/MarkedSpace.cpp.
              * heap/MarkedSpace.h: Copied from runtime/MarkedSpace.h.
              * interpreter/RegisterFile.cpp:
              * runtime/ConservativeSet.cpp: Removed.
              * runtime/ConservativeSet.h: Removed.
              * runtime/MachineStackMarker.cpp: Removed.
              * runtime/MachineStackMarker.h: Removed.
              * runtime/MarkStack.cpp: Removed.
              * runtime/MarkStack.h: Removed.
              * runtime/MarkStackPosix.cpp: Removed.
              * runtime/MarkStackSymbian.cpp: Removed.
              * runtime/MarkStackWin.cpp: Removed.
              * runtime/MarkedBlock.cpp: Removed.
              * runtime/MarkedBlock.h: Removed.
              * runtime/MarkedSpace.cpp: Removed.
              * runtime/MarkedSpace.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b32d098
    • barraclough@apple.com's avatar
      Bug 58198 - Clean up JSValue implementation for JSVALUE64 · c6441e68
      barraclough@apple.com authored
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore: 
      
      Remove JSNumberCell, JSImmediate, unify some methods between JSVALUE32_64/JSVALUE64
      
      JSNumberCell.h largely just contained the constructors for JSValue on JSVALUE64,
      which should not have been here.  JSImmediate mostly contained uncalled methods,
      along with the internal implementation of the JSValue constructors split unnecessarily
      across a number of layers of function calls. These could largely be merged back
      together. Many methods and constructors from JSVALUE32_64 and JSVALUE64 can by unified.
      
      The .cpp files were empty.
      
      Moving all these methods into JSValue.h seems to be a repro measurable regression, so
      I have kept these methods in a separate JSValueInlineMethods.h. Adding the 64-bit tag
      values as static const members of JSValue also measures as a repro regression, so I
      have made these #defines.
      
      * Android.mk:
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.exp:
      * JavaScriptCore.gypi:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
          - Removed JSImmediate.h, JSNumberCell.h.
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitLoad):
          - Removed class JSImmediate.
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::compile):
          - Removed class JSImmediate.
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
          - Removed class JSImmediate.
      * jit/JITArithmetic.cpp:
      (JSC::JIT::compileBinaryArithOpSlowCase):
          - Removed class JSImmediate.
      * jit/JITInlineMethods.h:
      (JSC::JIT::emitJumpIfJSCell):
      (JSC::JIT::emitJumpIfNotJSCell):
      (JSC::JIT::emitJumpIfImmediateInteger):
      (JSC::JIT::emitJumpIfNotImmediateInteger):
      (JSC::JIT::emitFastArithDeTagImmediate):
      (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero):
      (JSC::JIT::emitFastArithReTagImmediate):
      (JSC::JIT::emitTagAsBoolImmediate):
          - Removed class JSImmediate.
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_not):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_get_pnames):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      (JSC::JIT::emitSlow_op_not):
          - Removed class JSImmediate.
      * jit/JSInterfaceJIT.h:
          - Removed class JSImmediate.
      * runtime/JSCell.h:
          - Removed JSImmediate.h, JSNumberCell.h.
      * runtime/JSImmediate.cpp: Removed.
      * runtime/JSImmediate.h: Removed.
      * runtime/JSNumberCell.cpp: Removed.
      * runtime/JSNumberCell.h: Removed.
          - Removed.
      * runtime/JSObject.h:
          - Removed JSImmediate.h, JSNumberCell.h.
      * runtime/JSString.h:
          - Removed JSImmediate.h, JSNumberCell.h.
      * runtime/JSValue.h:
          - Added tags for JSVALUE64, moved out some JSVALUE32_64 methods, unified with JSVALUE64.
      * runtime/JSValueInlineMethods.h: Added.
      (JSC::JSValue::toInt32):
      (JSC::JSValue::toUInt32):
      (JSC::JSValue::isUInt32):
      (JSC::JSValue::asUInt32):
      (JSC::JSValue::uncheckedGetNumber):
      (JSC::JSValue::toJSNumber):
      (JSC::jsNaN):
      (JSC::JSValue::getNumber):
      (JSC::JSValue::getBoolean):
      (JSC::JSValue::JSValue):
      (JSC::JSValue::encode):
      (JSC::JSValue::decode):
      (JSC::JSValue::operator bool):
      (JSC::JSValue::operator==):
      (JSC::JSValue::operator!=):
      (JSC::JSValue::isUndefined):
      (JSC::JSValue::isNull):
      (JSC::JSValue::isUndefinedOrNull):
      (JSC::JSValue::isCell):
      (JSC::JSValue::isInt32):
      (JSC::JSValue::isDouble):
      (JSC::JSValue::isTrue):
      (JSC::JSValue::isFalse):
      (JSC::JSValue::tag):
      (JSC::JSValue::payload):
      (JSC::JSValue::asInt32):
      (JSC::JSValue::asDouble):
      (JSC::JSValue::asCell):
      (JSC::JSValue::isNumber):
      (JSC::JSValue::isBoolean):
      (JSC::JSValue::makeImmediate):
      (JSC::JSValue::immediateValue):
      (JSC::reinterpretDoubleToIntptr):
      (JSC::reinterpretIntptrToDouble):
          - Methods moved here from JSImmediate.h/JSNumberCell.h/JSValue.h.
      * runtime/Operations.h:
          - Removed JSImmediate.h, JSNumberCell.h.
      * wtf/StdLibExtras.h:
          - Export bitwise_cast.
      
      Source/WebCore: 
      
      JSNumberCell.h has been deprecated.
      
      * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      * bridge/c/c_instance.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6441e68
  9. 10 Apr, 2011 1 commit
    • ggaren@apple.com's avatar
      Moved Heap.h and Heap.cpp to the heap folder, because anything less · 0c5bd6e1
      ggaren@apple.com authored
      would be uncivilized.
      
      Rubber-stamped by Beth Dakin.
      
      Source/JavaScriptCore: 
      
      * Android.mk:
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.gypi:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * heap/Heap.cpp: Copied from JavaScriptCore/runtime/Heap.cpp.
      * heap/Heap.h: Copied from JavaScriptCore/runtime/Heap.h.
      * runtime/Heap.cpp: Removed.
      * runtime/Heap.h: Removed.
      
      Source/WebCore: 
      
      * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
      * ForwardingHeaders/runtime/Heap.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c5bd6e1
  10. 09 Apr, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-04-08 Geoffrey Garen <ggaren@apple.com> · f03cbce4
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * API/JSClassRef.h:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * GNUmakefile.list.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pri:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
              * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
              * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bytecode/SamplingTool.h:
              * bytecompiler/BytecodeGenerator.h:
              * collector: Removed.
              * collector/handles: Removed.
              * collector/handles/Global.h: Removed.
              * collector/handles/Handle.h: Removed.
              * collector/handles/HandleHeap.cpp: Removed.
              * collector/handles/HandleHeap.h: Removed.
              * collector/handles/HandleStack.cpp: Removed.
              * collector/handles/HandleStack.h: Removed.
              * collector/handles/Local.h: Removed.
              * collector/handles/LocalScope.h: Removed.
              * heap: Copied from collector.
              * heap/Handle.h: Copied from collector/handles/Handle.h.
              * heap/HandleHeap.cpp: Copied from collector/handles/HandleHeap.cpp.
              * heap/HandleHeap.h: Copied from collector/handles/HandleHeap.h.
              * heap/HandleStack.cpp: Copied from collector/handles/HandleStack.cpp.
              * heap/HandleStack.h: Copied from collector/handles/HandleStack.h.
              * heap/Local.h: Copied from collector/handles/Local.h.
              * heap/LocalScope.h: Copied from collector/handles/LocalScope.h.
              * heap/Strong.h: Copied from collector/handles/Global.h.
              (JSC::Strong::Strong):
              (JSC::Strong::~Strong):
              (JSC::Strong::operator=):
              * heap/Weak.h: Copied from runtime/WeakGCPtr.h.
              (JSC::Weak::Weak):
              (JSC::Weak::~Weak):
              * heap/handles: Removed.
              * interpreter/RegisterFile.h:
              * jit/JITStubs.cpp:
              (JSC::JITThunks::hostFunctionStub):
              * jit/JITStubs.h:
              * runtime/Structure.h:
              * runtime/WeakGCPtr.h: Removed.
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * JSRun.h:
              * JSValueWrapper.h:
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * CMakeLists.txt:
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
              (WebKit::NetscapePluginInstanceProxy::evaluate):
              * WebView/WebScriptDebugger.h:
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * CMakeLists.txt:
              * ForwardingHeaders/collector: Removed.
              * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
              * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
              * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
              * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/copyForwardingHeaders.cmd:
              * bindings/js/JSCallbackData.h:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDataGridDataSource.h:
              * bindings/js/JSEventListener.h:
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::ScheduledAction):
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptCachedFrameData.cpp:
              (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
              * bindings/js/ScriptCachedFrameData.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createWindowShell):
              * bindings/js/ScriptController.h:
              * bindings/js/ScriptObject.h:
              * bindings/js/ScriptState.h:
              * bindings/js/ScriptValue.cpp:
              * bindings/js/ScriptValue.h:
              * bindings/js/ScriptWrappable.h:
              * bindings/js/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::initScript):
              * bindings/js/WorkerScriptController.h:
              * bridge/jsc/BridgeJSC.h:
              * bridge/qt/qt_runtime.h:
              * bridge/runtime_root.h:
              * xml/XMLHttpRequest.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f03cbce4
  11. 30 Mar, 2011 1 commit
    • sfalken@apple.com's avatar
      2011-03-30 Steve Falkenburg <sfalken@apple.com> · 7a4bd0a7
      sfalken@apple.com authored
              Reviewed by Adam Roben.
      
              Rename Windows configuration Release_LTCG to Production for clarity
              https://bugs.webkit.org/show_bug.cgi?id=57465
      
              * JavaScriptCore.vcproj/JavaScriptCore.sln:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseLTCG.vsprops.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseLTCG.vsprops: Removed.
              * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.vcproj/WTF/WTFProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFReleaseLTCG.vsprops.
              * JavaScriptCore.vcproj/WTF/WTFReleaseLTCG.vsprops: Removed.
              * JavaScriptCore.vcproj/jsc/jsc.vcproj:
              * JavaScriptCore.vcproj/jsc/jscProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleaseLTCG.vsprops.
              * JavaScriptCore.vcproj/jsc/jscReleaseLTCG.vsprops: Removed.
              * JavaScriptCore.vcproj/testapi/testapi.vcproj:
              * JavaScriptCore.vcproj/testapi/testapiProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiReleaseLTCG.vsprops.
              * JavaScriptCore.vcproj/testapi/testapiReleaseLTCG.vsprops: Removed.
      2011-03-30  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Adam Roben.
      
              Rename Windows configuration Release_LTCG to Production for clarity
              https://bugs.webkit.org/show_bug.cgi?id=57465
      
              * WebKit.vcproj/Interfaces.vcproj:
              * WebKit.vcproj/InterfacesProduction.vsprops: Copied from Source/WebKit/win/WebKit.vcproj/InterfacesReleaseLTCG.vsprops.
              * WebKit.vcproj/InterfacesReleaseLTCG.vsprops: Removed.
              * WebKit.vcproj/WebKit.sln:
              * WebKit.vcproj/WebKit.submit.sln:
              * WebKit.vcproj/WebKit.vcproj:
              * WebKit.vcproj/WebKitGUID.vcproj:
              * WebKit.vcproj/WebKitGUIDProduction.vsprops: Copied from Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseLTCG.vsprops.
              * WebKit.vcproj/WebKitGUIDReleaseLTCG.vsprops: Removed.
              * WebKit.vcproj/WebKitLibProduction.vsprops: Copied from Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseLTCG.vsprops.
              * WebKit.vcproj/WebKitLibReleaseLTCG.vsprops: Removed.
      2011-03-30  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Adam Roben.
      
              Rename Windows configuration Release_LTCG to Production for clarity
              https://bugs.webkit.org/show_bug.cgi?id=57465
      
              * WebCore.vcproj/QTMovieWin.vcproj:
              * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
              * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
              * WebCore.vcproj/WebCore.sln:
              * WebCore.vcproj/WebCore.submit.sln:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/WebCoreGenerated.vcproj:
              * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
              * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
      2011-03-30  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Adam Roben.
      
              Rename Windows configuration Release_LTCG to Production for clarity
              https://bugs.webkit.org/show_bug.cgi?id=57465
      
              * win/WebKit2.submit.sln:
              * win/WebKit2.vcproj:
              * win/WebKit2Generated.vcproj:
              * win/WebKit2Production.vsprops: Copied from Source/WebKit2/win/WebKit2ReleaseLTCG.vsprops.
              * win/WebKit2ReleaseLTCG.vsprops: Removed.
              * win/WebKit2WebProcess.vcproj:
              * win/WebKit2WebProcessProduction.vsprops: Copied from Source/WebKit2/win/WebKit2WebProcessReleaseLTCG.vsprops.
              * win/WebKit2WebProcessReleaseLTCG.vsprops: Removed.
      2011-03-30  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Adam Roben.
      
              Rename Windows configuration Release_LTCG to Production for clarity
              https://bugs.webkit.org/show_bug.cgi?id=57465
      
              * DumpRenderTree/DumpRenderTree.sln:
              * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
              * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginProduction.vsprops: Copied from Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginReleaseLTCG.vsprops.
              * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginReleaseLTCG.vsprops: Removed.
              * DumpRenderTree/win/DumpRenderTree.vcproj:
              * DumpRenderTree/win/DumpRenderTreeProduction.vsprops: Copied from Tools/DumpRenderTree/win/DumpRenderTreeReleaseLTCG.vsprops.
              * DumpRenderTree/win/DumpRenderTreeReleaseLTCG.vsprops: Removed.
              * DumpRenderTree/win/ImageDiff.vcproj:
              * DumpRenderTree/win/ImageDiffProduction.vsprops: Copied from Tools/DumpRenderTree/win/ImageDiffReleaseLTCG.vsprops.
              * DumpRenderTree/win/ImageDiffReleaseLTCG.vsprops: Removed.
              * FindSafari/FindSafari.vcproj:
              * FindSafari/FindSafariProduction.vsprops: Copied from Tools/FindSafari/FindSafariReleaseLTCG.vsprops.
              * FindSafari/FindSafariReleaseLTCG.vsprops: Removed.
              * MiniBrowser/Configurations/MiniBrowserProduction.vsprops: Copied from Tools/MiniBrowser/Configurations/MiniBrowserReleaseLTCG.vsprops.
              * MiniBrowser/Configurations/MiniBrowserReleaseLTCG.vsprops: Removed.
              * MiniBrowser/MiniBrowser.vcproj:
              * Scripts/webkitdirs.pm:
              * TestWebKitAPI/win/TestWebKitAPI.sln:
              * TestWebKitAPI/win/TestWebKitAPI.vcproj:
              * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj:
              * TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj:
              * WebKitAPITest/WebKitAPITest.vcproj:
              * WebKitAPITest/WebKitAPITestProduction.vsprops: Copied from Tools/WebKitAPITest/WebKitAPITestReleaseLTCG.vsprops.
              * WebKitAPITest/WebKitAPITestReleaseLTCG.vsprops: Removed.
              * WebKitLauncherWin/WebKitLauncherWin.vcproj:
              * WebKitLauncherWin/WebKitLauncherWinProduction.vsprops: Copied from Tools/WebKitLauncherWin/WebKitLauncherWinReleaseLTCG.vsprops.
              * WebKitLauncherWin/WebKitLauncherWinReleaseLTCG.vsprops: Removed.
              * WebKitTestRunner/WebKitTestRunner.sln:
              * WebKitTestRunner/win/InjectedBundle.vcproj:
              * WebKitTestRunner/win/InjectedBundleGenerated.vcproj:
              * WebKitTestRunner/win/InjectedBundleProduction.vsprops: Copied from Tools/WebKitTestRunner/win/InjectedBundleReleaseLTCG.vsprops.
              * WebKitTestRunner/win/InjectedBundleReleaseLTCG.vsprops: Removed.
              * WebKitTestRunner/win/WebKitTestRunner.vcproj:
              * WebKitTestRunner/win/WebKitTestRunnerProduction.vsprops: Copied from Tools/WebKitTestRunner/win/WebKitTestRunnerReleaseLTCG.vsprops.
              * WebKitTestRunner/win/WebKitTestRunnerReleaseLTCG.vsprops: Removed.
              * WinLauncher/WinLauncher.vcproj:
              * WinLauncher/WinLauncherProduction.vsprops: Copied from Tools/WinLauncher/WinLauncherReleaseLTCG.vsprops.
              * WinLauncher/WinLauncherReleaseLTCG.vsprops: Removed.
              * record-memory-win/record-memory-win.vcproj:
              * record-memory-win/record-memory-winProduction.vsprops: Copied from Tools/record-memory-win/record-memory-winReleaseLTCG.vsprops.
              * record-memory-win/record-memory-winReleaseLTCG.vsprops: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a4bd0a7
  12. 29 Mar, 2011 1 commit
    • sfalken@apple.com's avatar
      2011-03-29 Steve Falkenburg <sfalken@apple.com> · 078f58c9
      sfalken@apple.com authored
              Reviewed by Darin Adler.
      
              Use per-configuration vsprops in JavaScriptCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
              https://bugs.webkit.org/show_bug.cgi?id=57350
              
              Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
              InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
              the IDE. To avoid this, add a separate vsprops file for each project configuration that
              contains the required inherited property sheets.
      
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebug.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugAll.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreRelease.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseLTCG.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGO.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGOOptimize.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.vcproj/WTF/WTFDebug.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTFDebugAll.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTFDebugCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTFRelease.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTFReleaseCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTFReleaseLTCG.vsprops: Added.
              * JavaScriptCore.vcproj/WTF/WTFReleasePGO.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jsc.vcproj:
              * JavaScriptCore.vcproj/jsc/jscDebug.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jscDebugAll.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jscDebugCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jscRelease.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jscReleaseCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jscReleaseLTCG.vsprops: Added.
              * JavaScriptCore.vcproj/jsc/jscReleasePGO.vsprops: Added.
              * JavaScriptCore.vcproj/testapi/testapi.vcproj:
              * JavaScriptCore.vcproj/testapi/testapiDebug.vsprops: Added.
              * JavaScriptCore.vcproj/testapi/testapiDebugAll.vsprops: Added.
              * JavaScriptCore.vcproj/testapi/testapiDebugCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/testapi/testapiRelease.vsprops: Added.
              * JavaScriptCore.vcproj/testapi/testapiReleaseCairoCFLite.vsprops: Added.
              * JavaScriptCore.vcproj/testapi/testapiReleaseLTCG.vsprops: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      078f58c9
  13. 15 Mar, 2011 1 commit
    • oliver@apple.com's avatar
      2011-03-15 Oliver Hunt <oliver@apple.com> · 7b1725a7
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Introduce Local<T> to allow us to start moving to precise marking of locals
              https://bugs.webkit.org/show_bug.cgi?id=56394
      
              Introduce a new handle type, Local<T> and a scoping mechanism
              LocalScope to allow us to start moving towards precise marking
              of temporaries and local variables.
      
              We also start to use the new Local<> type in the JSON stringifier
              so that we can have some coverage of their behaviour in the initial
              checkin.
      
              * GNUmakefile.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * collector/handles/Handle.h:
              (JSC::::asObject):
              * collector/handles/HandleStack.cpp: Added.
              (JSC::HandleStack::HandleStack):
              (JSC::HandleStack::mark):
              (JSC::HandleStack::grow):
              * collector/handles/HandleStack.h: Added.
              (JSC::HandleStack::enterScope):
              (JSC::HandleStack::zapTo):
              (JSC::HandleStack::leaveScope):
              (JSC::HandleStack::push):
              * collector/handles/Local.h: Added.
              (JSC::Local::internalSet):
              (JSC::::Local):
              (JSC::::operator):
              (JSC::LocalStack::LocalStack):
              (JSC::LocalStack::peek):
              (JSC::LocalStack::pop):
              (JSC::LocalStack::push):
              (JSC::LocalStack::isEmpty):
              (JSC::LocalStack::size):
              * collector/handles/LocalScope.h: Added.
              (JSC::LocalScope::LocalScope):
              (JSC::LocalScope::~LocalScope):
              (JSC::LocalScope::release):
              * runtime/Heap.cpp:
              (JSC::Heap::markRoots):
              * runtime/Heap.h:
              (JSC::Heap::allocateLocalHandle):
              (JSC::Heap::handleStack):
              * runtime/JSCell.h:
              (JSC::JSCell::::getString):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              (JSC::JSGlobalData::allocateLocalHandle):
              * runtime/JSONObject.cpp:
              (JSC::Stringifier::Stringifier):
              (JSC::Stringifier::stringify):
              (JSC::Stringifier::appendStringifiedValue):
              (JSC::Stringifier::Holder::Holder):
              (JSC::Walker::Walker):
              (JSC::Walker::walk):
              (JSC::JSONProtoFuncParse):
              (JSC::JSONProtoFuncStringify):
              (JSC::JSONStringify):
              * runtime/JSONObject.h:
              * runtime/MarkStack.h:
              (JSC::MarkStack::appendValues):
              (JSC::MarkStack::appendSlots):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b1725a7
  14. 04 Mar, 2011 1 commit
  15. 20 Feb, 2011 1 commit
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=54839 · 9788fe2f
      barraclough@apple.com authored
      Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
      
      Reviewed by Oliver Hunt.
      
      Historically, Native functions used to be represented by PrototypeFunctions, however
      since introducing call optimizations to the JIT this has used JSFunctions for host
      calls too. At the point this change was made, the interpreter continued to use
      PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
      the interpreter has had to be able to run using host functions represented using
      JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
      interpreter only builds, and situations where the JIT has fallen back to interpreting.
      
      NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
      for wrappers for host functions, and as such can also be removed.
      
      GlobalEvalFunction is a redundant wrapper that happens to be derived from
      PrototypeFunction. It existed to hold a reference to the global object - but since all
      functions how derive from JSObjectWithGlobalObject, this no longer requires an
      additional class to provide this functionality.
      
      Source/JavaScriptCore: 
      
      * JavaScriptCore.JSVALUE32_64only.exp:
      * JavaScriptCore.JSVALUE64only.exp:
      * JavaScriptCore.xcodeproj/project.pbxproj:
          Removed symbols / references to files.
      
      * runtime/GlobalEvalFunction.cpp: Removed.
      * runtime/GlobalEvalFunction.h: Removed.
      * runtime/NativeFunctionWrapper.h: Removed.
      * runtime/PrototypeFunction.cpp: Removed.
      * runtime/PrototypeFunction.h: Removed.
          Removed.
      
      * runtime/Executable.cpp:
      (JSC::NativeExecutable::~NativeExecutable):
      * runtime/Executable.h:
      (JSC::NativeExecutable::create):
      (JSC::NativeExecutable::NativeExecutable):
      (JSC::JSFunction::nativeFunction):
      * runtime/JSFunction.cpp:
      (JSC::callHostFunctionAsConstructor):
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::getCallData):
      * runtime/JSFunction.h:
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::getHostFunction):
      * runtime/JSGlobalData.h:
      (JSC::JSGlobalData::getCTIStub):
          Added interpreter-friendly constructors for NativeExecutables.
      
      * bytecompiler/BytecodeGenerator.cpp:
      * interpreter/Interpreter.cpp:
      * jit/JITStubs.cpp:
      * jsc.cpp:
      * runtime/ArrayConstructor.cpp:
      * runtime/BooleanPrototype.cpp:
      * runtime/BooleanPrototype.h:
      * runtime/CallData.h:
      * runtime/DateConstructor.cpp:
      * runtime/DateConstructor.h:
      * runtime/ErrorPrototype.cpp:
      * runtime/ErrorPrototype.h:
      * runtime/FunctionPrototype.cpp:
      * runtime/FunctionPrototype.h:
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObject.h:
      * runtime/JSGlobalObjectFunctions.cpp:
      * runtime/Lookup.cpp:
      * runtime/NumberPrototype.cpp:
      * runtime/NumberPrototype.h:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectConstructor.h:
      * runtime/ObjectPrototype.cpp:
      * runtime/ObjectPrototype.h:
      * runtime/RegExpPrototype.cpp:
      * runtime/RegExpPrototype.h:
      * runtime/SmallStrings.h:
      * runtime/StringConstructor.cpp:
      * runtime/StringConstructor.h:
          Removed use of redundant classes.
      
      Source/WebCore: 
      
      * bindings/js/JSDOMBinding.cpp:
      * bindings/js/JSDOMWindowCustom.cpp:
      * bindings/js/JSHistoryCustom.cpp:
      * bindings/js/JSLocationCustom.cpp:
          Removed use of redundant classes.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@79177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9788fe2f
  16. 15 Feb, 2011 2 commits
    • jhoneycutt@apple.com's avatar
      Windows build fix for · 5848fb23
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=54415
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      Remove deleted files.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5848fb23
    • oliver@apple.com's avatar
      2011-02-14 Oliver Hunt <oliver@apple.com> · 8d85705e
      oliver@apple.com authored
              Reviewed by Gavin Barraclough and Geoff Garen.
      
              Refactor handles and weak pointers to become nicer and more automatic
              https://bugs.webkit.org/show_bug.cgi?id=54415
      
              Move to a true handle based mechanism for GC value protection.  This
              also allows us to switch to a more sensible behaviour for weak pointers
              in which weak pointers are automatically updated.
      
              This allows us to remove the old (and convoluted) that required all
              objects that may be held by a weak reference to be aware of the reference
              and manually clear them in their destructors.
      
              This also adds a few new data types to JSC that we use to efficiently
              allocate and return the underlying handle storage.
      
              This patch is largely renaming and removing now unnecessary destructors
              from objects.
      
              * API/JSClassRef.cpp:
              (OpaqueJSClass::create):
              (OpaqueJSClassContextData::OpaqueJSClassContextData):
              (OpaqueJSClass::contextData):
              (OpaqueJSClass::prototype):
              * API/JSClassRef.h:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * collector/handles/Global.h: Added.
                  New Global handle type used to keep gc objects live, even if they're not
                  marked.
              (JSC::Global::Global):
              (JSC::Global::~Global):
              (JSC::Global::set):
                  We can only assign directly to a global from another global.
                  In all other cases we need the JSGlobalData to be provided
                  explicitly so we use a set function.
              (JSC::Global::operator=):
              (JSC::Global::clear):
              (JSC::Global::isHashTableDeletedValue):
              (JSC::Global::internalSet):
              * collector/handles/Handle.h: Added.
                  Root "Handle" type used for immutable handles and to provide the basic
                  APIs needed for pointer-like behaviour.
              (JSC::HandleBase::operator!):
              (JSC::HandleBase::operator UnspecifiedBoolType*):
              (JSC::HandleBase::isEmpty):
              (JSC::HandleBase::HandleBase):
              (JSC::HandleBase::slot):
              (JSC::HandleBase::invalidate):
              (JSC::HandleBase::setSlot):
              (JSC::HandleTypes::getFromSlot):
              (JSC::HandleTypes::toJSValue):
              (JSC::HandleTypes::validateUpcast):
              (JSC::HandleConverter::operator->):
              (JSC::HandleConverter::operator*):
              (JSC::Handle::Handle):
              (JSC::Handle::get):
              (JSC::Handle::wrapSlot):
              (JSC::operator==):
              (JSC::operator!=):
              * collector/handles/HandleHeap.cpp: Added.
                  New heap for global handles.
              (JSC::HandleHeap::HandleHeap):
              (JSC::HandleHeap::grow):
              (JSC::HandleHeap::markStrongHandles):
              (JSC::HandleHeap::updateAfterMark):
              (JSC::HandleHeap::clearWeakPointers):
              (JSC::HandleHeap::writeBarrier):
              * collector/handles/HandleHeap.h: Added.
              (JSC::HandleHeap::heapFor):
              (JSC::HandleHeap::toHandle):
              (JSC::HandleHeap::toNode):
              (JSC::HandleHeap::allocate):
              (JSC::HandleHeap::deallocate):
              (JSC::HandleHeap::makeWeak):
                  Convert a hard handle into weak handle that does not
                  protect the object it points to.
              (JSC::HandleHeap::makeSelfDestroying):
                  Converts a handle to a weak handle that will be returned
                  to the free list when the referenced object dies.
              (JSC::HandleHeap::Node::Node):
              (JSC::HandleHeap::Node::slot):
              (JSC::HandleHeap::Node::handleHeap):
              (JSC::HandleHeap::Node::setFinalizer):
              (JSC::HandleHeap::Node::makeWeak):
              (JSC::HandleHeap::Node::isWeak):
              (JSC::HandleHeap::Node::makeSelfDestroying):
              (JSC::HandleHeap::Node::isSelfDestroying):
              (JSC::HandleHeap::Node::finalizer):
              (JSC::HandleHeap::Node::setPrev):
              (JSC::HandleHeap::Node::prev):
              (JSC::HandleHeap::Node::setNext):
              (JSC::HandleHeap::Node::next):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::Interpreter):
              * interpreter/Interpreter.h:
              * interpreter/RegisterFile.cpp:
              (JSC::RegisterFile::globalObjectCollected):
              * interpreter/RegisterFile.h:
              (JSC::RegisterFile::RegisterFile):
              * runtime/GCHandle.cpp: Removed.
              * runtime/GCHandle.h: Removed.
              * runtime/Heap.cpp:
              (JSC::Heap::Heap):
              (JSC::Heap::destroy):
              (JSC::Heap::markRoots):
              * runtime/Heap.h:
              (JSC::Heap::allocateGlobalHandle):
              (JSC::Heap::reportExtraMemoryCost):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              (JSC::JSGlobalData::allocateGlobalHandle):
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::~JSGlobalObject):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::createStructure):
              (JSC::Structure::setEnumerationCache):
              (JSC::Structure::clearEnumerationCache):
              * runtime/Protect.h:
              * runtime/Structure.cpp:
              (JSC::Structure::~Structure):
              * runtime/Structure.h:
              * runtime/WeakGCPtr.h:
              (JSC::WeakGCPtrBase::get):
              (JSC::WeakGCPtrBase::clear):
              (JSC::WeakGCPtrBase::operator!):
              (JSC::WeakGCPtrBase::operator UnspecifiedBoolType*):
              (JSC::WeakGCPtrBase::~WeakGCPtrBase):
              (JSC::WeakGCPtrBase::WeakGCPtrBase):
              (JSC::WeakGCPtrBase::internalSet):
              (JSC::LazyWeakGCPtr::LazyWeakGCPtr):
              (JSC::LazyWeakGCPtr::set):
              (JSC::WeakGCPtr::WeakGCPtr):
              (JSC::WeakGCPtr::operator=):
              * runtime/WriteBarrier.h:
              * wtf/BlockStack.h: Added.
              (WTF::::BlockStack):
              (WTF::::~BlockStack):
              (WTF::::blocks):
              (WTF::::grow):
              (WTF::::shrink):
              * wtf/SentinelLinkedList.h: Added.
              (WTF::::SentinelLinkedList):
              (WTF::::begin):
              (WTF::::end):
              (WTF::::push):
              (WTF::::remove):
              * wtf/SinglyLinkedList.h: Added.
              (WTF::::SinglyLinkedList):
              (WTF::::isEmpty):
              (WTF::::push):
              (WTF::::pop):
      2011-02-14  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough and Geoff Garen.
      
              Refactor handles and weak pointers to become nicer and more automatic
              https://bugs.webkit.org/show_bug.cgi?id=54415
      
              Update to use new Global<> type
      
              * JSRun.cpp:
              (JSRun::JSRun):
              (JSRun::GlobalObject):
              * JSRun.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              * JSValueWrapper.h:
      2011-02-14  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough and Geoff Garen.
      
              Refactor handles and weak pointers to become nicer and more automatic
              https://bugs.webkit.org/show_bug.cgi?id=54415
      
              Update WebCore to use the new Global<> type rather than ProtectedJSValue
              and gc[Un]Protect.  Also update to use new WeakGCPtr APIs, and remove now
              unnecessary destructors.
      
              * ForwardingHeaders/collector/handles/Global.h: Added.
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/copyForwardingHeaders.cmd:
              * bindings/js/JSCallbackData.h:
              (WebCore::JSCallbackData::JSCallbackData):
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::forgetDOMNode):
              (WebCore::cacheDOMNodeWrapper):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDataGridDataSource.h:
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::setWrapper):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::initializeJSFunction):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::executeFunctionInContext):
              * bindings/js/ScheduledAction.h:
              (WebCore::ScheduledAction::ScheduledAction):
              * bindings/js/ScriptCachedFrameData.cpp:
              (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
              (WebCore::ScriptCachedFrameData::restore):
              * bindings/js/ScriptCachedFrameData.h:
              * bindings/js/ScriptCallStackFactory.cpp:
              (WebCore::createScriptArguments):
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createWindowShell):
              (WebCore::ScriptController::evaluateInWorld):
              (WebCore::ScriptController::clearWindowShell):
              (WebCore::ScriptController::attachDebugger):
              * bindings/js/ScriptController.h:
              * bindings/js/ScriptFunctionCall.cpp:
              (WebCore::ScriptFunctionCall::call):
              (WebCore::ScriptCallback::call):
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptObject::ScriptObject):
              * bindings/js/ScriptObject.h:
              * bindings/js/ScriptState.cpp:
              (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
              (WebCore::ScriptStateProtectedPtr::get):
              * bindings/js/ScriptState.h:
              * bindings/js/ScriptValue.cpp:
              (WebCore::ScriptValue::isFunction):
              (WebCore::ScriptValue::deserialize):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue):
              (WebCore::ScriptValue::hasNoValue):
              * bindings/js/ScriptWrappable.h:
              (WebCore::ScriptWrappable::ScriptWrappable):
              (WebCore::ScriptWrappable::setWrapper):
              * bindings/js/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::WorkerScriptController):
              (WebCore::WorkerScriptController::~WorkerScriptController):
              (WebCore::WorkerScriptController::initScript):
              (WebCore::WorkerScriptController::evaluate):
              * bindings/js/WorkerScriptController.h:
              (WebCore::WorkerScriptController::workerContextWrapper):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_Construct):
              * bridge/jsc/BridgeJSC.cpp:
              (JSC::Bindings::Instance::Instance):
              (JSC::Bindings::Instance::~Instance):
              (JSC::Bindings::Instance::willDestroyRuntimeObject):
              (JSC::Bindings::Instance::willInvalidateRuntimeObject):
              * bridge/jsc/BridgeJSC.h:
              * bridge/runtime_object.cpp:
              (JSC::Bindings::RuntimeObject::invalidate):
              * bridge/runtime_root.cpp:
              (JSC::Bindings::RootObject::RootObject):
              (JSC::Bindings::RootObject::invalidate):
              (JSC::Bindings::RootObject::globalObject):
              (JSC::Bindings::RootObject::updateGlobalObject):
              * bridge/runtime_root.h:
              * dom/EventListener.h:
              * dom/EventTarget.h:
              (WebCore::EventTarget::markJSEventListeners):
              * xml/XMLHttpRequest.cpp:
      
              Qt bindings courtesy of Csaba Osztrogonác
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtRuntimeConnectionMethod::call):
              (JSC::Bindings::QtConnectionObject::QtConnectionObject):
              (JSC::Bindings::QtConnectionObject::execute):
              (JSC::Bindings::QtConnectionObject::match):
              * bridge/qt/qt_runtime.h:
      2011-02-14  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough and Geoff Garen.
      
              Refactor handles and weak pointers to become nicer and more automatic
              https://bugs.webkit.org/show_bug.cgi?id=54415
      
              Update to use Global<> instead of ProtectedPtr, and refactored slightly
              to get global data to places it's needed for when we're assigning to
              Global<>s
      
              * ForwardingHeaders/collector/handles/Global.h: Added.
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
              (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
              (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
              (WebKit::NetscapePluginInstanceProxy::evaluate):
              (WebKit::NetscapePluginInstanceProxy::invoke):
              (WebKit::NetscapePluginInstanceProxy::invokeDefault):
              (WebKit::NetscapePluginInstanceProxy::construct):
              (WebKit::NetscapePluginInstanceProxy::addValueToArray):
              * WebView/WebScriptDebugger.h:
              * WebView/WebScriptDebugger.mm:
              (WebScriptDebugger::WebScriptDebugger):
      2011-02-14  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough and Geoff Garen.
      
              Refactor handles and weak pointers to become nicer and more automatic
              https://bugs.webkit.org/show_bug.cgi?id=54415
      
              Update code to new Global<> API, and refactor to get global data to
              necessary points.
      
              * WebProcess/Plugins/Netscape/NPJSObject.cpp:
              (WebKit::NPJSObject::create):
              (WebKit::NPJSObject::NPJSObject):
              (WebKit::NPJSObject::initialize):
              (WebKit::NPJSObject::invokeDefault):
              (WebKit::NPJSObject::construct):
              (WebKit::NPJSObject::invoke):
              * WebProcess/Plugins/Netscape/NPJSObject.h:
              * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
              (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
              (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
              (WebKit::NPRuntimeObjectMap::evaluate):
              * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
              * WebProcess/Plugins/PluginView.cpp:
              (WebKit::PluginView::windowScriptNPObject):
              (WebKit::PluginView::pluginElementNPObject):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d85705e
  17. 11 Feb, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-02-11 Geoffrey Garen <ggaren@apple.com> · b843ba85
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              A little more encapsulation for the heap: Removed CollectorHeapIterator
              https://bugs.webkit.org/show_bug.cgi?id=54298
              
              CollectorHeapIterator is a God object that knows the internals of each
              of the pieces of the heap. This undermines the encapsulation I'm trying
              to achieve by splitting concepts into different classes.
              
              As an alternative, I've given each class a forEach iteration function,
              which takes a functor as an argument. Now, each class just needs to
              know how to iterate the things it knows about.
      
              * GNUmakefile.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Removed CollectorHeapIterator.
      
              * debugger/Debugger.cpp:
              (JSC::Recompiler::Recompiler):
              (JSC::Recompiler::~Recompiler):
              (JSC::Recompiler::operator()):
              (JSC::Debugger::recompileAllJSFunctions): Updated to use forEach interface
              instead of an iterator.
      
              * runtime/CollectorHeapIterator.h: Removed.
      
              * runtime/Heap.cpp:
              (JSC::TypeCounter::TypeCounter):
              (JSC::TypeCounter::typeName):
              (JSC::TypeCounter::operator()):
              (JSC::TypeCounter::take):
              (JSC::Heap::protectedObjectTypeCounts):
              (JSC::Heap::objectTypeCounts): Added forEach and removed iterator.
      
              * runtime/Heap.h:
              (JSC::Heap::forEach):
              * runtime/JSGlobalData.cpp:
              (JSC::Recompiler::operator()):
              (JSC::JSGlobalData::recompileAllJSFunctions):
      
              * runtime/MarkedBlock.h:
              (JSC::MarkedBlock::forEach): Added forEach. Removed friend declaration
              for CollectorHeapIterator. Now, we can make all our data private and
              change it without breaking any other classes.
      
              * runtime/MarkedSpace.cpp:
              * runtime/MarkedSpace.h:
              (JSC::MarkedSpace::forEach): Added forEach and removed iterator.
      2011-02-11  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A little more encapsulation for the heap: Removed CollectorHeapIterator
              https://bugs.webkit.org/show_bug.cgi?id=54298
      
              * WebCoreStatistics.cpp:
              (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
      2011-02-11  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A little more encapsulation for the heap: Removed CollectorHeapIterator
              https://bugs.webkit.org/show_bug.cgi?id=54298
      
              * Misc/WebCoreStatistics.mm:
              (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
              (+[WebCoreStatistics javaScriptObjectTypeCounts]): Updated for new typedef.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b843ba85
  18. 10 Feb, 2011 1 commit
    • pvarga@webkit.org's avatar
      2011-02-10 Peter Varga <pvarga@webkit.org> · ebc83003
      pvarga@webkit.org authored
              Reviewed by Csaba Osztrogonác.
      
              Remove PCRE source from trunk
              https://bugs.webkit.org/show_bug.cgi?id=54188
      
              * Source/cmake/WebKitFS.cmake:
      2011-02-10  Peter Varga  <pvarga@webkit.org>
      
              Reviewed by Csaba Osztrogonác.
      
              Remove PCRE source from trunk
              https://bugs.webkit.org/show_bug.cgi?id=54188
      
              * Android.mk:
              * Android.v8.wtf.mk:
              * CMakeLists.txt:
              * DerivedSources.make:
              * DerivedSources.pro:
              * GNUmakefile.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.order:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
              * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
              * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * pcre/AUTHORS: Removed.
              * pcre/COPYING: Removed.
              * pcre/dftables: Removed.
              * pcre/pcre.h: Removed.
              * pcre/pcre.pri: Removed.
              * pcre/pcre_compile.cpp: Removed.
              * pcre/pcre_exec.cpp: Removed.
              * pcre/pcre_internal.h: Removed.
              * pcre/pcre_tables.cpp: Removed.
              * pcre/pcre_ucp_searchfuncs.cpp: Removed.
              * pcre/pcre_xclass.cpp: Removed.
              * pcre/ucpinternal.h: Removed.
              * pcre/ucptable.cpp: Removed.
              * wscript:
      2011-02-10  Peter Varga  <pvarga@webkit.org>
      
              Reviewed by Csaba Osztrogonác.
      
              Remove PCRE source from trunk
              https://bugs.webkit.org/show_bug.cgi?id=54188
      
              * ForwardingHeaders/pcre/pcre.h: Removed.
      2011-02-10  Peter Varga  <pvarga@webkit.org>
      
              Reviewed by Csaba Osztrogonác.
      
              Remove PCRE source from trunk
              https://bugs.webkit.org/show_bug.cgi?id=54188
      
              * WebKit2.pro:
      2011-02-10  Peter Varga  <pvarga@webkit.org>
      
              Reviewed by Csaba Osztrogonác.
      
              Remove PCRE source from trunk
              https://bugs.webkit.org/show_bug.cgi?id=54188
      
              * wx/build/settings.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebc83003
  19. 02 Feb, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-02-01 Geoffrey Garen <ggaren@apple.com> · 4e08b9b5
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              A little more Heap refactoring
              https://bugs.webkit.org/show_bug.cgi?id=53577
              
              SunSpider reports no change.
              
              Split out MarkedBlock into its own file / class.
              
              Did the following renames:
                  isCellMarked => isMarked
                  checkMarkCell => testAndSetMarked
                  markCell => setMarked
                  cellOffset => cellNumber
                  collectorBlock => blockFor
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * runtime/Heap.cpp:
              (JSC::WeakGCHandlePool::update):
              * runtime/Heap.h:
              (JSC::Heap::isMarked):
              (JSC::Heap::testAndSetMarked):
              (JSC::Heap::setMarked):
              * runtime/JSArray.h:
              (JSC::MarkStack::markChildren):
              (JSC::MarkStack::drain):
              * runtime/JSCell.h:
              (JSC::JSCell::MarkStack::internalAppend):
              * runtime/MarkedBlock.cpp: Added.
              * runtime/MarkedBlock.h: Added.
              (JSC::MarkedBlock::blockFor):
              (JSC::MarkedBlock::cellNumber):
              (JSC::MarkedBlock::isMarked):
              (JSC::MarkedBlock::testAndSetMarked):
              (JSC::MarkedBlock::setMarked):
              (JSC::MarkedBlock::isCellAligned):
              (JSC::MarkedBlock::isPossibleCell):
              * runtime/MarkedSpace.h:
              (JSC::MarkedSpace::isMarked):
              (JSC::MarkedSpace::testAndSetMarked):
              (JSC::MarkedSpace::setMarked):
              * runtime/SmallStrings.cpp:
              (JSC::isMarked):
              * runtime/WeakGCMap.h:
              (JSC::WeakGCMap::isValid):
              (JSC::::get):
              (JSC::::take):
              (JSC::::set):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e08b9b5
  20. 25 Jan, 2011 1 commit
    • antti@apple.com's avatar
      REGRESSION: Leak in JSParser::Scope::copyCapturedVariablesToVector() · be333a79
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=53061
               
      Reviewed by Oliver Hunt.
      
      Cache did not know about the subclass so failed to fully delete the items. 
      Got rid of the subclass and moved the classes to separate files.
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * JavaScriptCore.exp:
      * JavaScriptCore.gypi:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * parser/JSParser.cpp:
      (JSC::JSParser::Scope::saveFunctionInfo):
      (JSC::JSParser::Scope::restoreFunctionInfo):
      (JSC::JSParser::findCachedFunctionInfo):
      (JSC::JSParser::parseFunctionInfo):
      * parser/SourceProvider.h:
      * parser/SourceProviderCache.cpp: Added.
      (JSC::SourceProviderCache::~SourceProviderCache):
      (JSC::SourceProviderCache::byteSize):
      * parser/SourceProviderCache.h: Added.
      (JSC::SourceProviderCache::SourceProviderCache):
      (JSC::SourceProviderCache::add):
      (JSC::SourceProviderCache::get):
      * parser/SourceProviderCacheItem.h: Added.
      (JSC::SourceProviderCacheItem::SourceProviderCacheItem):
      (JSC::SourceProviderCacheItem::approximateByteSize):
      (JSC::SourceProviderCacheItem::closeBraceToken):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be333a79
  21. 22 Jan, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-01-22 Geoffrey Garen <ggaren@apple.com> · c9bfff41
      ggaren@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Rubber-stamped by Maciej Stachowiak.
      
              A few of Maciej's review suggestions for my last patch.
              https://bugs.webkit.org/show_bug.cgi?id=52946        
      
              SunSpider reports no change.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj: Updated build systems.
      
              * runtime/ConservativeSet.cpp: Added.
              (JSC::isPointerAligned):
              (JSC::ConservativeSet::add):
              * runtime/ConservativeSet.h: Added.
              (JSC::ConservativeSet::ConservativeSet):
              (JSC::ConservativeSet::mark): Split ConservativeSet out into its own
              file, and moved the conservative check into ConservativeSet::add, making
              ConservativeSet's responsibility clearer.
      
              * runtime/Heap.cpp:
              (JSC::Heap::markRoots):
              * runtime/MachineStackMarker.cpp:
              (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
              (JSC::MachineStackMarker::markOtherThreadConservatively):
              * runtime/MachineStackMarker.h:
              * runtime/MarkStack.h: Updated for changes above.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9bfff41
  22. 19 Jan, 2011 1 commit
    • darin@apple.com's avatar
      2011-01-18 Darin Adler <darin@apple.com> · 4cd37c31
      darin@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Stack overflow when converting an Error object to string
              https://bugs.webkit.org/show_bug.cgi?id=46410
      
              * fast/js/script-tests/toString-recursion.js: Added.
              * fast/js/toString-recursion-expected.txt: Added.
              * fast/js/toString-recursion.html: Added.
      2011-01-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Stack overflow when converting an Error object to string
              https://bugs.webkit.org/show_bug.cgi?id=46410
      
              * Android.mk: Added StringRecursionChecker.cpp and
              StringRecursionChecker.h.
              * CMakeLists.txt: Ditto.
              * GNUmakefile.am: Ditto.
              * JavaScriptCore.gypi: Ditto.
              * JavaScriptCore.pro: Ditto.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
      
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncToString): Use StringRecursionChecker instead
              of the older hand-written code to do the same thing.
              (JSC::arrayProtoFuncToLocaleString): Ditto.
              (JSC::arrayProtoFuncJoin): Ditto.
      
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString): Use StringRecursionChecker.
      
              * runtime/JSGlobalData.h: Renamed arrayVisitedElements to
              stringRecursionCheckVisitedObjects.
      
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncToString): Use StringRecursionChecker.
      
              * runtime/StringRecursionChecker.cpp: Added.
              * runtime/StringRecursionChecker.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4cd37c31
  23. 14 Jan, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-01-13 Geoffrey Garen <ggaren@apple.com> · 7c622bc0
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Split out a MarkedSpace strategy object from Heap.
              https://bugs.webkit.org/show_bug.cgi?id=52421
      
              * Misc/WebCoreStatistics.mm:
              (+[WebCoreStatistics memoryStatistics]): Updated for class move.
      2011-01-13  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Split out a MarkedSpace strategy object from Heap.
              https://bugs.webkit.org/show_bug.cgi?id=52421
              
              SunSpider reports no change.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj: Updated our 7 build systems. Which is cool.
      
              * runtime/Heap.cpp:
              (JSC::Heap::Heap):
              (JSC::Heap::destroy):
              (JSC::Heap::recordExtraCost):
              (JSC::Heap::allocate):
              (JSC::Heap::markConservatively):
              (JSC::Heap::markRoots):
              (JSC::Heap::objectCount):
              (JSC::Heap::statistics):
              (JSC::Heap::size):
              (JSC::Heap::isBusy):
              (JSC::Heap::collectAllGarbage):
              (JSC::Heap::primaryHeapBegin):
              (JSC::Heap::primaryHeapEnd):
              * runtime/Heap.h:
              (JSC::Heap::globalData):
              (JSC::Heap::markedSpace):
              (JSC::Heap::isCellMarked):
              (JSC::Heap::checkMarkCell):
              (JSC::Heap::markCell): Moved all code pertaining to managing chunks of
              collector memory out of this class. Heap now just delegates to MarkedSpace.
      
              * runtime/JSCell.h:
              (JSC::JSCell::Heap::heap): Updated for MarkedSpace delegation.
      
              * runtime/JSValue.h: Moved the ValueStringPair typedef to help with #includes.
      
              * runtime/MarkedSpace.cpp: Copied from runtime/Heap.cpp.
              (JSC::MarkedSpace::MarkedSpace):
              (JSC::MarkedSpace::destroy):
              (JSC::MarkedSpace::allocateBlock):
              (JSC::MarkedSpace::freeBlock):
              (JSC::MarkedSpace::allocate):
              (JSC::MarkedSpace::resizeBlocks):
              (JSC::MarkedSpace::growBlocks):
              (JSC::MarkedSpace::shrinkBlocks):
              (JSC::MarkedSpace::markConservatively):
              (JSC::MarkedSpace::clearMarkBits):
              (JSC::MarkedSpace::markedCells):
              (JSC::MarkedSpace::sweep):
              (JSC::MarkedSpace::objectCount):
              (JSC::MarkedSpace::addToStatistics):
              (JSC::MarkedSpace::statistics):
              (JSC::MarkedSpace::size):
              (JSC::MarkedSpace::reset):
              (JSC::MarkedSpace::primaryHeapBegin):
              (JSC::MarkedSpace::primaryHeapEnd):
              * runtime/MarkedSpace.h: Copied from runtime/Heap.h.
              (JSC::MarkedSpace::globalData):
              (JSC::MarkedSpace::didShrink):
              (JSC::MarkedSpace::cellBlock):
              (JSC::MarkedSpace::cellOffset):
              (JSC::MarkedSpace::isCellMarked):
              (JSC::MarkedSpace::checkMarkCell):
              (JSC::MarkedSpace::markCell): Moved all code pertaining to managing chunks of
              collector memory into this class.
      
              * runtime/MemoryStatistics.cpp:
              (JSC::heapStatistics):
              * runtime/MemoryStatistics.h: Updated for MarkedSpace delegation.
      2011-01-13  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Split out a MarkedSpace strategy object from Heap.
              https://bugs.webkit.org/show_bug.cgi?id=52421
      
              * Shared/mac/WebMemorySampler.mac.mm:
              (WebKit::WebMemorySampler::sampleWebKit): Updated for class move.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c622bc0
  24. 12 Jan, 2011 3 commits
    • pvarga@webkit.org's avatar
      2011-01-12 Peter Varga <pvarga@webkit.org> · f5f4c2d2
      pvarga@webkit.org authored
              Reviewed by Gavin Barraclough.
      
              Add Yarr.h to YARR
              https://bugs.webkit.org/show_bug.cgi?id=51021
      
              Move other common constants and functions from YARR's different files
              to Yarr.h.
              Use Yarr.h header instead of including other YARR headers where it
              is possible.
      
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * runtime/RegExp.cpp:
              * yarr/Yarr.h: Added.
              * yarr/YarrInterpreter.cpp:
              * yarr/YarrInterpreter.h:
              * yarr/YarrJIT.cpp:
              (JSC::Yarr::jitCompile):
              (JSC::Yarr::execute):
              * yarr/YarrJIT.h:
              * yarr/YarrParser.h:
              * yarr/YarrPattern.cpp:
              (JSC::Yarr::YarrPattern::compile):
              (JSC::Yarr::YarrPattern::YarrPattern):
              * yarr/YarrPattern.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f5f4c2d2
    • ossy@webkit.org's avatar
      Unreviewed, rolling out r75595. · f27ce280
      ossy@webkit.org authored
      http://trac.webkit.org/changeset/75595
      https://bugs.webkit.org/show_bug.cgi?id=52286
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-01-12
      It broke fast/regex/pcre-test-1.html (Requested by Ossy on
      #webkit).
      
      * JavaScriptCore.gypi:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/RegExp.cpp:
      * yarr/Yarr.h: Removed.
      * yarr/YarrInterpreter.cpp:
      * yarr/YarrInterpreter.h:
      * yarr/YarrJIT.cpp:
      (JSC::Yarr::jitCompile):
      * yarr/YarrJIT.h:
      (JSC::Yarr::execute):
      * yarr/YarrParser.h:
      * yarr/YarrPattern.cpp:
      (JSC::Yarr::compile):
      (JSC::Yarr::YarrPattern::YarrPattern):
      * yarr/YarrPattern.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f27ce280
    • pvarga@webkit.org's avatar
      2011-01-12 Peter Varga <pvarga@webkit.org> · 2dfa6f9f
      pvarga@webkit.org authored
              Reviewed by Gavin Barraclough.
      
              Add Yarr.h to YARR
              https://bugs.webkit.org/show_bug.cgi?id=51021
      
              Move other common constants and functions from YARR's different files
              to Yarr.h.
              Use Yarr.h header instead of including other YARR headers where it
              is possible.
      
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * runtime/RegExp.cpp:
              * yarr/Yarr.h: Added.
              * yarr/YarrInterpreter.cpp:
              * yarr/YarrInterpreter.h:
              * yarr/YarrJIT.cpp:
              (JSC::Yarr::jitCompile):
              (JSC::Yarr::execute):
              * yarr/YarrJIT.h:
              * yarr/YarrParser.h:
              * yarr/YarrPattern.cpp:
              (JSC::Yarr::YarrPattern::compile):
              (JSC::Yarr::YarrPattern::YarrPattern):
              * yarr/YarrPattern.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dfa6f9f
  25. 10 Jan, 2011 3 commits
    • ggaren@apple.com's avatar
      Moved Collector.* => Heap.*, since the file contains a class named "Heap". · a8b3854a
      ggaren@apple.com authored
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore: 
      
      * API/JSCallbackObject.cpp:
      * Android.mk:
      * CMakeLists.txt:
      * GNUmakefile.am:
      * JavaScriptCore.gypi:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * interpreter/Interpreter.cpp:
      * interpreter/RegisterFile.h:
      * jit/JITStubs.cpp:
      * runtime/Collector.cpp: Removed.
      * runtime/Collector.h: Removed.
      * runtime/CollectorHeapIterator.h:
      * runtime/GCActivityCallbackCF.cpp:
      * runtime/Heap.cpp: Copied from JavaScriptCore/runtime/Collector.cpp.
      * runtime/Heap.h: Copied from JavaScriptCore/runtime/Collector.h.
      * runtime/InitializeThreading.cpp:
      * runtime/JSCell.h:
      * runtime/JSGlobalData.cpp:
      * runtime/JSGlobalData.h:
      * runtime/JSLock.cpp:
      * runtime/JSNumberCell.h:
      * runtime/MachineStackMarker.cpp:
      * runtime/MemoryStatistics.h:
      * runtime/Protect.h:
      * runtime/UString.cpp:
      * runtime/WeakGCMap.h:
      * runtime/WeakGCPtr.h:
      
      Source/JavaScriptGlue: 
      
      * JSUtils.h:
      
      Source/WebCore: 
      
      * ForwardingHeaders/runtime/Collector.h: Removed.
      * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h.
      * WebCore.vcproj/WebCore.vcproj:
      * bindings/js/GCController.cpp:
      * bindings/js/ScriptGCEvent.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8b3854a
    • barraclough@apple.com's avatar
      Rename the existing YARR files and classes · 7dd3056d
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=51872
      
      Patch by Peter Varga <pvarga@inf.u-szeged.hu> on 2011-01-10
      Reviewed by Gavin Barraclough.
      
      Replace the "Regex" prefix with "Yarr" in the name of YARR files and classes.
      
      * Android.mk:
      * CMakeLists.txt:
      * GNUmakefile.am:
      * JavaScriptCore.gypi:
      * JavaScriptCore.pro:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/RegExp.cpp:
      (JSC::RegExp::compile):
      (JSC::RegExp::match):
      (JSC::RegExp::printTraceData):
      * yarr/YarrInterpreter.cpp: Renamed from Source/JavaScriptCore/yarr/RegexInterpreter.cpp.
      (JSC::Yarr::Interpreter::appendParenthesesDisjunctionContext):
      (JSC::Yarr::Interpreter::popParenthesesDisjunctionContext):
      (JSC::Yarr::Interpreter::DisjunctionContext::DisjunctionContext):
      (JSC::Yarr::Interpreter::DisjunctionContext::operator new):
      (JSC::Yarr::Interpreter::allocDisjunctionContext):
      (JSC::Yarr::Interpreter::freeDisjunctionContext):
      (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
      (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::operator new):
      (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::restoreOutput):
      (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::getDisjunctionContext):
      (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
      (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
      (JSC::Yarr::Interpreter::InputStream::InputStream):
      (JSC::Yarr::Interpreter::InputStream::next):
      (JSC::Yarr::Interpreter::InputStream::rewind):
      (JSC::Yarr::Interpreter::InputStream::read):
      (JSC::Yarr::Interpreter::InputStream::readPair):
      (JSC::Yarr::Interpreter::InputStream::readChecked):
      (JSC::Yarr::Interpreter::InputStream::reread):
      (JSC::Yarr::Interpreter::InputStream::prev):
      (JSC::Yarr::Interpreter::InputStream::getPos):
      (JSC::Yarr::Interpreter::InputStream::setPos):
      (JSC::Yarr::Interpreter::InputStream::atStart):
      (JSC::Yarr::Interpreter::InputStream::atEnd):
      (JSC::Yarr::Interpreter::InputStream::checkInput):
      (JSC::Yarr::Interpreter::InputStream::uncheckInput):
      (JSC::Yarr::Interpreter::InputStream::isNotAvailableInput):
      (JSC::Yarr::Interpreter::testCharacterClass):
      (JSC::Yarr::Interpreter::checkCharacter):
      (JSC::Yarr::Interpreter::checkCasedCharacter):
      (JSC::Yarr::Interpreter::checkCharacterClass):
      (JSC::Yarr::Interpreter::tryConsumeBackReference):
      (JSC::Yarr::Interpreter::matchAssertionBOL):
      (JSC::Yarr::Interpreter::matchAssertionEOL):
      (JSC::Yarr::Interpreter::matchAssertionWordBoundary):
      (JSC::Yarr::Interpreter::backtrackPatternCharacter):
      (JSC::Yarr::Interpreter::backtrackPatternCasedCharacter):
      (JSC::Yarr::Interpreter::matchCharacterClass):
      (JSC::Yarr::Interpreter::backtrackCharacterClass):
      (JSC::Yarr::Interpreter::matchBackReference):
      (JSC::Yarr::Interpreter::backtrackBackReference):
      (JSC::Yarr::Interpreter::recordParenthesesMatch):
      (JSC::Yarr::Interpreter::resetMatches):
      (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
      (JSC::Yarr::Interpreter::matchParenthesesOnceBegin):
      (JSC::Yarr::Interpreter::matchParenthesesOnceEnd):
      (JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin):
      (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
      (JSC::Yarr::Interpreter::matchParenthesesTerminalBegin):
      (JSC::Yarr::Interpreter::matchParenthesesTerminalEnd):
      (JSC::Yarr::Interpreter::backtrackParenthesesTerminalBegin):
      (JSC::Yarr::Interpreter::backtrackParenthesesTerminalEnd):
      (JSC::Yarr::Interpreter::matchParentheticalAssertionBegin):
      (JSC::Yarr::Interpreter::matchParentheticalAssertionEnd):
      (JSC::Yarr::Interpreter::backtrackParentheticalAssertionBegin):
      (JSC::Yarr::Interpreter::backtrackParentheticalAssertionEnd):
      (JSC::Yarr::Interpreter::matchParentheses):
      (JSC::Yarr::Interpreter::backtrackParentheses):
      (JSC::Yarr::Interpreter::lookupForBeginChars):
      (JSC::Yarr::Interpreter::matchDisjunction):
      (JSC::Yarr::Interpreter::matchNonZeroDisjunction):
      (JSC::Yarr::Interpreter::interpret):
      (JSC::Yarr::Interpreter::Interpreter):
      (JSC::Yarr::ByteCompiler::ParenthesesStackEntry::ParenthesesStackEntry):
      (JSC::Yarr::ByteCompiler::ByteCompiler):
      (JSC::Yarr::ByteCompiler::compile):
      (JSC::Yarr::ByteCompiler::checkInput):
      (JSC::Yarr::ByteCompiler::assertionBOL):
      (JSC::Yarr::ByteCompiler::assertionEOL):
      (JSC::Yarr::ByteCompiler::assertionWordBoundary):
      (JSC::Yarr::ByteCompiler::atomPatternCharacter):
      (JSC::Yarr::ByteCompiler::atomCharacterClass):
      (JSC::Yarr::ByteCompiler::atomBackReference):
      (JSC::Yarr::ByteCompiler::atomParenthesesOnceBegin):
      (JSC::Yarr::ByteCompiler::atomParenthesesTerminalBegin):
      (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
      (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin):
      (JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd):
      (JSC::Yarr::ByteCompiler::popParenthesesStack):
      (JSC::Yarr::ByteCompiler::dumpDisjunction):
      (JSC::Yarr::ByteCompiler::closeAlternative):
      (JSC::Yarr::ByteCompiler::closeBodyAlternative):
      (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
      (JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
      (JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
      (JSC::Yarr::ByteCompiler::regexBegin):
      (JSC::Yarr::ByteCompiler::regexEnd):
      (JSC::Yarr::ByteCompiler::alternativeBodyDisjunction):
      (JSC::Yarr::ByteCompiler::alternativeDisjunction):
      (JSC::Yarr::ByteCompiler::emitDisjunction):
      (JSC::Yarr::byteCompile):
      (JSC::Yarr::interpret):
      * yarr/YarrInterpreter.h: Renamed from Source/JavaScriptCore/yarr/RegexInterpreter.h.
      (JSC::Yarr::ByteTerm::ByteTerm):
      (JSC::Yarr::ByteTerm::BOL):
      (JSC::Yarr::ByteTerm::CheckInput):
      (JSC::Yarr::ByteTerm::EOL):
      (JSC::Yarr::ByteTerm::WordBoundary):
      (JSC::Yarr::ByteTerm::BackReference):
      (JSC::Yarr::ByteTerm::BodyAlternativeBegin):
      (JSC::Yarr::ByteTerm::BodyAlternativeDisjunction):
      (JSC::Yarr::ByteTerm::BodyAlternativeEnd):
      (JSC::Yarr::ByteTerm::AlternativeBegin):
      (JSC::Yarr::ByteTerm::AlternativeDisjunction):
      (JSC::Yarr::ByteTerm::AlternativeEnd):
      (JSC::Yarr::ByteTerm::SubpatternBegin):
      (JSC::Yarr::ByteTerm::SubpatternEnd):
      (JSC::Yarr::ByteTerm::invert):
      (JSC::Yarr::ByteTerm::capture):
      (JSC::Yarr::ByteDisjunction::ByteDisjunction):
      (JSC::Yarr::BytecodePattern::BytecodePattern):
      (JSC::Yarr::BytecodePattern::~BytecodePattern):
      * yarr/YarrJIT.cpp: Renamed from Source/JavaScriptCore/yarr/RegexJIT.cpp.
      (JSC::Yarr::YarrGenerator::optimizeAlternative):
      (JSC::Yarr::YarrGenerator::matchCharacterClassRange):
      (JSC::Yarr::YarrGenerator::matchCharacterClass):
      (JSC::Yarr::YarrGenerator::jumpIfNoAvailableInput):
      (JSC::Yarr::YarrGenerator::jumpIfAvailableInput):
      (JSC::Yarr::YarrGenerator::checkInput):
      (JSC::Yarr::YarrGenerator::atEndOfInput):
      (JSC::Yarr::YarrGenerator::notAtEndOfInput):
      (JSC::Yarr::YarrGenerator::jumpIfCharEquals):
      (JSC::Yarr::YarrGenerator::jumpIfCharNotEquals):
      (JSC::Yarr::YarrGenerator::readCharacter):
      (JSC::Yarr::YarrGenerator::storeToFrame):
      (JSC::Yarr::YarrGenerator::storeToFrameWithPatch):
      (JSC::Yarr::YarrGenerator::loadFromFrame):
      (JSC::Yarr::YarrGenerator::loadFromFrameAndJump):
      (JSC::Yarr::YarrGenerator::IndirectJumpEntry::IndirectJumpEntry):
      (JSC::Yarr::YarrGenerator::IndirectJumpEntry::addJump):
      (JSC::Yarr::YarrGenerator::AlternativeBacktrackRecord::AlternativeBacktrackRecord):
      (JSC::Yarr::YarrGenerator::GenerationState::GenerationState):
      (JSC::Yarr::YarrGenerator::GenerationState::addIndirectJumpEntry):
      (JSC::Yarr::YarrGenerator::GenerationState::emitIndirectJumpTable):
      (JSC::Yarr::YarrGenerator::GenerationState::incrementParenNestingLevel):
      (JSC::Yarr::YarrGenerator::GenerationState::decrementParenNestingLevel):
      (JSC::Yarr::YarrGenerator::GenerationState::addParenthesesTail):
      (JSC::Yarr::YarrGenerator::GenerationState::emitParenthesesTail):
      (JSC::Yarr::YarrGenerator::GenerationState::addJumpToNextInteration):
      (JSC::Yarr::YarrGenerator::GenerationState::addJumpsToNextInteration):
      (JSC::Yarr::YarrGenerator::GenerationState::addDataLabelToNextIteration):
      (JSC::Yarr::YarrGenerator::GenerationState::linkToNextIteration):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::BacktrackDestination):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::clear):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::clearDataLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::hasDestination):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::isStackOffset):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::isLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::isJumpList):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::hasDataLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::copyTarget):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::copyTo):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::addBacktrackJump):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setStackOffset):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setNextBacktrackLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::copyBacktrackToLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setBacktrackToLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setBacktrackJumpList):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setBacktrackSourceLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setDataLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::setSubDataLabelPtr):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::linkToNextBacktrack):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::getStackOffset):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::getLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::getBacktrackJumps):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::getDataLabel):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::jumpToBacktrack):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::linkDataLabelToHereIfExists):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::plantJumpToBacktrackIfExists):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::linkAlternativeBacktracks):
      (JSC::Yarr::YarrGenerator::BacktrackDestination::linkAlternativeBacktracksTo):
      (JSC::Yarr::YarrGenerator::TermGenerationState::TermGenerationState):
      (JSC::Yarr::YarrGenerator::TermGenerationState::resetAlternative):
      (JSC::Yarr::YarrGenerator::TermGenerationState::alternativeValid):
      (JSC::Yarr::YarrGenerator::TermGenerationState::nextAlternative):
      (JSC::Yarr::YarrGenerator::TermGenerationState::alternative):
      (JSC::Yarr::YarrGenerator::TermGenerationState::isLastAlternative):
      (JSC::Yarr::YarrGenerator::TermGenerationState::resetTerm):
      (JSC::Yarr::YarrGenerator::TermGenerationState::termValid):
      (JSC::Yarr::YarrGenerator::TermGenerationState::nextTerm):
      (JSC::Yarr::YarrGenerator::TermGenerationState::term):
      (JSC::Yarr::YarrGenerator::TermGenerationState::isLastTerm):
      (JSC::Yarr::YarrGenerator::TermGenerationState::getSubParenNum):
      (JSC::Yarr::YarrGenerator::TermGenerationState::isMainDisjunction):
      (JSC::Yarr::YarrGenerator::TermGenerationState::setParenthesesTail):
      (JSC::Yarr::YarrGenerator::TermGenerationState::getParenthesesTail):
      (JSC::Yarr::YarrGenerator::TermGenerationState::lookaheadTerm):
      (JSC::Yarr::YarrGenerator::TermGenerationState::isSinglePatternCharacterLookaheadTerm):
      (JSC::Yarr::YarrGenerator::TermGenerationState::inputOffset):
      (JSC::Yarr::YarrGenerator::TermGenerationState::clearBacktrack):
      (JSC::Yarr::YarrGenerator::TermGenerationState::jumpToBacktrack):
      (JSC::Yarr::YarrGenerator::TermGenerationState::plantJumpToBacktrackIfExists):
      (JSC::Yarr::YarrGenerator::TermGenerationState::linkDataLabelToBacktrackIfExists):
      (JSC::Yarr::YarrGenerator::TermGenerationState::addBacktrackJump):
      (JSC::Yarr::YarrGenerator::TermGenerationState::setBacktrackDataLabel):
      (JSC::Yarr::YarrGenerator::TermGenerationState::setBackTrackStackOffset):
      (JSC::Yarr::YarrGenerator::TermGenerationState::setBacktrackLabel):
      (JSC::Yarr::YarrGenerator::TermGenerationState::linkAlternativeBacktracks):
      (JSC::Yarr::YarrGenerator::TermGenerationState::linkAlternativeBacktracksTo):
      (JSC::Yarr::YarrGenerator::TermGenerationState::setBacktrackLink):
      (JSC::Yarr::YarrGenerator::TermGenerationState::chainBacktracks):
      (JSC::Yarr::YarrGenerator::TermGenerationState::chainBacktrackJumps):
      (JSC::Yarr::YarrGenerator::TermGenerationState::getBacktrackDestination):
      (JSC::Yarr::YarrGenerator::TermGenerationState::propagateBacktrackingFrom):
      (JSC::Yarr::YarrGenerator::ParenthesesTail::ParenthesesTail):
      (JSC::Yarr::YarrGenerator::ParenthesesTail::processBacktracks):
      (JSC::Yarr::YarrGenerator::ParenthesesTail::setNextIteration):
      (JSC::Yarr::YarrGenerator::ParenthesesTail::addAfterParenJump):
      (JSC::Yarr::YarrGenerator::ParenthesesTail::generateCode):
      (JSC::Yarr::YarrGenerator::generateAssertionBOL):
      (JSC::Yarr::YarrGenerator::generateAssertionEOL):
      (JSC::Yarr::YarrGenerator::matchAssertionWordchar):
      (JSC::Yarr::YarrGenerator::generateAssertionWordBoundary):
      (JSC::Yarr::YarrGenerator::generatePatternCharacterSingle):
      (JSC::Yarr::YarrGenerator::generatePatternCharacterPair):
      (JSC::Yarr::YarrGenerator::generatePatternCharacterFixed):
      (JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
      (JSC::Yarr::YarrGenerator::generatePatternCharacterNonGreedy):
      (JSC::Yarr::YarrGenerator::generateCharacterClassSingle):
      (JSC::Yarr::YarrGenerator::generateCharacterClassFixed):
      (JSC::Yarr::YarrGenerator::generateCharacterClassGreedy):
      (JSC::Yarr::YarrGenerator::generateCharacterClassNonGreedy):
      (JSC::Yarr::YarrGenerator::generateParenthesesDisjunction):
      (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
      (JSC::Yarr::YarrGenerator::generateParenthesesGreedyNoBacktrack):
      (JSC::Yarr::YarrGenerator::generateParentheticalAssertion):
      (JSC::Yarr::YarrGenerator::generateTerm):
      (JSC::Yarr::YarrGenerator::generateDisjunction):
      (JSC::Yarr::YarrGenerator::generateEnter):
      (JSC::Yarr::YarrGenerator::generateReturn):
      (JSC::Yarr::YarrGenerator::YarrGenerator):
      (JSC::Yarr::YarrGenerator::generate):
      (JSC::Yarr::YarrGenerator::compile):
      (JSC::Yarr::jitCompile):
      * yarr/YarrJIT.h: Renamed from Source/JavaScriptCore/yarr/RegexJIT.h.
      (JSC::Yarr::YarrCodeBlock::YarrCodeBlock):
      (JSC::Yarr::YarrCodeBlock::~YarrCodeBlock):
      (JSC::Yarr::YarrCodeBlock::setFallBack):
      (JSC::Yarr::YarrCodeBlock::isFallBack):
      (JSC::Yarr::YarrCodeBlock::set):
      (JSC::Yarr::YarrCodeBlock::execute):
      (JSC::Yarr::YarrCodeBlock::getAddr):
      (JSC::Yarr::execute):
      * yarr/YarrParser.h: Renamed from Source/JavaScriptCore/yarr/RegexParser.h.
      (JSC::Yarr::Parser::CharacterClassParserDelegate::CharacterClassParserDelegate):
      (JSC::Yarr::Parser::CharacterClassParserDelegate::begin):
      (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter):
      (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass):
      (JSC::Yarr::Parser::CharacterClassParserDelegate::end):
      (JSC::Yarr::Parser::CharacterClassParserDelegate::assertionWordBoundary):
      (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBackReference):
      (JSC::Yarr::Parser::Parser):
      (JSC::Yarr::Parser::parseEscape):
      (JSC::Yarr::Parser::parseAtomEscape):
      (JSC::Yarr::Parser::parseCharacterClassEscape):
      (JSC::Yarr::Parser::parseCharacterClass):
      (JSC::Yarr::Parser::parseParenthesesBegin):
      (JSC::Yarr::Parser::parseParenthesesEnd):
      (JSC::Yarr::Parser::parseQuantifier):
      (JSC::Yarr::Parser::parseTokens):
      (JSC::Yarr::Parser::parse):
      (JSC::Yarr::Parser::saveState):
      (JSC::Yarr::Parser::restoreState):
      (JSC::Yarr::Parser::atEndOfPattern):
      (JSC::Yarr::Parser::peek):
      (JSC::Yarr::Parser::peekIsDigit):
      (JSC::Yarr::Parser::peekDigit):
      (JSC::Yarr::Parser::consume):
      (JSC::Yarr::Parser::consumeDigit):
      (JSC::Yarr::Parser::consumeNumber):
      (JSC::Yarr::Parser::consumeOctal):
      (JSC::Yarr::Parser::tryConsume):
      (JSC::Yarr::Parser::tryConsumeHex):
      (JSC::Yarr::parse):
      * yarr/YarrPattern.cpp: Renamed from Source/JavaScriptCore/yarr/RegexPattern.cpp.
      (JSC::Yarr::CharacterClassConstructor::CharacterClassConstructor):
      (JSC::Yarr::CharacterClassConstructor::reset):
      (JSC::Yarr::CharacterClassConstructor::append):
      (JSC::Yarr::CharacterClassConstructor::putChar):
      (JSC::Yarr::CharacterClassConstructor::isUnicodeUpper):
      (JSC::Yarr::CharacterClassConstructor::isUnicodeLower):
      (JSC::Yarr::CharacterClassConstructor::putRange):
      (JSC::Yarr::CharacterClassConstructor::charClass):
      (JSC::Yarr::CharacterClassConstructor::addSorted):
      (JSC::Yarr::CharacterClassConstructor::addSortedRange):
      (JSC::Yarr::BeginCharHelper::BeginCharHelper):
      (JSC::Yarr::BeginCharHelper::addBeginChar):
      (JSC::Yarr::BeginCharHelper::merge):
      (JSC::Yarr::BeginCharHelper::addCharacter):
      (JSC::Yarr::BeginCharHelper::linkHotTerms):
      (JSC::Yarr::YarrPatternConstructor::YarrPatternConstructor):
      (JSC::Yarr::YarrPatternConstructor::~YarrPatternConstructor):
      (JSC::Yarr::YarrPatternConstructor::reset):
      (JSC::Yarr::YarrPatternConstructor::assertionBOL):
      (JSC::Yarr::YarrPatternConstructor::assertionEOL):
      (JSC::Yarr::YarrPatternConstructor::assertionWordBoundary):
      (JSC::Yarr::YarrPatternConstructor::atomPatternCharacter):
      (JSC::Yarr::YarrPatternConstructor::atomBuiltInCharacterClass):
      (JSC::Yarr::YarrPatternConstructor::atomCharacterClassBegin):
      (JSC::Yarr::YarrPatternConstructor::atomCharacterClassAtom):
      (JSC::Yarr::YarrPatternConstructor::atomCharacterClassRange):
      (JSC::Yarr::YarrPatternConstructor::atomCharacterClassBuiltIn):
      (JSC::Yarr::YarrPatternConstructor::atomCharacterClassEnd):
      (JSC::Yarr::YarrPatternConstructor::atomParenthesesSubpatternBegin):
      (JSC::Yarr::YarrPatternConstructor::atomParentheticalAssertionBegin):
      (JSC::Yarr::YarrPatternConstructor::atomParenthesesEnd):
      (JSC::Yarr::YarrPatternConstructor::atomBackReference):
      (JSC::Yarr::YarrPatternConstructor::copyDisjunction):
      (JSC::Yarr::YarrPatternConstructor::copyTerm):
      (JSC::Yarr::YarrPatternConstructor::quantifyAtom):
      (JSC::Yarr::YarrPatternConstructor::disjunction):
      (JSC::Yarr::YarrPatternConstructor::regexBegin):
      (JSC::Yarr::YarrPatternConstructor::regexEnd):
      (JSC::Yarr::YarrPatternConstructor::regexError):
      (JSC::Yarr::YarrPatternConstructor::setupAlternativeOffsets):
      (JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):
      (JSC::Yarr::YarrPatternConstructor::setupOffsets):
      (JSC::Yarr::YarrPatternConstructor::checkForTerminalParentheses):
      (JSC::Yarr::YarrPatternConstructor::optimizeBOL):
      (JSC::Yarr::YarrPatternConstructor::addBeginTerm):
      (JSC::Yarr::YarrPatternConstructor::setupDisjunctionBeginTerms):
      (JSC::Yarr::YarrPatternConstructor::setupAlternativeBeginTerms):
      (JSC::Yarr::YarrPatternConstructor::setupBeginChars):
      (JSC::Yarr::compile):
      (JSC::Yarr::YarrPattern::YarrPattern):
      * yarr/YarrPattern.h: Renamed from Source/JavaScriptCore/yarr/RegexPattern.h.
      (JSC::Yarr::CharacterRange::CharacterRange):
      (JSC::Yarr::CharacterClassTable::create):
      (JSC::Yarr::CharacterClassTable::CharacterClassTable):
      (JSC::Yarr::CharacterClass::CharacterClass):
      (JSC::Yarr::PatternTerm::PatternTerm):
      (JSC::Yarr::PatternTerm::ForwardReference):
      (JSC::Yarr::PatternTerm::BOL):
      (JSC::Yarr::PatternTerm::EOL):
      (JSC::Yarr::PatternTerm::WordBoundary):
      (JSC::Yarr::PatternTerm::invert):
      (JSC::Yarr::PatternTerm::capture):
      (JSC::Yarr::PatternTerm::quantify):
      (JSC::Yarr::PatternAlternative::PatternAlternative):
      (JSC::Yarr::PatternAlternative::lastTerm):
      (JSC::Yarr::PatternAlternative::removeLastTerm):
      (JSC::Yarr::PatternAlternative::setOnceThrough):
      (JSC::Yarr::PatternAlternative::onceThrough):
      (JSC::Yarr::PatternDisjunction::PatternDisjunction):
      (JSC::Yarr::PatternDisjunction::~PatternDisjunction):
      (JSC::Yarr::PatternDisjunction::addNewAlternative):
      (JSC::Yarr::TermChain::TermChain):
      (JSC::Yarr::BeginChar::BeginChar):
      (JSC::Yarr::YarrPattern::~YarrPattern):
      (JSC::Yarr::YarrPattern::reset):
      (JSC::Yarr::YarrPattern::containsIllegalBackReference):
      (JSC::Yarr::YarrPattern::newlineCharacterClass):
      (JSC::Yarr::YarrPattern::digitsCharacterClass):
      (JSC::Yarr::YarrPattern::spacesCharacterClass):
      (JSC::Yarr::YarrPattern::wordcharCharacterClass):
      (JSC::Yarr::YarrPattern::nondigitsCharacterClass):
      (JSC::Yarr::YarrPattern::nonspacesCharacterClass):
      (JSC::Yarr::YarrPattern::nonwordcharCharacterClass):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dd3056d
    • barraclough@apple.com's avatar
      Bug 52079 - Syntax errors should be early errors. · 7e6bd6d6
      barraclough@apple.com authored
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore: 
      
      From chapter 16 the spec:
          An implementation must report most errors at the time the relevant ECMAScript language construct is
          evaluated. An early error is an error that can be detected and reported prior to the evaluation of
          any construct in the Program containing the error. An implementation must report early errors in a
          Program prior to the first evaluation of that Program. Early errors in eval code are reported at
          the time eval is called but prior to evaluation of any construct within the eval code. All errors
          that are not early errors are runtime errors.
      
          An implementation must treat any instance of the following kinds of errors as an early error:
              * Any syntax error."
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
          Added new files.
      * bytecode/CodeBlock.cpp:
          Removed op_throw_syntax_error.
      * bytecode/Opcode.h:
          Removed op_throw_syntax_error.
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::generate):
          If m_expressionTooDeep then throw a runtime error.
      (JSC::BytecodeGenerator::BytecodeGenerator):
          Initialize m_expressionTooDeep.
      (JSC::BytecodeGenerator::emitThrowExpressionTooDeepException):
          Sets m_expressionTooDeep.
      * bytecompiler/BytecodeGenerator.h:
          Added m_expressionTooDeep, removed emitThrowSyntaxError.
      * bytecompiler/NodesCodegen.cpp:
      (JSC::RegExpNode::emitBytecode):
      (JSC::ContinueNode::emitBytecode):
      (JSC::BreakNode::emitBytecode):
      (JSC::ReturnNode::emitBytecode):
      (JSC::LabelNode::emitBytecode):
          Conditions that threw syntax error are now handled during parsing;
          during bytecompilation these are now just ASSERTs.
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * jit/JIT.h:
      * jit/JITOpcodes.cpp:
      * jit/JITOpcodes32_64.cpp:
      * jit/JITStubs.cpp:
      * jit/JITStubs.h:
          Removed op_throw_syntax_error.
      * parser/ASTBuilder.h:
      (JSC::ASTBuilder::createRegExp):
          Renamed; added syntax check.
      * parser/JSParser.cpp:
      (JSC::JSParser::breakIsValid):
      (JSC::JSParser::hasLabel):
      (JSC::JSParser::Scope::Scope):
      (JSC::JSParser::Scope::setIsFunction):
      (JSC::JSParser::Scope::isFunctionBoundary):
      (JSC::JSParser::ScopeRef::hasContainingScope):
      (JSC::JSParser::ScopeRef::containingScope):
      (JSC::JSParser::AutoPopScopeRef::AutoPopScopeRef):
      (JSC::JSParser::AutoPopScopeRef::~AutoPopScopeRef):
      (JSC::JSParser::AutoPopScopeRef::setPopped):
      (JSC::JSParser::popScopeInternal):
      (JSC::JSParser::popScope):
      (JSC::jsParse):
      (JSC::JSParser::JSParser):
      (JSC::JSParser::parseProgram):
      (JSC::JSParser::parseBreakStatement):
      (JSC::JSParser::parseContinueStatement):
      (JSC::JSParser::parseReturnStatement):
      (JSC::JSParser::parseTryStatement):
      (JSC::JSParser::parseFunctionInfo):
      (JSC::JSParser::parseExpressionOrLabelStatement):
      (JSC::JSParser::parsePrimaryExpression):
      * parser/JSParser.h:
      * parser/Nodes.h:
      * parser/Parser.cpp:
      (JSC::Parser::parse):
      * parser/SyntaxChecker.h:
      (JSC::SyntaxChecker::createRegExp):
          Renamed; added syntax check.
      * runtime/ExceptionHelpers.cpp:
      (JSC::createOutOfMemoryError):
      (JSC::throwOutOfMemoryError):
      * runtime/ExceptionHelpers.h:
          Broke out createOutOfMemoryError.
      * runtime/Executable.cpp:
      (JSC::EvalExecutable::compileInternal):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::FunctionExecutable::compileForCallInternal):
      (JSC::FunctionExecutable::compileForConstructInternal):
          Add check for exception after bytecode generation.
      * runtime/RegExpConstructor.cpp:
      (JSC::constructRegExp):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncCompile):
          RegExp error prefixes not included in error string.
      * yarr/RegexParser.h:
      (JSC::Yarr::Parser::parse):
          Removed regexBegin/regexEnd/regexError.
      * yarr/RegexPattern.cpp:
      (JSC::Yarr::RegexPatternConstructor::regexBegin):
          Removed regexEnd/regexError.
      (JSC::Yarr::compileRegex):
          Add call to regexBegin (no longer called from the parser).
      * yarr/YarrSyntaxChecker.cpp: Added.
      (JSC::Yarr::SyntaxChecker::assertionBOL):
      (JSC::Yarr::SyntaxChecker::assertionEOL):
      (JSC::Yarr::SyntaxChecker::assertionWordBoundary):
      (JSC::Yarr::SyntaxChecker::atomPatternCharacter):
      (JSC::Yarr::SyntaxChecker::atomBuiltInCharacterClass):
      (JSC::Yarr::SyntaxChecker::atomCharacterClassBegin):
      (JSC::Yarr::SyntaxChecker::atomCharacterClassAtom):
      (JSC::Yarr::SyntaxChecker::atomCharacterClassRange):
      (JSC::Yarr::SyntaxChecker::atomCharacterClassBuiltIn):
      (JSC::Yarr::SyntaxChecker::atomCharacterClassEnd):
      (JSC::Yarr::SyntaxChecker::atomParenthesesSubpatternBegin):
      (JSC::Yarr::SyntaxChecker::atomParentheticalAssertionBegin):
      (JSC::Yarr::SyntaxChecker::atomParenthesesEnd):
      (JSC::Yarr::SyntaxChecker::atomBackReference):
      (JSC::Yarr::SyntaxChecker::quantifyAtom):
      (JSC::Yarr::SyntaxChecker::disjunction):
      (JSC::Yarr::checkSyntax):
      * yarr/YarrSyntaxChecker.h: Added.
          Check RegExp syntax.
      
      LayoutTests: 
      
      Fix syntax errors in layout tests, and update expected results.
      
      * editing/selection/select-crash-001.html:
      * editing/selection/select-crash-002.html:
      * fast/canvas/webgl/renderbuffer-initialization.html:
      * fast/forms/25153.html:
      * fast/forms/textfield-drag-into-disabled.html:
      * fast/js/exception-codegen-crash-expected.txt:
      * fast/js/exception-codegen-crash.html:
      * fast/js/kde/parse-expected.txt:
      * fast/js/kde/script-tests/parse.js:
      * fast/js/large-expressions-expected.txt:
      * fast/js/named-function-expression-expected.txt:
      * fast/js/parser-syntax-check-expected.txt:
      * fast/js/script-tests/large-expressions.js:
      * fast/js/script-tests/named-function-expression.js:
      * fast/js/script-tests/parser-syntax-check.js:
      * fast/js/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11.1_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12.1_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A1_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A1_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A1_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A1_T4-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A5_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A5_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A5_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A6-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A8_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.7_The_continue_Statement/S12.7_A8_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A1_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A1_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A1_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A1_T4-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A5_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A5_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A5_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A6-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A8_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.8_The_break_Statement/S12.8_A8_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T1-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T10-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T2-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T3-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T4-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T5-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T6-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T7-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T8-expected.txt:
      * fast/js/sputnik/Conformance/12_Statement/12.9_The_return_Statement/S12.9_A1_T9-expected.txt:
      * http/tests/security/isolatedWorld/events.html:
      * http/tests/security/isolatedWorld/userGestureEvents.html:
      * svg/custom/resources/use-instanceRoot-event-listeners.js:
      * svg/custom/rgbcolor-syntax.svg:
      * svg/custom/use-instanceRoot-modifications.svg:
      * svg/custom/use-property-changes-through-svg-dom.svg:
      * webarchive/adopt-attribute-styled-body-webarchive-expected.webarchive:
      * webarchive/resources/adopt-attribute-styled-body-iframe.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e6bd6d6
  26. 08 Jan, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-01-07 Geoffrey Garen <ggaren@apple.com> · bde96098
      ggaren@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Split machine stack marking functions into their own class (MachineStackMarker)
              https://bugs.webkit.org/show_bug.cgi?id=52088
      
              * API/APIShims.h:
              (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Moved registerThread()
              call behind an #ifdef because we shouldn't be registering threads at all
              if we don't support usage on multiple threads.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj: Updated projects.
      
              * runtime/Collector.cpp:
              (JSC::Heap::Heap):
              (JSC::Heap::destroy):
              (JSC::Heap::markRoots):
              * runtime/Collector.h:
              (JSC::Heap::machineStackMarker): Moved code to machineStackMarker.
      
              * runtime/JSGlobalData.h:
              (JSC::JSGlobalData::makeUsableFromMultipleThreads): Removed an unnecessary
              level of indirection, to make Heap less of a God class.
      
              * runtime/MachineStackMarker.h: Copied from Source/JavaScriptCore/runtime/Collector.h.
              * runtime/MachineStackMarker.cpp: Copied from Source/JavaScriptCore/runtime/Collector.cpp.
              (JSC::MachineStackMarker::MachineStackMarker):
              (JSC::MachineStackMarker::~MachineStackMarker):
              (JSC::MachineStackMarker::makeUsableFromMultipleThreads):
              (JSC::MachineStackMarker::registerThread):
              (JSC::MachineStackMarker::unregisterThread):
              (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
              (JSC::MachineStackMarker::markCurrentThreadConservatively):
              (JSC::MachineStackMarker::markOtherThreadConservatively):
              (JSC::MachineStackMarker::markMachineStackConservatively): Moved code from Heap.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bde96098
  27. 05 Jan, 2011 1 commit
    • sfalken@apple.com's avatar
      2011-01-05 Steve Falkenburg <sfalken@apple.com> · 3bc314c4
      sfalken@apple.com authored
              Reviewed by Darin Adler.
      
              Debug and Release builds on Windows clobber each other
              https://bugs.webkit.org/show_bug.cgi?id=49185
      
              Changes the structure of WebKitBuild build products directory so we
              completely separate each build configuration into independent directories.
              
              Although we previously had per-configuration directories for obj, this change adds
              per-configuration directories for bin, lib, obj, and include. Each configuration's
              build products are stored within a directory inside of WebKitBuild.
              
              Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
              defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
      
              * win/tools/vsprops/common.vsprops: 
      2011-01-05  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Darin Adler.
      
              Debug and Release builds on Windows clobber each other
              https://bugs.webkit.org/show_bug.cgi?id=49185
      
              Changes the structure of WebKitBuild build products directory so we
              completely separate each build configuration into independent directories.
              
              Although we previously had per-configuration directories for obj, this change adds
              per-configuration directories for bin, lib, obj, and include. Each configuration's
              build products are stored within a directory inside of WebKitBuild.
              
              Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
              defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
      
              * WebKit.vcproj/InterfacesCommon.vsprops:
              * WebKit.vcproj/InterfacesPostBuild.cmd:
              * WebKit.vcproj/InterfacesPreBuild.cmd:
              * WebKit.vcproj/WebKit.make:
              * WebKit.vcproj/WebKitGUID.vcproj:
              * WebKit.vcproj/WebKitGUIDCommon.vsprops:
              * WebKit.vcproj/WebKitGUIDPostBuild.cmd:
              * WebKit.vcproj/WebKitGUIDPreBuild.cmd:
              * WebKit.vcproj/WebKitLibCommon.vsprops:
              * WebKit.vcproj/WebKitLibPostBuild.cmd:
              * WebKit.vcproj/WebKitLibPreBuild.cmd:
      2011-01-05  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Darin Adler.
      
              Debug and Release builds on Windows clobber each other
              https://bugs.webkit.org/show_bug.cgi?id=49185
      
              Changes the structure of WebKitBuild build products directory so we
              completely separate each build configuration into independent directories.
              
              Although we previously had per-configuration directories for obj, this change adds
              per-configuration directories for bin, lib, obj, and include. Each configuration's
              build products are stored within a directory inside of WebKitBuild.
              
              Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
              defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
      
              * WebCore.vcproj/QTMovieWinCommon.vsprops:
              * WebCore.vcproj/QTMovieWinPostBuild.cmd:
              * WebCore.vcproj/QTMovieWinPreBuild.cmd:
              * WebCore.vcproj/WebCore.make:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/WebCoreCommon.vsprops:
              * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
              * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
              * WebCore.vcproj/WebCoreMediaQT.vsprops:
              * WebCore.vcproj/WebCorePostBuild.cmd:
              * WebCore.vcproj/WebCorePreBuild.cmd:
              * WebCore.vcproj/copyForwardingHeaders.cmd:
              * WebCore.vcproj/copyInspectorFiles.cmd:
      2011-01-05  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Darin Adler.
      
              Debug and Release builds on Windows clobber each other
              https://bugs.webkit.org/show_bug.cgi?id=49185
              
              Changes the structure of WebKitBuild build products directory so we
              completely separate each build configuration into independent directories.
              
              Although we previously had per-configuration directories for obj, this change adds
              per-configuration directories for bin, lib, obj, and include. Each configuration's
              build products are stored within a directory inside of WebKitBuild.
              
              Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
              defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
              
              For PGO, $(ConfigurationBuildDir) points to the same directory (Release_PGO) to allow
              for proper operation of the instrumentation/optimization scripts.
      
              * JavaScriptCore.vcproj/JavaScriptCore.make:
              * JavaScriptCore.vcproj/JavaScriptCore.sln:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops: Added.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePostBuild.cmd:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePreBuild.cmd:
              * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
              * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
              * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
              * JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd:
              * JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd:
              * JavaScriptCore.vcproj/jsc/jsc.vcproj:
              * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
              * JavaScriptCore.vcproj/jsc/jscPostBuild.cmd:
              * JavaScriptCore.vcproj/jsc/jscPreBuild.cmd:
              * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
              * JavaScriptCore.vcproj/testapi/testapiPostBuild.cmd:
              * JavaScriptCore.vcproj/testapi/testapiPreBuild.cmd:
      2011-01-05  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Darin Adler.
      
              Debug and Release builds on Windows clobber each other
              https://bugs.webkit.org/show_bug.cgi?id=49185
      
              Changes the structure of WebKitBuild build products directory so we
              completely separate each build configuration into independent directories.
              
              Although we previously had per-configuration directories for obj, this change adds
              per-configuration directories for bin, lib, obj, and include. Each configuration's
              build products are stored within a directory inside of WebKitBuild.
              
              Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
              defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
      
              * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops:
              * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPostBuild.cmd:
              * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginPreBuild.cmd:
              * DumpRenderTree/win/DumpRenderTreeCommon.vsprops:
              * DumpRenderTree/win/DumpRenderTreePostBuild.cmd:
              * DumpRenderTree/win/DumpRenderTreePreBuild.cmd:
              * DumpRenderTree/win/ImageDiffCommon.vsprops:
              * DumpRenderTree/win/ImageDiffPostBuild.cmd:
              * DumpRenderTree/win/ImageDiffPreBuild.cmd:
              * FindSafari/FindSafari.vcproj:
              * MiniBrowser/Configurations/MiniBrowserCommon.vsprops:
              * MiniBrowser/MiniBrowserPostBuild.cmd:
              * MiniBrowser/MiniBrowserPreBuild.cmd:
              * Scripts/webkitdirs.pm:
              * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops:
              * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops:
              * TestWebKitAPI/win/TestWebKitAPIPostBuild.cmd:
              * TestWebKitAPI/win/TestWebKitAPIPreBuild.cmd:
              * TestWebKitAPI/win/copy-resources.cmd:
              * WebKitAPITest/WebKitAPITestCommon.vsprops:
              * WebKitAPITest/WebKitAPITestPostBuild.cmd:
              * WebKitAPITest/WebKitAPITestPreBuild.cmd:
              * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops:
              * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops:
              * WebKitTestRunner/win/InjectedBundle.vcproj:
              * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops:
              * WebKitTestRunner/win/InjectedBundlePostBuild.cmd:
              * WebKitTestRunner/win/InjectedBundlePreBuild.cmd:
              * WebKitTestRunner/win/WebKitTestRunnerPostBuild.cmd:
              * WebKitTestRunner/win/WebKitTestRunnerPreBuild.cmd:
              * WinLauncher/WinLauncherCommon.vsprops:
              * WinLauncher/WinLauncherPostBuild.cmd:
              * WinLauncher/WinLauncherPreBuild.cmd:
      2011-01-05  Steve Falkenburg  <sfalken@apple.com>
      
              Reviewed by Darin Adler.
      
              Debug and Release builds on Windows clobber each other
              https://bugs.webkit.org/show_bug.cgi?id=49185
      
              Changes the structure of WebKitBuild build products directory so we
              completely separate each build configuration into independent directories.
              
              Although we previously had per-configuration directories for obj, this change adds
              per-configuration directories for bin, lib, obj, and include. Each configuration's
              build products are stored within a directory inside of WebKitBuild.
              
              Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
              defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
      
              * win/WebKit2.make:
              * win/WebKit2.vcproj:
              * win/WebKit2Common.vsprops:
              * win/WebKit2Generated.make:
              * win/WebKit2GeneratedCommon.vsprops:
              * win/WebKit2WebProcessPostBuild.cmd:
              * win/WebKit2WebProcessPreBuild.cmd:
              * win/WebKitPostBuild.cmd:
              * win/WebKitPreBuild.cmd:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bc314c4
  28. 02 Jan, 2011 1 commit
  29. 01 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move JavaScriptCore to Source · 76da8fc1
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=51604
      
      Reviewed by Eric Seidel.
      
      Update references to JavaScriptCore to point to the new location.
      
      * Android.mk:
      * CMakeLists.txt:
      * DerivedSources.pro:
      * GNUmakefile.am:
      * Makefile:
      * WebKit.pri:
      * WebKit.pro:
      * wscript:
      
      Tools: 
      
      Update references to JavaScriptCore to point to the new location.
      
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      * DumpRenderTree/qt/DumpRenderTree.pro:
      * DumpRenderTree/qt/ImageDiff.pro:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * DumpRenderTree/wscript:
      * Scripts/build-jsc:
      * Scripts/build-webkit:
      * Scripts/do-file-rename:
      * Scripts/do-webcore-rename:
      * Scripts/run-javascriptcore-tests:
      * Scripts/update-javascriptcore-test-results:
      * Scripts/webkitdirs.pm:
      * Scripts/webkitpy/common/config/build_unittest.py:
      * Scripts/webkitpy/style/checker.py:
      * Scripts/webkitpy/style/checker_unittest.py:
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
      * WebKitTestRunner/qt/WebKitTestRunner.pro:
      * wx/build/settings.py:
      
      WebCore: 
      
      Update references to JavaScriptCore.
      
      * Android.derived.jscbindings.mk:
      * Android.v8bindings.mk:
      * CMakeLists.txt:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.pro:
        - These changes are subtle and might not be 100% correct.
      * move-js-headers.sh:
      
      WebKit/chromium: 
      
      * WebKit.gyp:
        - Point to JavaScriptCore in its new location.
      
      WebKit/gtk: 
      
      * GNUmakefile.am:
      * docs/GNUmakefile.am:
        - Point to JavaScriptCore in its new location.
      
      WebKit/qt: 
      
      * WebKit_pch.h:
      * docs/qtwebkit.qdocconf:
        - Point to JavaScriptCore in its new location.
      
      WebKit/win: 
      
      * WebKit.vcproj/WebKit.sln:
        - Point to JavaScriptCore in its new location.
      
      WebKit/wx: 
      
      * bindings/python/wscript:
      * wscript:
        - Point to JavaScriptCore in its new location.
      
      WebKit2: 
      
      * WebKit2.pro:
        - Point to JavaScriptCore in its new location.
      
      Websites/bugs.webkit.org: 
      
      * PrettyPatch/PrettyPatch.rb:
        - Remove reference to JavaScriptCore as a source directory.
      
      Websites/webkit.org: 
      
      * coding/assertion-guidelines.html:
        - Update documentation to point to the new location of
          JavaScriptCore.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76da8fc1
  30. 23 Dec, 2010 1 commit
    • barraclough@apple.com's avatar
      Rename RegexCompiler.cpp to RegexPattern.cpp. · a7502215
      barraclough@apple.com authored
      Implicitly call compileRegex from RegexPattern's constructor.
      
      Reviewed by Sam Weinig.
      
      * Android.mk:
      * CMakeLists.txt:
      * GNUmakefile.am:
      * JavaScriptCore.gypi:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/RegExp.cpp:
      (JSC::RegExp::compile):
      * yarr/RegexCompiler.cpp: Removed.
      * yarr/RegexCompiler.h: Removed.
      * yarr/RegexInterpreter.cpp:
      * yarr/RegexJIT.cpp:
      * yarr/RegexPattern.cpp: Copied from JavaScriptCore/yarr/RegexCompiler.cpp.
      (JSC::Yarr::compileRegex):
      (JSC::Yarr::RegexPattern::RegexPattern):
      * yarr/RegexPattern.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7502215
  31. 01 Dec, 2010 2 commits
    • sfalken@apple.com's avatar
      WinCairo build should not use link-time code generation (LTCG) · 212a4fc9
      sfalken@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50353
      
      Reviewed by Adam Roben.
      
      JavaScriptCore: 
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/WTF/WTF.vcproj:
      * JavaScriptCore.vcproj/jsc/jsc.vcproj:
      * JavaScriptCore.vcproj/testapi/testapi.vcproj:
      
      WebCore: 
      
      * WebCore.vcproj/QTMovieWin.vcproj:
      * WebCore.vcproj/WebCore.vcproj:
      
      WebKit/win: 
      
      * WebKit.vcproj/Interfaces.vcproj:
      * WebKit.vcproj/WebKit.vcproj:
      * WebKit.vcproj/WebKitGUID.vcproj:
      
      WebKit2: 
      
      * win/WebKit2.vcproj:
      * win/WebKit2WebProcess.vcproj:
      
      WebKitTools: 
      
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/win/DumpRenderTree.vcproj:
      * DumpRenderTree/win/ImageDiff.vcproj:
      * FindSafari/FindSafari.vcproj:
      * MiniBrowser/MiniBrowser.vcproj:
      * TestWebKitAPI/win/TestWebKitAPI.vcproj:
      * WebKitAPITest/WebKitAPITest.vcproj:
      * WebKitLauncherWin/WebKitLauncherWin.vcproj:
      * WebKitTestRunner/win/InjectedBundle.vcproj:
      * WebKitTestRunner/win/WebKitTestRunner.vcproj:
      * WinLauncher/WinLauncher.vcproj:
      * record-memory-win/record-memory-win.vcproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      212a4fc9
    • sfalken@apple.com's avatar
      .: vcproj changes can't be applied cleanly by the Windows EWS bot · 450e5514
      sfalken@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * .gitattributes:
      
      ANGLE: vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * src/libEGL/libEGL.vcproj: Added property svn:eol-style.
      * src/libGLESv2/libGLESv2.vcproj: Added property svn:eol-style.
      
      JavaScriptCore: 010-12-01  Steve Falkenburg  <sfalken@apple.com>
      
      Reviewed by Adam Roben.
      
      vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      * JavaScriptCore.vcproj/JavaScriptCore.sln: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops: Added property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops: Added property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Added property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops: Added property svn:eol-style.
      * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/WTF/WTF.vcproj: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: Added property svn:eol-style.
      * JavaScriptCore.vcproj/jsc/jsc.vcproj: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Added property svn:eol-style.
      * JavaScriptCore.vcproj/testapi/testapi.vcproj: Modified property svn:eol-style.
      * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops: Added property svn:eol-style.
      
      WebCore: vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * WebCore.vcproj/QTMovieWin.vcproj: Modified property svn:eol-style.
      * WebCore.vcproj/QTMovieWinCommon.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
      * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
      * WebCore.vcproj/WebCore.vcproj: Modified property svn:eol-style.
      * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreCG.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreCURL.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreCairo.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreCommon.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreGenerated.vcproj: Modified property svn:eol-style.
      * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreMediaQT.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCorePthreads.vsprops: Added property svn:eol-style.
      * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added property svn:eol-style.
      
      WebKit/win: vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * WebKit.vcproj/Interfaces.vcproj: Modified property svn:eol-style.
      * WebKit.vcproj/InterfacesCommon.vsprops: Added property svn:eol-style.
      * WebKit.vcproj/WebKit.sln: Modified property svn:eol-style.
      * WebKit.vcproj/WebKit.submit.sln: Modified property svn:eol-style.
      * WebKit.vcproj/WebKit.vcproj: Modified property svn:eol-style.
      * WebKit.vcproj/WebKitGUID.vcproj: Modified property svn:eol-style.
      * WebKit.vcproj/WebKitGUIDCommon.vsprops: Added property svn:eol-style.
      * WebKit.vcproj/WebKitLibCommon.vsprops: Added property svn:eol-style.
      
      WebKit2: vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * win/WebKit2.submit.sln: Added property svn:eol-style.
      * win/WebKit2.vcproj: Added property svn:eol-style.
      * win/WebKit2Apple.vsprops: Added property svn:eol-style.
      * win/WebKit2CFLite.vsprops: Added property svn:eol-style.
      * win/WebKit2Common.vsprops: Added property svn:eol-style.
      * win/WebKit2DirectX.vsprops: Added property svn:eol-style.
      * win/WebKit2Generated.vcproj: Added property svn:eol-style.
      * win/WebKit2GeneratedCommon.vsprops: Added property svn:eol-style.
      * win/WebKit2WebProcess.vcproj: Added property svn:eol-style.
      * win/WebKit2WebProcessCommon.vsprops: Added property svn:eol-style.
      
      WebKitLibraries: vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * win/tools/vsprops/WinCairo.vsprops: Added property svn:eol-style.
      * win/tools/vsprops/cURL.vsprops: Added property svn:eol-style.
      * win/tools/vsprops/debug_wincairo.vsprops: Added property svn:eol-style.
      
      WebKitTools: vcproj changes can't be applied cleanly by the Windows EWS bot
      https://bugs.webkit.org/show_bug.cgi?id=50328
      
      Reviewed by Adam Roben.
      
      * CLWrapper/CLWrapper.sln: Modified property svn:eol-style.
      * CLWrapper/CLWrapper.vcproj: Modified property svn:eol-style.
      * DumpRenderTree/DumpRenderTree.sln: Modified property svn:eol-style.
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops: Added property svn:eol-style.
      * DumpRenderTree/win/DumpRenderTree.vcproj: Modified property svn:eol-style.
      * DumpRenderTree/win/DumpRenderTreeApple.vsprops: Added property svn:eol-style.
      * DumpRenderTree/win/DumpRenderTreeCFLite.vsprops: Added property svn:eol-style.
      * DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Added property svn:eol-style.
      * DumpRenderTree/win/DumpRenderTreeCommon.vsprops: Added property svn:eol-style.
      * DumpRenderTree/win/ImageDiff.vcproj: Modified property svn:eol-style.
      * DumpRenderTree/win/ImageDiffCommon.vsprops: Added property svn:eol-style.
      * FindSafari/FindSafari.vcproj: Modified property svn:eol-style.
      * FindSafari/FindSafariCommon.vsprops: Added property svn:eol-style.
      * MIDLWrapper/MIDLWrapper.sln: Modified property svn:eol-style.
      * MIDLWrapper/MIDLWrapper.vcproj: Modified property svn:eol-style.
      * MiniBrowser/Configurations/MiniBrowserCFLite.vsprops: Added property svn:eol-style.
      * MiniBrowser/Configurations/MiniBrowserCommon.vsprops: Added property svn:eol-style.
      * MiniBrowser/Configurations/MiniBrowserCoreFoundation.vsprops: Added property svn:eol-style.
      * MiniBrowser/MiniBrowser.vcproj: Added property svn:eol-style.
      * TestWebKitAPI/Configurations/TestWebKitAPICFLite.vsprops: Added property svn:eol-style.
      * TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops: Added property svn:eol-style.
      * TestWebKitAPI/Configurations/TestWebKitAPICoreFoundation.vsprops: Added property svn:eol-style.
      * TestWebKitAPI/win/TestWebKitAPI.sln: Added property svn:eol-style.
      * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added property svn:eol-style.
      * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj: Added property svn:eol-style.
      * TestWebKitAPI/win/TestWebKitAPIGeneratedCommon.vsprops: Added property svn:eol-style.
      * WebKitAPITest/WebKitAPITest.vcproj: Added property svn:eol-style.
      * WebKitAPITest/WebKitAPITestCommon.vsprops: Added property svn:eol-style.
      * WebKitLauncherWin/WebKitLauncherWin.vcproj: Modified property svn:eol-style.
      * WebKitLauncherWin/WebKitLauncherWinCommon.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/Configurations/InjectedBundleCFLite.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/Configurations/InjectedBundleCommon.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/Configurations/InjectedBundleCoreFoundation.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/Configurations/WebKitTestRunnerCFLite.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/Configurations/WebKitTestRunnerCoreFoundation.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/WebKitTestRunner.sln: Added property svn:eol-style.
      * WebKitTestRunner/win/InjectedBundle.vcproj: Added property svn:eol-style.
      * WebKitTestRunner/win/InjectedBundleGenerated.vcproj: Added property svn:eol-style.
      * WebKitTestRunner/win/InjectedBundleGeneratedCommon.vsprops: Added property svn:eol-style.
      * WebKitTestRunner/win/WebKitTestRunner.vcproj: Added property svn:eol-style.
      * WinLauncher/WinLauncher.vcproj: Modified property svn:eol-style.
      * WinLauncher/WinLauncherCommon.vsprops: Added property svn:eol-style.
      * record-memory-win/record-memory-win-common.vsprops: Added property svn:eol-style.
      * record-memory-win/record-memory-win.vcproj: Modified property svn:eol-style.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      450e5514
  32. 22 Nov, 2010 1 commit
    • aroben@apple.com's avatar
      Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files · 89dd1f30
      aroben@apple.com authored
      Apple's Windows build allows placing header files and import libraries for WebKit's
      dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
      $WebKitLibrariesDir environment variable. This is both required for production builds and
      convenient for Apple-internal developer builds. Apple's production builds also require that
      WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
      builds, the files are copied into that directory tree by the
      WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
      copying is done by
      JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
      
      This .vsprops copying is problematic in one very important case: when a developer updates
      their source tree and then tries to build. Visual Studio only reads .vsprops files when a
      project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
      updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
      build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
      $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
      will proceed with out-of-date .vsprops files, which will likely result in a build failure.
      
      To fix this, we now use normal relative paths to access the .vsprops files in the source
      tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
      variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
      unset, so the normal relative paths are used to read the .vsprops files out of the source
      tree directly. In production builds, this environment variable is set to a fake directory
      that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
      is resolved.
      
      For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
      
      $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
      
      In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
      files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
      JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
      "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
      FeatureDefines.vsprops becomes:
      
      $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
      
      which resolves to:
      
      $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
      
      (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
      actually exist since they are matched by an equal number of ".." path components.)
      
      Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
      Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
      
      Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
      updated
      
      Reviewed by Dave Hyatt.
      
      JavaScriptCore:
      
      * JavaScriptCore.vcproj/JavaScriptCore.make: Set $WebKitVSPropsRedirectionDir so that
      production builds can find the .vsprops files.
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Stopy copying the
      .vsprops files. It isn't needed anymore.
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/WTF/WTF.vcproj:
      * JavaScriptCore.vcproj/jsc/jsc.vcproj:
      * JavaScriptCore.vcproj/testapi/testapi.vcproj:
      Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
      files.
      
      WebCore:
      
      * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
      production builds can find the .vsprops files.
      
      * WebCore.vcproj/QTMovieWin.vcproj:
      * WebCore.vcproj/WebCore.vcproj:
      Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
      files.
      
      WebKit/win:
      
      * WebKit.vcproj/WebKit.make: Set $WebKitVSPropsRedirectionDir so that production builds can
      find the .vsprops files.
      
      * WebKit.vcproj/WebKit.vcproj:
      * WebKit.vcproj/Interfaces.vcproj:
      * WebKit.vcproj/WebKitGUID.vcproj:
      Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
      files.
      
      WebKit2:
      
      * win/WebKit2.make: Set $WebKitVSPropsRedirectionDir so that production builds can
      find the .vsprops files.
      
      * win/WebKit2.vcproj:
      * win/WebKit2WebProcess.vcproj:
      Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
      files.
      
      WebKitLibraries:
      
      * win/tools/WinTools.make: Copy the shared .vsprops files into a directory tree beneath
      AppleInternal\tools\vsprops that matches the source directory tree. This allows production
      builds to redirect the relative paths used to find the shared .vsprops files into
      AppleInternal by setting $WebKitVSPropsRedirectionDir to the appropriate value.
      
      WebKitTools:
      
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/win/DumpRenderTree.vcproj:
      * DumpRenderTree/win/ImageDiff.vcproj:
      * FindSafari/FindSafari.vcproj:
      * MiniBrowser/MiniBrowser.vcproj:
      * TestWebKitAPI/win/TestWebKitAPI.vcproj:
      * TestWebKitAPI/win/TestWebKitAPIGenerated.vcproj:
      * WebKitAPITest/WebKitAPITest.vcproj:
      * WebKitLauncherWin/WebKitLauncherWin.vcproj:
      * WebKitTestRunner/win/InjectedBundle.vcproj:
      * WebKitTestRunner/win/WebKitTestRunner.vcproj:
      * WinLauncher/WinLauncher.vcproj:
      * record-memory-win/record-memory-win.vcproj:
      Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
      files.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89dd1f30