<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[164746] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/164746">164746</a></dd>
<dt>Author</dt> <dd>mrowe@apple.com</dd>
<dt>Date</dt> <dd>2014-02-26 13:44:36 -0800 (Wed, 26 Feb 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Roll out <a href="http://trac.webkit.org/projects/webkit/changeset/164732">r164732</a> since it broke Production Mac builds.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreDerivedSourcesmake">trunk/Source/JavaScriptCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefileam">trunk/Source/JavaScriptCore/GNUmakefile.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefilelistam">trunk/Source/JavaScriptCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeOpcodeh">trunk/Source/JavaScriptCore/bytecode/Opcode.h</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntCLoopcpp">trunk/Source/JavaScriptCore/llint/LLIntCLoop.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntCLooph">trunk/Source/JavaScriptCore/llint/LLIntCLoop.h</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntDatacpp">trunk/Source/JavaScriptCore/llint/LLIntData.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntOpcodeh">trunk/Source/JavaScriptCore/llint/LLIntOpcode.h</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLowLevelInterpreterasm">trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm</a></li>
<li><a href="#trunkSourceWebKitCMakeListstxt">trunk/Source/WebKit/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2CMakeListstxt">trunk/Source/WebKit2/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCorebytecodeBytecodeListjson">trunk/Source/JavaScriptCore/bytecode/BytecodeList.json</a></li>
<li><a href="#trunkSourceJavaScriptCoregeneratebytecodefiles">trunk/Source/JavaScriptCore/generate-bytecode-files</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -594,31 +594,24 @@
</span><span class="cx"> )
</span><span class="cx">
</span><span class="cx"> add_custom_command(
</span><del>- OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Bytecodes.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InitBytecodes.asm
- MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/generate-bytecode-files
- DEPENDS ${JAVASCRIPTCORE_DIR}/generate-bytecode-files bytecode/BytecodeList.json
- COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/generate-bytecode-files --bytecodes_h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Bytecodes.h --init_bytecodes_asm ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InitBytecodes.asm ${JAVASCRIPTCORE_DIR}/bytecode/BytecodeList.json
- VERBATIM)
-
- add_custom_command(
</del><span class="cx"> OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
</span><span class="cx"> MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/offlineasm/generate_offset_extractor.rb
</span><span class="cx"> DEPENDS ${LLINT_ASM} ${OFFLINE_ASM}
</span><span class="cx"> COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/generate_offset_extractor.rb ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
</span><span class="cx"> VERBATIM)
</span><span class="cx">
</span><del>- # We add the header files directly to the ADD_EXECUTABLE call instead of setting the
- # OBJECT_DEPENDS property in LLIntOffsetsExtractor.cpp because generate_offset_extractor.rb and
- # generate-bytecode-files may not regenerate the .h files in case the hash it calculates does not change.
- # In this case, if some of the dependencies specified in the ADD_CUSTOM_COMMANDs above have
- # changed the command will always be called because the mtime of the .h files will
- # always be older than that of their dependencies.
- # Additionally, setting the OBJECT_DEPENDS property will make the .h files a Makefile
</del><ins>+ # We add the header file directly to the ADD_EXECUTABLE call instead of setting the
+ # OBJECT_DEPENDS property in LLIntOffsetsExtractor.cpp because generate_offset_extractor.rb may
+ # not regenerate it in case the hash it calculates does not change.
+ # In this case, if some of the dependencies specified in the ADD_CUSTOM_COMMAND above have
+ # changed the command will always be called because the mtime of LLIntDesiredOffsets.h will
+ # always be older than that of its dependencies.
+ # Additionally, setting the OBJECT_DEPENDS property will make LLIntDesiredOffsets.h a Makefile
</ins><span class="cx"> # dependency of both LLIntOffsetsExtractor and LLIntOffsetsExtractor.cpp, so the command will
</span><del>- # actually be run multiple times!
</del><ins>+ # actually be run twice!
</ins><span class="cx"> add_executable(LLIntOffsetsExtractor
</span><span class="cx"> ${JAVASCRIPTCORE_DIR}/llint/LLIntOffsetsExtractor.cpp
</span><del>- ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Bytecodes.h
</del><ins>+ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
</ins><span class="cx"> )
</span><span class="cx"> target_link_libraries(LLIntOffsetsExtractor WTF)
</span><span class="cx">
</span><span class="lines">@@ -631,7 +624,7 @@
</span><span class="cx"> add_custom_command(
</span><span class="cx"> OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
</span><span class="cx"> MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb
</span><del>- DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InitBytecodes.asm
</del><ins>+ DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM}
</ins><span class="cx"> COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $<TARGET_FILE:LLIntOffsetsExtractor> ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
</span><span class="cx"> COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
</span><span class="cx"> VERBATIM)
</span><span class="lines">@@ -796,7 +789,6 @@
</span><span class="cx"> runtime/VM.h
</span><span class="cx">
</span><span class="cx"> ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
</span><del>- ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Bytecodes.h
</del><span class="cx"> )
</span><span class="cx">
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -50,45 +50,6 @@
</span><span class="cx"> (JSC::DFG::compileImpl):
</span><span class="cx"> * jit/JITOperations.cpp:
</span><span class="cx">
</span><del>-2014-02-26 Michael Saboff <msaboff@apple.com>
-
- Auto generate bytecode information for bytecode parser and LLInt
- https://bugs.webkit.org/show_bug.cgi?id=129181
-
- Reviewed by Mark Lam.
-
- Added new bytecode/BytecodeList.json that contains a list of bytecodes and related
- helpers. It also includes bytecode length and other information used to generate files.
- Added a new generator, generate-bytecode-files that generates Bytecodes.h and InitBytecodes.asm
- in DerivedSources/JavaScriptCore/.
-
- Added the generation of these files to the "DerivedSource" build step.
- Slighty changed the build order, since the Bytecodes.h file is needed by
- JSCLLIntOffsetsExtractor. Moved the offline assembly to a separate step since it needs
- to be run after JSCLLIntOffsetsExtractor.
-
- Made related changes to OPCODE macros and their use.
-
- * CMakeLists.txt:
- * DerivedSources.make:
- * GNUmakefile.am:
- * GNUmakefile.list.am:
- * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- * JavaScriptCore.vcxproj/copy-files.cmd:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/BytecodeList.json: Added.
- * bytecode/Opcode.h:
- (JSC::padOpcodeName):
- * generate-bytecode-files: Added.
- * llint/LLIntCLoop.cpp:
- (JSC::LLInt::CLoop::initialize):
- * llint/LLIntCLoop.h:
- * llint/LLIntData.cpp:
- (JSC::LLInt::initialize):
- * llint/LLIntOpcode.h:
- * llint/LowLevelInterpreter.asm:
-
</del><span class="cx"> 2014-02-26 Mark Lam <mark.lam@apple.com>
</span><span class="cx">
</span><span class="cx"> ASSERTION FAILED: m_heap->vm()->currentThreadIsHoldingAPILock() in inspector-protocol/*.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/DerivedSources.make (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/DerivedSources.make        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/DerivedSources.make        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -58,8 +58,6 @@
</span><span class="cx"> RegExpObject.lut.h \
</span><span class="cx"> StringConstructor.lut.h \
</span><span class="cx"> udis86_itab.h \
</span><del>- Bytecodes.h \
- InitBytecodes.asm \
</del><span class="cx"> JSCBuiltins \
</span><span class="cx"> #
</span><span class="cx">
</span><span class="lines">@@ -92,14 +90,7 @@
</span><span class="cx"> udis86_itab.h: $(JavaScriptCore)/disassembler/udis86/itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml
</span><span class="cx">         (PYTHONPATH=$(JavaScriptCore)/disassembler/udis86 python $(JavaScriptCore)/disassembler/udis86/itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml || exit 1)
</span><span class="cx">
</span><del>-# Bytecode files
</del><span class="cx">
</span><del>-Bytecodes.h: $(JavaScriptCore)/generate-bytecode-files $(JavaScriptCore)/bytecode/BytecodeList.json
-        python $(JavaScriptCore)/generate-bytecode-files --bytecodes_h Bytecodes.h $(JavaScriptCore)/bytecode/BytecodeList.json
-
-InitBytecodes.asm: $(JavaScriptCore)/generate-bytecode-files $(JavaScriptCore)/bytecode/BytecodeList.json
-        python $(JavaScriptCore)/generate-bytecode-files --init_bytecodes_asm InitBytecodes.asm $(JavaScriptCore)/bytecode/BytecodeList.json
-
</del><span class="cx"> # Inspector interfaces
</span><span class="cx">
</span><span class="cx"> INSPECTOR_DOMAINS = \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.am (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.am        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/GNUmakefile.am        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -95,12 +95,6 @@
</span><span class="cx">
</span><span class="cx"> $(shell mkdir -p DerivedSources/JavaScriptCore)
</span><span class="cx">
</span><del>-DerivedSources/JavaScriptCore/Bytecodes.h: $(srcdir)/Source/JavaScriptCore/generate-bytecode-files $(srcdir)/Source/JavaScriptCore/bytecode/BytecodeList.json
-        $(AM_V_GEN)$(PYTHON) $(srcdir)/Source/JavaScriptCore/generate-bytecode-files --bytecodes_h $@ $(srcdir)/Source/JavaScriptCore/bytecode/BytecodeList.json
-
-DerivedSources/JavaScriptCore/InitBytecodes.asm: $(srcdir)/Source/JavaScriptCore/generate-bytecode-files $(srcdir)/Source/JavaScriptCore/bytecode/BytecodeList.json
-        $(AM_V_GEN)$(PYTHON) $(srcdir)/Source/JavaScriptCore/generate-bytecode-files --init_bytecodes_asm $@ $(srcdir)/Source/JavaScriptCore/bytecode/BytecodeList.json
-
</del><span class="cx"> DerivedSources/JavaScriptCore/Lexer.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
</span><span class="cx">         $(AM_V_GEN)$(PERL) $^ > $@
</span><span class="cx">
</span><span class="lines">@@ -117,9 +111,9 @@
</span><span class="cx">         $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm $@
</span><span class="cx">         $(AM_V_at)touch $@
</span><span class="cx">
</span><del>-$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h DerivedSources/JavaScriptCore/Bytecodes.h
</del><ins>+$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h
</ins><span class="cx">
</span><del>-DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT) DerivedSources/JavaScriptCore/InitBytecodes.asm
</del><ins>+DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
</ins><span class="cx">         $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/asm.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@
</span><span class="cx">         $(AM_V_at)touch $@
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.list.am (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -34,8 +34,6 @@
</span><span class="cx">         DerivedSources/JavaScriptCore/RegExpObject.lut.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/RegExpPrototype.lut.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/StringConstructor.lut.h \
</span><del>-        DerivedSources/JavaScriptCore/Bytecodes.h \
-        DerivedSources/JavaScriptCore/InitBytecodes.asm \
</del><span class="cx">         DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/LLIntAssembly.h
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -1446,7 +1446,6 @@
</span><span class="cx"> <ClInclude Include="..\yarr\YarrSyntaxChecker.h" />
</span><span class="cx"> </ItemGroup>
</span><span class="cx"> <ItemGroup>
</span><del>- <None Include="..\bytecode\BytecodeList.json" />
</del><span class="cx"> <None Include="JavaScriptCorePostBuild.cmd">
</span><span class="cx"> <FileType>Document</FileType>
</span><span class="cx"> </None>
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -3336,9 +3336,6 @@
</span><span class="cx"> <None Include="JavaScriptCorePreLink.cmd" />
</span><span class="cx"> <None Include="JavaScriptCorePostBuild.cmd" />
</span><span class="cx"> <None Include="JavaScriptCorePreBuild.cmd" />
</span><del>- <None Include="..\bytecode\BytecodeList.json">
- <Filter>bytecode</Filter>
- </None>
</del><span class="cx"> </ItemGroup>
</span><span class="cx"> <ItemGroup>
</span><span class="cx"> <MASM Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\LowLevelInterpreterWin.asm" />
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -75,7 +75,6 @@
</span><span class="cx">
</span><span class="cx"> echo Copying builtins header as if it were a private header...
</span><span class="cx"> xcopy /y "%DerivedSourcesDirectory%\JSCBuiltins.h" "%PrivateHeadersDirectory%" >NUL
</span><del>-xcopy /y "%DerivedSourcesDirectory%\Bytecodes.h" "%PrivateHeadersDirectory%" >NUL
</del><span class="cx">
</span><span class="cx"> echo Copying resources...
</span><span class="cx"> mkdir "%ResourcesDirectory%" 2>NUL
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -29,18 +29,6 @@
</span><span class="cx">                         name = "Test Tools";
</span><span class="cx">                         productName = "Test Tools";
</span><span class="cx">                 };
</span><del>-                65788A9D18B409EB00C189FF /* Offline Assembler */ = {
-                        isa = PBXAggregateTarget;
-                        buildConfigurationList = 65788AA218B409EB00C189FF /* Build configuration list for PBXAggregateTarget "Offline Assembler" */;
-                        buildPhases = (
-                                65788AA018B409EB00C189FF /* Generate Offline Assembler */,
-                        );
-                        dependencies = (
-                                65788A9E18B409EB00C189FF /* PBXTargetDependency */,
-                        );
-                        name = "Offline Assembler";
-                        productName = "Offline Assembler";
-                };
</del><span class="cx">                 65FB3F6609D11E9100F49DEB /* Derived Sources */ = {
</span><span class="cx">                         isa = PBXAggregateTarget;
</span><span class="cx">                         buildConfigurationList = 65FB3F7709D11EBD00F49DEB /* Build configuration list for PBXAggregateTarget "Derived Sources" */;
</span><span class="lines">@@ -49,7 +37,7 @@
</span><span class="cx">                                 5D35DEE10C7C140B008648B2 /* Generate DTrace header */,
</span><span class="cx">                         );
</span><span class="cx">                         dependencies = (
</span><del>-                                65788AA918B40A3300C189FF /* PBXTargetDependency */,
</del><ins>+                                0FF922D614F46B600041A24E /* PBXTargetDependency */,
</ins><span class="cx">                         );
</span><span class="cx">                         name = "Derived Sources";
</span><span class="cx">                         productName = "Derived Sources";
</span><span class="lines">@@ -804,7 +792,6 @@
</span><span class="cx">                 651122FD14046A4C002B101D /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 932F5BD90822A1C700736975 /* JavaScriptCore.framework */; };
</span><span class="cx">                 651122FE14046A4C002B101D /* libedit.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5D8AD00E0D0EBE00F9C692 /* libedit.dylib */; };
</span><span class="cx">                 6511230714046B0A002B101D /* testRegExp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 651122E5140469BA002B101D /* testRegExp.cpp */; };
</span><del>-                6514F21918B3E1670098FF8B /* Bytecodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6514F21718B3E1670098FF8B /* Bytecodes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 65303D641447B9E100D3F904 /* ParserTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = 65303D631447B9E100D3F904 /* ParserTokens.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 6553A33117A1F1EE008CF6F3 /* CommonSlowPathsExceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6553A32F17A1F1EE008CF6F3 /* CommonSlowPathsExceptions.cpp */; };
</span><span class="cx">                 6553A33217A1F1EE008CF6F3 /* CommonSlowPathsExceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6553A33017A1F1EE008CF6F3 /* CommonSlowPathsExceptions.h */; };
</span><span class="lines">@@ -1466,6 +1453,13 @@
</span><span class="cx">                         remoteGlobalIDString = 0F4680A914BA7FD900BFE272;
</span><span class="cx">                         remoteInfo = "LLInt Offsets";
</span><span class="cx">                 };
</span><ins>+                0FF922D514F46B600041A24E /* PBXContainerItemProxy */ = {
+                        isa = PBXContainerItemProxy;
+                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                        proxyType = 1;
+                        remoteGlobalIDString = 0FF922C314F46B130041A24E;
+                        remoteInfo = JSCLLIntOffsetsExtractor;
+                };
</ins><span class="cx">                 5D69E911152BE5470028D720 /* PBXContainerItemProxy */ = {
</span><span class="cx">                         isa = PBXContainerItemProxy;
</span><span class="cx">                         containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
</span><span class="lines">@@ -1501,34 +1495,6 @@
</span><span class="cx">                         remoteGlobalIDString = 5D6B2A47152B9E17005231DE;
</span><span class="cx">                         remoteInfo = "Test Tools";
</span><span class="cx">                 };
</span><del>-                65788A9F18B409EB00C189FF /* PBXContainerItemProxy */ = {
-                        isa = PBXContainerItemProxy;
-                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                        proxyType = 1;
-                        remoteGlobalIDString = 0FF922C314F46B130041A24E;
-                        remoteInfo = JSCLLIntOffsetsExtractor;
-                };
-                65788AA818B40A3300C189FF /* PBXContainerItemProxy */ = {
-                        isa = PBXContainerItemProxy;
-                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                        proxyType = 1;
-                        remoteGlobalIDString = 0F4680A914BA7FD900BFE272;
-                        remoteInfo = "LLInt Offsets";
-                };
-                65788AAA18B40A3B00C189FF /* PBXContainerItemProxy */ = {
-                        isa = PBXContainerItemProxy;
-                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                        proxyType = 1;
-                        remoteGlobalIDString = 65FB3F6609D11E9100F49DEB;
-                        remoteInfo = "Derived Sources";
-                };
-                65788AAC18B40A7B00C189FF /* PBXContainerItemProxy */ = {
-                        isa = PBXContainerItemProxy;
-                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                        proxyType = 1;
-                        remoteGlobalIDString = 65788A9D18B409EB00C189FF;
-                        remoteInfo = "Offline Assembler";
-                };
</del><span class="cx">                 65FB3F7D09D11EF300F49DEB /* PBXContainerItemProxy */ = {
</span><span class="cx">                         isa = PBXContainerItemProxy;
</span><span class="cx">                         containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
</span><span class="lines">@@ -2270,10 +2236,6 @@
</span><span class="cx">                 6507D2970E871E4A00D7D896 /* JSTypeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTypeInfo.h; sourceTree = "<group>"; };
</span><span class="cx">                 651122E5140469BA002B101D /* testRegExp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = testRegExp.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 6511230514046A4C002B101D /* testRegExp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testRegExp; sourceTree = BUILT_PRODUCTS_DIR; };
</span><del>-                6514F21718B3E1670098FF8B /* Bytecodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bytecodes.h; sourceTree = "<group>"; };
-                6514F21818B3E1670098FF8B /* InitBytecodes.asm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm.asm; path = InitBytecodes.asm; sourceTree = "<group>"; };
-                6529FB3018B2D63900C61102 /* generate-bytecode-files */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = "generate-bytecode-files"; sourceTree = "<group>"; };
-                6529FB3118B2D99900C61102 /* BytecodeList.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BytecodeList.json; sourceTree = "<group>"; };
</del><span class="cx">                 652A3A201651C66100A80AFE /* ARM64Disassembler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ARM64Disassembler.cpp; path = disassembler/ARM64Disassembler.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 652A3A221651C69700A80AFE /* A64DOpcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = A64DOpcode.cpp; path = disassembler/ARM64/A64DOpcode.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 652A3A231651C69700A80AFE /* A64DOpcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = A64DOpcode.h; path = disassembler/ARM64/A64DOpcode.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -3092,7 +3054,6 @@
</span><span class="cx">                 0867D691FE84028FC02AAC07 /* JavaScriptCore */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                6529FB3018B2D63900C61102 /* generate-bytecode-files */,
</del><span class="cx">                                 8604F4F2143A6C4400B295F5 /* ChangeLog */,
</span><span class="cx">                                 F692A8540255597D01FF60F7 /* create_hash_table */,
</span><span class="cx">                                 A718F8211178EB4B002465A7 /* create_regex_tables */,
</span><span class="lines">@@ -3697,9 +3658,7 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 BC18C5230E16FC8A00B34460 /* ArrayPrototype.lut.h */,
</span><del>-                                6514F21718B3E1670098FF8B /* Bytecodes.h */,
</del><span class="cx">                                 BCD203E70E1718F4002C7E82 /* DatePrototype.lut.h */,
</span><del>-                                6514F21818B3E1670098FF8B /* InitBytecodes.asm */,
</del><span class="cx">                                 A513E5C6185F9436007E95AD /* InjectedScriptSource.h */,
</span><span class="cx">                                 A53243951856A475002ED692 /* InspectorJS.json */,
</span><span class="cx">                                 A53243961856A475002ED692 /* InspectorJSBackendCommands.js */,
</span><span class="lines">@@ -4559,7 +4518,6 @@
</span><span class="cx">                 969A078F0ED1D3AE00F1F681 /* bytecode */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                6529FB3118B2D99900C61102 /* BytecodeList.json */,
</del><span class="cx">                                 0F8335B41639C1E3001443B5 /* ArrayAllocationProfile.cpp */,
</span><span class="cx">                                 0F8335B51639C1E3001443B5 /* ArrayAllocationProfile.h */,
</span><span class="cx">                                 0F63945115D07051006A597C /* ArrayProfile.cpp */,
</span><span class="lines">@@ -4873,10 +4831,6 @@
</span><span class="cx">                                 A1A009C11831A26E00CF8711 /* ARM64Assembler.h in Headers */,
</span><span class="cx">                                 86D3B2C410156BDE002865E7 /* ARMAssembler.h in Headers */,
</span><span class="cx">                                 86ADD1450FDDEA980006EEC2 /* ARMv7Assembler.h in Headers */,
</span><del>-                                A5CEEE15187F3BAD00E55C99 /* InspectorAgent.h in Headers */,
-                                6514F21918B3E1670098FF8B /* Bytecodes.h in Headers */,
-                                2A343F7618A1748B0039B085 /* GCSegmentedArray.h in Headers */,
-                                2A343F7818A1749D0039B085 /* GCSegmentedArrayInlines.h in Headers */,
</del><span class="cx">                                 65C0285D1717966800351E35 /* ARMv7DOpcode.h in Headers */,
</span><span class="cx">                                 0F8335B81639C1EA001443B5 /* ArrayAllocationProfile.h in Headers */,
</span><span class="cx">                                 A7A8AF3517ADB5F3005AB174 /* ArrayBuffer.h in Headers */,
</span><span class="lines">@@ -5696,7 +5650,6 @@
</span><span class="cx">                         buildRules = (
</span><span class="cx">                         );
</span><span class="cx">                         dependencies = (
</span><del>-                                65788AAB18B40A3B00C189FF /* PBXTargetDependency */,
</del><span class="cx">                                 0FF922D314F46B2F0041A24E /* PBXTargetDependency */,
</span><span class="cx">                         );
</span><span class="cx">                         name = JSCLLIntOffsetsExtractor;
</span><span class="lines">@@ -5776,7 +5729,6 @@
</span><span class="cx">                         );
</span><span class="cx">                         dependencies = (
</span><span class="cx">                                 0FCEFABD1805D66300472CE4 /* PBXTargetDependency */,
</span><del>-                                65788AAD18B40A7B00C189FF /* PBXTargetDependency */,
</del><span class="cx">                                 65FB3F7E09D11EF300F49DEB /* PBXTargetDependency */,
</span><span class="cx">                         );
</span><span class="cx">                         name = JavaScriptCore;
</span><span class="lines">@@ -5828,16 +5780,15 @@
</span><span class="cx">                         targets = (
</span><span class="cx">                                 932F5BE30822A1C700736975 /* All */,
</span><span class="cx">                                 932F5B3E0822A1C700736975 /* JavaScriptCore */,
</span><del>-                                0FCEFAB51805D61600472CE4 /* llvmForJSC */,
-                                0F4680A914BA7FD900BFE272 /* LLInt Offsets */,
</del><span class="cx">                                 65FB3F6609D11E9100F49DEB /* Derived Sources */,
</span><del>-                                0FF922C314F46B130041A24E /* JSCLLIntOffsetsExtractor */,
-                                65788A9D18B409EB00C189FF /* Offline Assembler */,
</del><span class="cx">                                 1412111F0A48793C00480255 /* minidom */,
</span><span class="cx">                                 14BD59BE0A3E8F9000BAF59C /* testapi */,
</span><span class="cx">                                 932F5BDA0822A1C700736975 /* jsc */,
</span><span class="cx">                                 651122F714046A4C002B101D /* testRegExp */,
</span><ins>+                                0F4680A914BA7FD900BFE272 /* LLInt Offsets */,
+                                0FF922C314F46B130041A24E /* JSCLLIntOffsetsExtractor */,
</ins><span class="cx">                                 5D6B2A47152B9E17005231DE /* Test Tools */,
</span><ins>+                                0FCEFAB51805D61600472CE4 /* llvmForJSC */,
</ins><span class="cx">                         );
</span><span class="cx">                 };
</span><span class="cx"> /* End PBXProject section */
</span><span class="lines">@@ -5988,20 +5939,6 @@
</span><span class="cx">                         shellPath = /bin/sh;
</span><span class="cx">                         shellScript = "set -e\n\n# Skip for Production builds.\nif [[ ${CONFIGURATION:=Debug} == \"Production\" ]]; then\n exit\nfi\n\n# Copy and update the jsc binary to refer to JavaScriptCore.framework relative to its location.\nditto \"${BUILT_PRODUCTS_DIR}/jsc\" \"${BUILT_PRODUCTS_DIR}/${JAVASCRIPTCORE_RESOURCES_DIR}/jsc\"\ninstall_name_tool -change \"${JAVASCRIPTCORE_FRAMEWORKS_DIR}/JavaScriptCore.framework/Versions/A/JavaScriptCore\" \"@loader_path/../JavaScriptCore\" \"${BUILT_PRODUCTS_DIR}/${JAVASCRIPTCORE_RESOURCES_DIR}/jsc\"\n";
</span><span class="cx">                 };
</span><del>-                65788AA018B409EB00C189FF /* Generate Derived Sources */ = {
-                        isa = PBXShellScriptBuildPhase;
-                        buildActionMask = 2147483647;
-                        files = (
-                        );
-                        inputPaths = (
-                        );
-                        name = "Generate Derived Sources";
-                        outputPaths = (
-                        );
-                        runOnlyForDeploymentPostprocessing = 0;
-                        shellPath = /bin/sh;
-                        shellScript = "cd \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\n\n/usr/bin/env ruby JavaScriptCore/offlineasm/asm.rb JavaScriptCore/llint/LowLevelInterpreter.asm ${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor LLIntAssembly.h || exit 1";
-                };
</del><span class="cx">                 65FB3F6509D11E9100F49DEB /* Generate Derived Sources */ = {
</span><span class="cx">                         isa = PBXShellScriptBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -6014,7 +5951,7 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                         shellPath = /bin/sh;
</span><del>-                        shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\n\n/bin/ln -sfh \"${SRCROOT}\" JavaScriptCore\nexport JavaScriptCore=\"JavaScriptCore\"\nexport BUILT_PRODUCTS_DIR=\"../..\"\n\nmake --no-builtin-rules -f \"JavaScriptCore/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.ncpu`\n\nif [[ \"${ACTION}\" == \"installhdrs\" ]]; then\n exit 0\nfi";
</del><ins>+                        shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\n\n/bin/ln -sfh \"${SRCROOT}\" JavaScriptCore\nexport JavaScriptCore=\"JavaScriptCore\"\nexport BUILT_PRODUCTS_DIR=\"../..\"\n\nmake --no-builtin-rules -f \"JavaScriptCore/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.ncpu`\n\nif [[ \"${ACTION}\" == \"installhdrs\" ]]; then\n exit 0\nfi\n\n/usr/bin/env ruby JavaScriptCore/offlineasm/asm.rb JavaScriptCore/llint/LowLevelInterpreter.asm ${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor LLIntAssembly.h\n";
</ins><span class="cx">                 };
</span><span class="cx">                 A55DEAA416703DF7003DB841 /* Check For Inappropriate Macros in External Headers */ = {
</span><span class="cx">                         isa = PBXShellScriptBuildPhase;
</span><span class="lines">@@ -6647,6 +6584,11 @@
</span><span class="cx">                         target = 0F4680A914BA7FD900BFE272 /* LLInt Offsets */;
</span><span class="cx">                         targetProxy = 0FF922D214F46B2F0041A24E /* PBXContainerItemProxy */;
</span><span class="cx">                 };
</span><ins>+                0FF922D614F46B600041A24E /* PBXTargetDependency */ = {
+                        isa = PBXTargetDependency;
+                        target = 0FF922C314F46B130041A24E /* JSCLLIntOffsetsExtractor */;
+                        targetProxy = 0FF922D514F46B600041A24E /* PBXContainerItemProxy */;
+                };
</ins><span class="cx">                 5D69E912152BE5470028D720 /* PBXTargetDependency */ = {
</span><span class="cx">                         isa = PBXTargetDependency;
</span><span class="cx">                         target = 932F5BDA0822A1C700736975 /* jsc */;
</span><span class="lines">@@ -6672,26 +6614,6 @@
</span><span class="cx">                         target = 5D6B2A47152B9E17005231DE /* Test Tools */;
</span><span class="cx">                         targetProxy = 5D6B2A56152B9E2E005231DE /* PBXContainerItemProxy */;
</span><span class="cx">                 };
</span><del>-                65788A9E18B409EB00C189FF /* PBXTargetDependency */ = {
-                        isa = PBXTargetDependency;
-                        target = 0FF922C314F46B130041A24E /* JSCLLIntOffsetsExtractor */;
-                        targetProxy = 65788A9F18B409EB00C189FF /* PBXContainerItemProxy */;
-                };
-                65788AA918B40A3300C189FF /* PBXTargetDependency */ = {
-                        isa = PBXTargetDependency;
-                        target = 0F4680A914BA7FD900BFE272 /* LLInt Offsets */;
-                        targetProxy = 65788AA818B40A3300C189FF /* PBXContainerItemProxy */;
-                };
-                65788AAB18B40A3B00C189FF /* PBXTargetDependency */ = {
-                        isa = PBXTargetDependency;
-                        target = 65FB3F6609D11E9100F49DEB /* Derived Sources */;
-                        targetProxy = 65788AAA18B40A3B00C189FF /* PBXContainerItemProxy */;
-                };
-                65788AAD18B40A7B00C189FF /* PBXTargetDependency */ = {
-                        isa = PBXTargetDependency;
-                        target = 65788A9D18B409EB00C189FF /* Offline Assembler */;
-                        targetProxy = 65788AAC18B40A7B00C189FF /* PBXContainerItemProxy */;
-                };
</del><span class="cx">                 65FB3F7E09D11EF300F49DEB /* PBXTargetDependency */ = {
</span><span class="cx">                         isa = PBXTargetDependency;
</span><span class="cx">                         target = 65FB3F6609D11E9100F49DEB /* Derived Sources */;
</span><span class="lines">@@ -6979,42 +6901,6 @@
</span><span class="cx">                         };
</span><span class="cx">                         name = Production;
</span><span class="cx">                 };
</span><del>-                65788AA318B409EB00C189FF /* Debug */ = {
-                        isa = XCBuildConfiguration;
-                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
-                        buildSettings = {
-                                INFOPLIST_FILE = "Derived Sources copy-Info.plist";
-                                PRODUCT_NAME = "Derived Sources copy";
-                        };
-                        name = Debug;
-                };
-                65788AA418B409EB00C189FF /* Release */ = {
-                        isa = XCBuildConfiguration;
-                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
-                        buildSettings = {
-                                INFOPLIST_FILE = "Derived Sources copy-Info.plist";
-                                PRODUCT_NAME = "Derived Sources copy";
-                        };
-                        name = Release;
-                };
-                65788AA518B409EB00C189FF /* Profiling */ = {
-                        isa = XCBuildConfiguration;
-                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
-                        buildSettings = {
-                                INFOPLIST_FILE = "Derived Sources copy-Info.plist";
-                                PRODUCT_NAME = "Derived Sources copy";
-                        };
-                        name = Profiling;
-                };
-                65788AA618B409EB00C189FF /* Production */ = {
-                        isa = XCBuildConfiguration;
-                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
-                        buildSettings = {
-                                INFOPLIST_FILE = "Derived Sources copy-Info.plist";
-                                PRODUCT_NAME = "Derived Sources copy";
-                        };
-                        name = Production;
-                };
</del><span class="cx">                 65FB3F7809D11EBD00F49DEB /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><span class="cx">                         baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
</span><span class="lines">@@ -7215,17 +7101,6 @@
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><span class="cx">                         defaultConfigurationName = Production;
</span><span class="cx">                 };
</span><del>-                65788AA218B409EB00C189FF /* Build configuration list for PBXAggregateTarget "Offline Assembler" */ = {
-                        isa = XCConfigurationList;
-                        buildConfigurations = (
-                                65788AA318B409EB00C189FF /* Debug */,
-                                65788AA418B409EB00C189FF /* Release */,
-                                65788AA518B409EB00C189FF /* Profiling */,
-                                65788AA618B409EB00C189FF /* Production */,
-                        );
-                        defaultConfigurationIsVisible = 0;
-                        defaultConfigurationName = Production;
-                };
</del><span class="cx">                 65FB3F7709D11EBD00F49DEB /* Build configuration list for PBXAggregateTarget "Derived Sources" */ = {
</span><span class="cx">                         isa = XCConfigurationList;
</span><span class="cx">                         buildConfigurations = (
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeBytecodeListjson"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/bytecode/BytecodeList.json (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/BytecodeList.json        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/bytecode/BytecodeList.json        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -1,162 +0,0 @@
</span><del>-[
- {
- "section" : "Bytecodes", "emitInHFile" : true, "emitInASMFile" : true, "macroNameComponent" : "BYTECODE",
- "bytecodes" : [
- { "name" : "op_enter", "length" : 1 },
- { "name" : "op_create_activation", "length" : 2 },
- { "name" : "op_touch_entry", "length" : 1 },
- { "name" : "op_init_lazy_reg", "length" : 2 },
- { "name" : "op_create_arguments", "length" : 2 },
- { "name" : "op_create_this", "length" : 4 },
- { "name" : "op_get_callee", "length" : 3 },
- { "name" : "op_to_this", "length" : 3 },
- { "name" : "op_new_object", "length" : 4 },
- { "name" : "op_new_array", "length" : 5 },
- { "name" : "op_new_array_with_size", "length" : 4 },
- { "name" : "op_new_array_buffer", "length" : 5 },
- { "name" : "op_new_regexp", "length" : 3 },
- { "name" : "op_mov", "length" : 3 },
- { "name" : "op_captured_mov", "length" : 4 },
- { "name" : "op_not", "length" : 3 },
- { "name" : "op_eq", "length" : 4 },
- { "name" : "op_eq_null", "length" : 3 },
- { "name" : "op_neq", "length" : 4 },
- { "name" : "op_neq_null", "length" : 3 },
- { "name" : "op_stricteq", "length" : 4 },
- { "name" : "op_nstricteq", "length" : 4 },
- { "name" : "op_less", "length" : 4 },
- { "name" : "op_lesseq", "length" : 4 },
- { "name" : "op_greater", "length" : 4 },
- { "name" : "op_greatereq", "length" : 4 },
- { "name" : "op_inc", "length" : 2 },
- { "name" : "op_dec", "length" : 2 },
- { "name" : "op_to_number", "length" : 3 },
- { "name" : "op_negate", "length" : 3 },
- { "name" : "op_add", "length" : 5 },
- { "name" : "op_mul", "length" : 5 },
- { "name" : "op_div", "length" : 5 },
- { "name" : "op_mod", "length" : 4 },
- { "name" : "op_sub", "length" : 5 },
- { "name" : "op_lshift", "length" : 4 },
- { "name" : "op_rshift", "length" : 4 },
- { "name" : "op_urshift", "length" : 4 },
- { "name" : "op_unsigned", "length" : 3 },
- { "name" : "op_bitand", "length" : 5 },
- { "name" : "op_bitxor", "length" : 5 },
- { "name" : "op_bitor", "length" : 5 },
- { "name" : "op_check_has_instance", "length" : 5 },
- { "name" : "op_instanceof", "length" : 4 },
- { "name" : "op_typeof", "length" : 3 },
- { "name" : "op_is_undefined", "length" : 3 },
- { "name" : "op_is_boolean", "length" : 3 },
- { "name" : "op_is_number", "length" : 3 },
- { "name" : "op_is_string", "length" : 3 },
- { "name" : "op_is_object", "length" : 3 },
- { "name" : "op_is_function", "length" : 3 },
- { "name" : "op_in", "length" : 4 },
- { "name" : "op_init_global_const_nop", "length" : 5 },
- { "name" : "op_init_global_const", "length" : 5 },
- { "name" : "op_get_by_id", "length" : 9 },
- { "name" : "op_get_by_id_out_of_line", "length" : 9 },
- { "name" : "op_get_array_length", "length" : 9 },
- { "name" : "op_get_arguments_length", "length" : 4 },
- { "name" : "op_put_by_id", "length" : 9 },
- { "name" : "op_put_by_id_out_of_line", "length" : 9 },
- { "name" : "op_put_by_id_transition_direct", "length" : 9 },
- { "name" : "op_put_by_id_transition_direct_out_of_line", "length" : 9 },
- { "name" : "op_put_by_id_transition_normal", "length" : 9 },
- { "name" : "op_put_by_id_transition_normal_out_of_line", "length" : 9 },
- { "name" : "op_del_by_id", "length" : 4 },
- { "name" : "op_get_by_val", "length" : 6 },
- { "name" : "op_get_argument_by_val", "length" : 6 },
- { "name" : "op_get_by_pname", "length" : 7 },
- { "name" : "op_put_by_val", "length" : 5 },
- { "name" : "op_put_by_val_direct", "length" : 5 },
- { "name" : "op_del_by_val", "length" : 4 },
- { "name" : "op_put_by_index", "length" : 4 },
- { "name" : "op_put_getter_setter", "length" : 5 },
- { "name" : "op_jmp", "length" : 2 },
- { "name" : "op_jtrue", "length" : 3 },
- { "name" : "op_jfalse", "length" : 3 },
- { "name" : "op_jeq_null", "length" : 3 },
- { "name" : "op_jneq_null", "length" : 3 },
- { "name" : "op_jneq_ptr", "length" : 4 },
- { "name" : "op_jless", "length" : 4 },
- { "name" : "op_jlesseq", "length" : 4 },
- { "name" : "op_jgreater", "length" : 4 },
- { "name" : "op_jgreatereq", "length" : 4 },
- { "name" : "op_jnless", "length" : 4 },
- { "name" : "op_jnlesseq", "length" : 4 },
- { "name" : "op_jngreater", "length" : 4 },
- { "name" : "op_jngreatereq", "length" : 4 },
- { "name" : "op_loop_hint", "length" : 1 },
- { "name" : "op_switch_imm", "length" : 4 },
- { "name" : "op_switch_char", "length" : 4 },
- { "name" : "op_switch_string", "length" : 4 },
- { "name" : "op_new_func", "length" : 4 },
- { "name" : "op_new_captured_func", "length" : 4 },
- { "name" : "op_new_func_exp", "length" : 3 },
- { "name" : "op_call", "length" : 9 },
- { "name" : "op_call_eval", "length" : 9 },
- { "name" : "op_call_varargs", "length" : 9 },
- { "name" : "op_tear_off_activation", "length" : 2 },
- { "name" : "op_tear_off_arguments", "length" : 3 },
- { "name" : "op_ret", "length" : 2 },
- { "name" : "op_ret_object_or_this", "length" : 3 },
- { "name" : "op_construct", "length" : 9 },
- { "name" : "op_strcat", "length" : 4 },
- { "name" : "op_to_primitive", "length" : 3 },
- { "name" : "op_get_pnames", "length" : 6 },
- { "name" : "op_next_pname", "length" : 7 },
- { "name" : "op_resolve_scope", "length" : 6 },
- { "name" : "op_get_from_scope", "length" : 8 },
- { "name" : "op_put_to_scope", "length" : 7 },
- { "name" : "op_push_with_scope", "length" : 2 },
- { "name" : "op_pop_scope", "length" : 1 },
- { "name" : "op_push_name_scope", "length" : 4 },
- { "name" : "op_catch", "length" : 2 },
- { "name" : "op_throw", "length" : 2 },
- { "name" : "op_throw_static_error", "length" : 3 },
- { "name" : "op_debug", "length" : 3 },
- { "name" : "op_profile_will_call", "length" : 2 },
- { "name" : "op_profile_did_call", "length" : 2 },
- { "name" : "op_end", "length" : 2 }
- ]
- },
- {
- "section" : "NativeHelpers", "emitInHFile" : true, "emitInASMFile" : true, "defaultLength" : 1,
- "macroNameComponent" : "BYTECODE_HELPER", "emitDefineID" : true,
- "bytecodes" : [
- { "name" : "llint_program_prologue" },
- { "name" : "llint_eval_prologue" },
- { "name" : "llint_function_for_call_prologue" },
- { "name" : "llint_function_for_construct_prologue" },
- { "name" : "llint_function_for_call_arity_check" },
- { "name" : "llint_function_for_construct_arity_check" },
- { "name" : "llint_generic_return_point" },
- { "name" : "llint_throw_from_slow_path_trampoline" },
- { "name" : "llint_throw_during_call_trampoline" },
- { "name" : "llint_native_call_trampoline" },
- { "name" : "llint_native_construct_trampoline" }
- ]
- },
- {
- "section" : "CLoopHelpers", "emitInHFile" : true, "emitInASMFile" : false, "defaultLength" : 1,
- "macroNameComponent" : "CLOOP_BYTECODE_HELPER",
- "bytecodes" : [
- { "name" : "llint_c_loop_init" },
- { "name" : "getHostCallReturnValue" },
- { "name" : "llint_return_to_host" },
- { "name" : "llint_call_to_javascript" },
- { "name" : "llint_call_to_native_function" },
- { "name" : "handleUncaughtException" },
- { "name" : "llint_cloop_did_return_from_js_1" },
- { "name" : "llint_cloop_did_return_from_js_2" },
- { "name" : "llint_cloop_did_return_from_js_3" },
- { "name" : "llint_cloop_did_return_from_js_4" },
- { "name" : "llint_cloop_did_return_from_js_5" },
- { "name" : "llint_cloop_did_return_from_js_6" },
- { "name" : "llint_cloop_did_return_from_js_7" }
- ]
- }
-]
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeOpcodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/Opcode.h (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/Opcode.h        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/bytecode/Opcode.h        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> #ifndef Opcode_h
</span><span class="cx"> #define Opcode_h
</span><span class="cx">
</span><del>-#include "Bytecodes.h"
</del><span class="cx"> #include "LLIntOpcode.h"
</span><span class="cx">
</span><span class="cx"> #include <algorithm>
</span><span class="lines">@@ -41,8 +40,144 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx">
</span><span class="cx"> #define FOR_EACH_CORE_OPCODE_ID_WITH_EXTENSION(macro, extension__) \
</span><del>- FOR_EACH_BYTECODE_ID(macro) \
- extension__
</del><ins>+ macro(op_enter, 1) \
+ macro(op_create_activation, 2) \
+ macro(op_touch_entry, 1) \
+ macro(op_init_lazy_reg, 2) \
+ macro(op_create_arguments, 2) \
+ macro(op_create_this, 4) \
+ macro(op_get_callee, 3) \
+ macro(op_to_this, 3) \
+ \
+ macro(op_new_object, 4) \
+ macro(op_new_array, 5) \
+ macro(op_new_array_with_size, 4) \
+ macro(op_new_array_buffer, 5) \
+ macro(op_new_regexp, 3) \
+ macro(op_mov, 3) \
+ macro(op_captured_mov, 4) \
+ \
+ macro(op_not, 3) \
+ macro(op_eq, 4) \
+ macro(op_eq_null, 3) \
+ macro(op_neq, 4) \
+ macro(op_neq_null, 3) \
+ macro(op_stricteq, 4) \
+ macro(op_nstricteq, 4) \
+ macro(op_less, 4) \
+ macro(op_lesseq, 4) \
+ macro(op_greater, 4) \
+ macro(op_greatereq, 4) \
+ \
+ macro(op_inc, 2) \
+ macro(op_dec, 2) \
+ macro(op_to_number, 3) \
+ macro(op_negate, 3) \
+ macro(op_add, 5) \
+ macro(op_mul, 5) \
+ macro(op_div, 5) \
+ macro(op_mod, 4) \
+ macro(op_sub, 5) \
+ \
+ macro(op_lshift, 4) \
+ macro(op_rshift, 4) \
+ macro(op_urshift, 4) \
+ macro(op_unsigned, 3) \
+ macro(op_bitand, 5) \
+ macro(op_bitxor, 5) \
+ macro(op_bitor, 5) \
+ \
+ macro(op_check_has_instance, 5) \
+ macro(op_instanceof, 4) \
+ macro(op_typeof, 3) \
+ macro(op_is_undefined, 3) \
+ macro(op_is_boolean, 3) \
+ macro(op_is_number, 3) \
+ macro(op_is_string, 3) \
+ macro(op_is_object, 3) \
+ macro(op_is_function, 3) \
+ macro(op_in, 4) \
+ \
+ macro(op_init_global_const_nop, 5) \
+ macro(op_init_global_const, 5) \
+ macro(op_get_by_id, 9) /* has value profiling */ \
+ macro(op_get_by_id_out_of_line, 9) /* has value profiling */ \
+ macro(op_get_array_length, 9) /* has value profiling */ \
+ macro(op_get_arguments_length, 4) \
+ macro(op_put_by_id, 9) \
+ macro(op_put_by_id_out_of_line, 9) \
+ macro(op_put_by_id_transition_direct, 9) \
+ macro(op_put_by_id_transition_direct_out_of_line, 9) \
+ macro(op_put_by_id_transition_normal, 9) \
+ macro(op_put_by_id_transition_normal_out_of_line, 9) \
+ macro(op_del_by_id, 4) \
+ macro(op_get_by_val, 6) /* has value profiling */ \
+ macro(op_get_argument_by_val, 6) /* must be the same size as op_get_by_val */ \
+ macro(op_get_by_pname, 7) \
+ macro(op_put_by_val, 5) \
+ macro(op_put_by_val_direct, 5) \
+ macro(op_del_by_val, 4) \
+ macro(op_put_by_index, 4) \
+ macro(op_put_getter_setter, 5) \
+ \
+ macro(op_jmp, 2) \
+ macro(op_jtrue, 3) \
+ macro(op_jfalse, 3) \
+ macro(op_jeq_null, 3) \
+ macro(op_jneq_null, 3) \
+ macro(op_jneq_ptr, 4) \
+ macro(op_jless, 4) \
+ macro(op_jlesseq, 4) \
+ macro(op_jgreater, 4) \
+ macro(op_jgreatereq, 4) \
+ macro(op_jnless, 4) \
+ macro(op_jnlesseq, 4) \
+ macro(op_jngreater, 4) \
+ macro(op_jngreatereq, 4) \
+ \
+ macro(op_loop_hint, 1) \
+ \
+ macro(op_switch_imm, 4) \
+ macro(op_switch_char, 4) \
+ macro(op_switch_string, 4) \
+ \
+ macro(op_new_func, 4) \
+ macro(op_new_captured_func, 4) \
+ macro(op_new_func_exp, 3) \
+ macro(op_call, 9) /* has value profiling */ \
+ macro(op_call_eval, 9) /* has value profiling */ \
+ macro(op_call_varargs, 9) /* has value profiling */ \
+ macro(op_tear_off_activation, 2) \
+ macro(op_tear_off_arguments, 3) \
+ macro(op_ret, 2) \
+ macro(op_ret_object_or_this, 3) \
+ \
+ macro(op_construct, 9) \
+ macro(op_strcat, 4) \
+ macro(op_to_primitive, 3) \
+ \
+ macro(op_get_pnames, 6) \
+ macro(op_next_pname, 7) \
+ \
+ macro(op_resolve_scope, 6) \
+ macro(op_get_from_scope, 8) /* has value profiling */ \
+ macro(op_put_to_scope, 7) \
+ \
+ macro(op_push_with_scope, 2) \
+ macro(op_pop_scope, 1) \
+ macro(op_push_name_scope, 4) \
+ \
+ macro(op_catch, 2) \
+ macro(op_throw, 2) \
+ macro(op_throw_static_error, 3) \
+ \
+ macro(op_debug, 3) \
+ macro(op_profile_will_call, 2) \
+ macro(op_profile_did_call, 2) \
+ \
+ extension__ \
+ \
+ macro(op_end, 2) // end must be the last opcode in the list
</ins><span class="cx">
</span><span class="cx"> #define FOR_EACH_CORE_OPCODE_ID(macro) \
</span><span class="cx"> FOR_EACH_CORE_OPCODE_ID_WITH_EXTENSION(macro, /* No extension */ )
</span><span class="lines">@@ -59,11 +194,7 @@
</span><span class="cx"> #undef OPCODE_ID_ENUM
</span><span class="cx">
</span><span class="cx"> const int maxOpcodeLength = 9;
</span><del>-#if ENABLE(LLINT_C_LOOP)
-const int numOpcodeIDs = NUMBER_OF_BYTECODE_IDS + NUMBER_OF_BYTECODE_HELPER_IDS + NUMBER_OF_CLOOP_BYTECODE_HELPER_IDS;
-#else
-const int numOpcodeIDs = NUMBER_OF_BYTECODE_IDS;
-#endif
</del><ins>+const int numOpcodeIDs = op_end + 1;
</ins><span class="cx">
</span><span class="cx"> #define OPCODE_ID_LENGTHS(id, length) const int id##_length = length;
</span><span class="cx"> FOR_EACH_OPCODE_ID(OPCODE_ID_LENGTHS);
</span><span class="lines">@@ -75,7 +206,7 @@
</span><span class="cx"> const int opcodeLengths[numOpcodeIDs] = { FOR_EACH_OPCODE_ID(OPCODE_ID_LENGTH_MAP) };
</span><span class="cx"> #undef OPCODE_ID_LENGTH_MAP
</span><span class="cx">
</span><del>-#define VERIFY_OPCODE_ID(id, size) COMPILE_ASSERT(id <= numOpcodeIDs, ASSERT_THAT_JS_OPCODE_IDS_ARE_VALID);
</del><ins>+#define VERIFY_OPCODE_ID(id, size) COMPILE_ASSERT(id <= op_end, ASSERT_THAT_JS_OPCODE_IDS_ARE_VALID);
</ins><span class="cx"> FOR_EACH_OPCODE_ID(VERIFY_OPCODE_ID);
</span><span class="cx"> #undef VERIFY_OPCODE_ID
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoregeneratebytecodefiles"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/generate-bytecode-files (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/generate-bytecode-files        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/generate-bytecode-files        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -1,237 +0,0 @@
</span><del>-#! /usr/bin/python
-
-# Copyright (C) 2014 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This tool processes the bytecode list to create Bytecodes.h and InitBytecodes.asm
-
-import hashlib
-import json
-import optparse
-import os
-import re
-import sys
-
-cCopyrightMsg = """/*
-* Copyright (C) 2014 Apple Inc. All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* 2. Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-*
-* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-* Autogenerated from %s, do not modify.
-*/
-
-"""
-
-asmCopyrightMsg = """# Copyright (C) 2014 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Autogenerated from %s, do not modify.
-
-"""
-def openOrExit(path, mode):
- try:
- return open(path, mode)
- except IOError as e:
- print "I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror)
- exit(1)
-
-def hashFile(file):
- sha1 = hashlib.sha1()
- file.seek(0)
- for line in file:
- sha1.update(line)
-
- file.seek(0)
-
- return sha1.hexdigest()
-
-if __name__ == "__main__":
- parser = optparse.OptionParser(usage = "usage: %prog [--bytecodes_h <FILE>] [--init_bytecodes_asm <FILE>] <bytecode-json-file>")
- parser.add_option("-b", "--bytecodes_h", dest = "bytecodesHFileName", help = "generate bytecodes macro .h FILE", metavar = "FILE")
- parser.add_option("-a", "--init_bytecodes_asm", dest = "initASMFileName", help="generate ASM bytecodes init FILE", metavar = "FILE")
- (options, args) = parser.parse_args()
-
- if len(args) != 1:
- parser.error("missing <bytecode-json-file>")
-
- bytecodeJSONFile = args[0]
- bytecodeFile = openOrExit(bytecodeJSONFile, "rb")
- sha1Hash = hashFile(bytecodeFile)
-
- hFileHashString = "// SHA1Hash: {0}\n".format(sha1Hash)
- asmFileHashString = "# SHA1Hash: {0}\n".format(sha1Hash)
-
- bytecodeHFilename = options.bytecodesHFileName
- initASMFileName = options.initASMFileName
-
- if not bytecodeHFilename and not initASMFileName:
- parser.print_help()
- exit(0)
-
- needToGenerate = False
-
- if bytecodeHFilename:
- try:
- bytecodeHReadFile = open(bytecodeHFilename, "rb")
-
- hashLine = bytecodeHReadFile.readline()
- if hashLine != hFileHashString:
- needToGenerate = True
- except:
- needToGenerate = True
- else:
- bytecodeHReadFile.close()
-
- if initASMFileName:
- try:
- initBytecodesReadFile = open(initASMFileName, "rb")
-
- hashLine = initBytecodesReadFile.readline()
- if hashLine != asmFileHashString:
- needToGenerate = True
- except:
- needToGenerate = True
- else:
- initBytecodesReadFile.close()
-
- if not needToGenerate:
- print "Nothing changed.\n"
- exit(0)
-
- genString = "Generating "
-
- if bytecodeHFilename:
- bytecodeHFile = openOrExit(bytecodeHFilename, "wb")
- genString = genString + "{0} ".format(bytecodeHFilename)
-
- if initASMFileName:
- initBytecodesFile = openOrExit(initASMFileName, "wb")
- if bytecodeHFilename:
- genString = genString + "and "
- genString = genString + "{0} ".format(initASMFileName)
-
- print "{0}from {1}\n".format(genString, bytecodeJSONFile)
-
-
- try:
- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8")
- except:
- print "Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())
-
- if bytecodeHFilename:
- bytecodeHFile.write(hFileHashString)
- bytecodeHFile.write(cCopyrightMsg % bytecodeJSONFile)
- bytecodeHFile.write("#ifndef Bytecodes_h\n")
- bytecodeHFile.write("#define Bytecodes_h\n\n")
-
- if initASMFileName:
- initBytecodesFile.write(asmFileHashString)
- initBytecodesFile.write(asmCopyrightMsg % bytecodeJSONFile)
- initASMBytecodeNum = 0
-
- for section in bytecodeSections:
- if bytecodeHFilename and section['emitInHFile']:
- bytecodeHFile.write("#define FOR_EACH_{0}_ID(macro) \\\n".format(section["macroNameComponent"]))
- firstMacro = True
- defaultLength = 1
- if "defaultLength" in section:
- defaultLength = section["defaultLength"]
-
- bytecodeNum = 0
- for bytecode in section["bytecodes"]:
- if not firstMacro:
- bytecodeHFile.write(" \\\n")
-
- length = defaultLength
- if "length" in bytecode:
- length = bytecode["length"]
-
- bytecodeHFile.write(" macro({0}, {1})".format(bytecode["name"], length))
- firstMacro = False
- bytecodeNum = bytecodeNum + 1
-
- bytecodeHFile.write("\n\n")
- bytecodeHFile.write("#define NUMBER_OF_{0}_IDS {1}\n\n".format(section["macroNameComponent"], bytecodeNum))
-
- if "emitDefineID" in section:
- bytecodeNum = 0
- for bytecode in section["bytecodes"]:
- bytecodeHFile.write("#define %s_ID %s\n" % (bytecode["name"].upper(), bytecodeNum))
- bytecodeNum = bytecodeNum + 1
-
- bytecodeHFile.write("\n\n")
-
- if initASMFileName and section['emitInASMFile']:
- for bytecode in section["bytecodes"]:
- initBytecodesFile.write("setEntryAddress({0}, _{1})\n".format(initASMBytecodeNum, bytecode["name"]))
- initASMBytecodeNum = initASMBytecodeNum + 1
-
- if bytecodeHFilename:
- bytecodeHFile.write("#endif // Bytecodes_h\n")
- bytecodeHFile.close()
-
- if initASMFileName:
- initBytecodesFile.close()
-
- bytecodeFile.close()
-
- exit(0)
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntCLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntCLoop.cpp (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntCLoop.cpp        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/llint/LLIntCLoop.cpp        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">
</span><span class="cx"> void CLoop::initialize()
</span><span class="cx"> {
</span><del>- execute(llint_c_loop_init, 0, 0, 0, true);
</del><ins>+ execute(llint_unused, 0, 0, 0, true);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace LLInt
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntCLooph"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntCLoop.h (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntCLoop.h        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/llint/LLIntCLoop.h        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -36,6 +36,8 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> namespace LLInt {
</span><span class="cx">
</span><ins>+const OpcodeID llint_unused = llint_end;
+
</ins><span class="cx"> class CLoop {
</span><span class="cx"> public:
</span><span class="cx"> static void initialize();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntData.cpp (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntData.cpp        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/llint/LLIntData.cpp        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> LLInt::getCodePtr(llint_throw_from_slow_path_trampoline);
</span><span class="cx"> #define OPCODE_ENTRY(opcode, length) \
</span><span class="cx"> Data::s_opcodeMap[opcode] = static_cast<Opcode>(LLInt::getCodePtr(llint_##opcode));
</span><del>- FOR_EACH_CORE_OPCODE_ID(OPCODE_ENTRY);
</del><ins>+ FOR_EACH_OPCODE_ID(OPCODE_ENTRY);
</ins><span class="cx"> #undef OPCODE_ENTRY
</span><span class="cx"> #endif // !ENABLE(LLINT_C_LOOP)
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntOpcodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntOpcode.h (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntOpcode.h        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/llint/LLIntOpcode.h        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -31,7 +31,19 @@
</span><span class="cx"> #if ENABLE(LLINT_C_LOOP)
</span><span class="cx">
</span><span class="cx"> #define FOR_EACH_LLINT_NOJIT_NATIVE_HELPER(macro) \
</span><del>- FOR_EACH_CLOOP_BYTECODE_HELPER_ID(macro)
</del><ins>+ macro(getHostCallReturnValue, 1) \
+ macro(llint_return_to_host, 1) \
+ macro(llint_call_to_javascript, 1) \
+ macro(llint_call_to_native_function, 1) \
+ macro(handleUncaughtException, 1) \
+ \
+ macro(llint_cloop_did_return_from_js_1, 1) \
+ macro(llint_cloop_did_return_from_js_2, 1) \
+ macro(llint_cloop_did_return_from_js_3, 1) \
+ macro(llint_cloop_did_return_from_js_4, 1) \
+ macro(llint_cloop_did_return_from_js_5, 1) \
+ macro(llint_cloop_did_return_from_js_6, 1) \
+ macro(llint_cloop_did_return_from_js_7, 1) \
</ins><span class="cx">
</span><span class="cx"> #else // !ENABLE(LLINT_C_LOOP)
</span><span class="cx">
</span><span class="lines">@@ -44,10 +56,25 @@
</span><span class="cx"> #define FOR_EACH_LLINT_NATIVE_HELPER(macro) \
</span><span class="cx"> FOR_EACH_LLINT_NOJIT_NATIVE_HELPER(macro) \
</span><span class="cx"> \
</span><del>- FOR_EACH_BYTECODE_HELPER_ID(macro)
</del><ins>+ macro(llint_begin, 1) \
+ \
+ macro(llint_program_prologue, 1) \
+ macro(llint_eval_prologue, 1) \
+ macro(llint_function_for_call_prologue, 1) \
+ macro(llint_function_for_construct_prologue, 1) \
+ macro(llint_function_for_call_arity_check, 1) \
+ macro(llint_function_for_construct_arity_check, 1) \
+ macro(llint_generic_return_point, 1) \
+ macro(llint_throw_from_slow_path_trampoline, 1) \
+ macro(llint_throw_during_call_trampoline, 1) \
+ \
+ /* Native call trampolines */ \
+ macro(llint_native_call_trampoline, 1) \
+ macro(llint_native_construct_trampoline, 1) \
+ \
+ macro(llint_end, 1)
</ins><span class="cx">
</span><span class="cx">
</span><del>-
</del><span class="cx"> #if ENABLE(LLINT_C_LOOP)
</span><span class="cx"> #define FOR_EACH_LLINT_OPCODE_EXTENSION(macro) FOR_EACH_LLINT_NATIVE_HELPER(macro)
</span><span class="cx"> #else
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLowLevelInterpreterasm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -630,12 +630,6 @@
</span><span class="cx"> ret
</span><span class="cx"> end
</span><span class="cx">
</span><del>-# Dummy entry point the C Loop uses to initialize.
-if C_LOOP
-_llint_c_loop_init:
- crash()
-end
-
</del><span class="cx"> # stub to call into JavaScript or Native functions
</span><span class="cx"> # EncodedJSValue callToJavaScript(void* code, ExecState** vmTopCallFrame, ProtoCallFrame* protoFrame)
</span><span class="cx"> # EncodedJSValue callToNativeFunction(void* code, ExecState** vmTopCallFrame, ProtoCallFrame* protoFrame)
</span><span class="lines">@@ -694,6 +688,11 @@
</span><span class="cx"> end
</span><span class="cx">
</span><span class="cx">
</span><ins>+# Indicate the beginning of LLInt.
+_llint_begin:
+ crash()
+
+
</ins><span class="cx"> _llint_program_prologue:
</span><span class="cx"> prologue(notFunctionCodeBlockGetter, notFunctionCodeBlockSetter, _llint_entry_osr, _llint_trace_prologue)
</span><span class="cx"> dispatch(0)
</span><span class="lines">@@ -1144,3 +1143,7 @@
</span><span class="cx"> _llint_op_init_global_const_nop:
</span><span class="cx"> dispatch(5)
</span><span class="cx">
</span><ins>+# Indicate the end of LLInt.
+_llint_end:
+ crash()
+
</ins></span></pre></div>
<a id="trunkSourceWebKitCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/CMakeLists.txt (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/CMakeLists.txt        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/WebKit/CMakeLists.txt        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -78,7 +78,6 @@
</span><span class="cx"> "${JAVASCRIPTCORE_DIR}/profiler"
</span><span class="cx"> "${JAVASCRIPTCORE_DIR}/runtime"
</span><span class="cx"> "${WTF_DIR}"
</span><del>- "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
</del><span class="cx"> "${DERIVED_SOURCES_WEBCORE_DIR}"
</span><span class="cx"> "${DERIVED_SOURCES_DIR}/ForwardingHeaders"
</span><span class="cx"> "${CMAKE_BINARY_DIR}"
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/WebKit/ChangeLog        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -1,15 +1,3 @@
</span><del>-2014-02-26 Michael Saboff <msaboff@apple.com>
-
- Auto generate bytecode information for bytecode parser and LLInt
- https://bugs.webkit.org/show_bug.cgi?id=129181
-
- Reviewed by Mark Lam.
-
- Added ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} to WebKit_INCLUDE_DIRECTORIES due to new
- generated Bytecodes.h include file.
-
- * CMakeLists.txt:
-
</del><span class="cx"> 2014-02-26 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><span class="cx"> Web Inspector: Remove console.profiles from window.console API
</span></span></pre></div>
<a id="trunkSourceWebKit2CMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/CMakeLists.txt (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/CMakeLists.txt        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/WebKit2/CMakeLists.txt        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -133,7 +133,6 @@
</span><span class="cx"> "${JAVASCRIPTCORE_DIR}/runtime"
</span><span class="cx"> "${WTF_DIR}"
</span><span class="cx"> "${DERIVED_SOURCES_DIR}"
</span><del>- "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
</del><span class="cx"> "${DERIVED_SOURCES_WEBCORE_DIR}"
</span><span class="cx"> "${DERIVED_SOURCES_WEBKIT2_DIR}"
</span><span class="cx"> "${DERIVED_SOURCES_WEBKIT2_DIR}/include"
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (164745 => 164746)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-02-26 21:41:30 UTC (rev 164745)
+++ trunk/Source/WebKit2/ChangeLog        2014-02-26 21:44:36 UTC (rev 164746)
</span><span class="lines">@@ -107,18 +107,6 @@
</span><span class="cx">
</span><span class="cx"> * WebKit2.xcodeproj/project.pbxproj:
</span><span class="cx">
</span><del>-2014-02-26 Michael Saboff <msaboff@apple.com>
-
- Auto generate bytecode information for bytecode parser and LLInt
- https://bugs.webkit.org/show_bug.cgi?id=129181
-
- Reviewed by Mark Lam.
-
- Added ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} to WebKit2_INCLUDE_DIRECTORIES due to new
- generated Bytecodes.h include file.
-
- * CMakeLists.txt:
-
</del><span class="cx"> 2014-02-26 Simon Fraser <simon.fraser@apple.com>
</span><span class="cx">
</span><span class="cx"> Fix MiniBrowser/WebKitTestRunner link errors; WKView still
</span></span></pre>
</div>
</div>
</body>
</html>