You need to sign in or sign up before continuing.
-
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
fpizlo@apple.com authoredhttps://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
Loading