<!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>[205309] trunk/Source/JavaScriptCore</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/205309">205309</a></dd>
<dt>Author</dt> <dd>keith_miller@apple.com</dd>
<dt>Date</dt> <dd>2016-09-01 13:04:02 -0700 (Thu, 01 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename WASM classes dropping the WASM prefix
https://bugs.webkit.org/show_bug.cgi?id=161500

Reviewed by Mark Lam.

Having to write WASM::WASMModule seems silly. Also, this patch
merges WASMFunctionReturnType and WASMValueType into one type
that is a typedef of B3::Type. Using B3::Type as the WASM
primitive type makes it trivial to convert a Vector of WASM
types into a Vector of B3 types.

* b3/B3Type.h:
* wasm/JSWASMModule.h:
(JSC::JSWASMModule::signatures):
(JSC::JSWASMModule::functionImports):
(JSC::JSWASMModule::functionImportSignatures):
(JSC::JSWASMModule::globalVariableTypes):
(JSC::JSWASMModule::functionDeclarations):
(JSC::JSWASMModule::functionPointerTables):
* wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::toB3Op):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::unaryOp):
(JSC::WASM::B3IRGenerator::binaryOp):
(JSC::WASM::B3IRGenerator::addConstant):
(JSC::WASM::parseAndCompile):
* wasm/WASMB3IRGenerator.h:
* wasm/WASMFormat.h:
* wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser&lt;Context&gt;::FunctionParser):
(JSC::WASM::FunctionParser&lt;Context&gt;::parse):
(JSC::WASM::FunctionParser&lt;Context&gt;::parseBlock):
(JSC::WASM::FunctionParser&lt;Context&gt;::parseExpression):
(JSC::WASM::WASMFunctionParser&lt;Context&gt;::WASMFunctionParser): Deleted.
(JSC::WASM::WASMFunctionParser&lt;Context&gt;::parse): Deleted.
(JSC::WASM::WASMFunctionParser&lt;Context&gt;::parseBlock): Deleted.
(JSC::WASM::WASMFunctionParser&lt;Context&gt;::parseExpression): Deleted.
* wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
(JSC::WASM::ModuleParser::parseFunctionTypes):
(JSC::WASM::ModuleParser::parseFunctionSignatures):
(JSC::WASM::ModuleParser::parseFunctionDefinitions):
(JSC::WASM::WASMModuleParser::parse): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionTypes): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionSignatures): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionDefinitions): Deleted.
* wasm/WASMModuleParser.h:
(JSC::WASM::ModuleParser::ModuleParser):
(JSC::WASM::ModuleParser::functionInformation):
(JSC::WASM::WASMModuleParser::WASMModuleParser): Deleted.
(JSC::WASM::WASMModuleParser::functionInformation): Deleted.
* wasm/WASMOps.h:
* wasm/WASMParser.h:
(JSC::WASM::Parser::Parser):
(JSC::WASM::Parser::consumeCharacter):
(JSC::WASM::Parser::consumeString):
(JSC::WASM::Parser::parseUInt32):
(JSC::WASM::Parser::parseUInt7):
(JSC::WASM::Parser::parseVarUInt1):
(JSC::WASM::Parser::parseValueType):
(JSC::WASM::WASMParser::WASMParser): Deleted.
(JSC::WASM::WASMParser::consumeCharacter): Deleted.
(JSC::WASM::WASMParser::consumeString): Deleted.
(JSC::WASM::WASMParser::parseUInt32): Deleted.
(JSC::WASM::WASMParser::parseUInt7): Deleted.
(JSC::WASM::WASMParser::parseVarUInt1): Deleted.
(JSC::WASM::WASMParser::parseValueType): Deleted.
* wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan):
* wasm/WASMSections.cpp:
(JSC::WASM::Sections::lookup):
(JSC::WASM::WASMSections::lookup): Deleted.
* wasm/WASMSections.h:
(JSC::WASM::Sections::validateOrder):
(JSC::WASM::WASMSections::validateOrder): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreb3B3Typeh">trunk/Source/JavaScriptCore/b3/B3Type.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmJSWASMModuleh">trunk/Source/JavaScriptCore/wasm/JSWASMModule.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMB3IRGeneratorcpp">trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMB3IRGeneratorh">trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMFormath">trunk/Source/JavaScriptCore/wasm/WASMFormat.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMFunctionParserh">trunk/Source/JavaScriptCore/wasm/WASMFunctionParser.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMModuleParsercpp">trunk/Source/JavaScriptCore/wasm/WASMModuleParser.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMModuleParserh">trunk/Source/JavaScriptCore/wasm/WASMModuleParser.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMOpsh">trunk/Source/JavaScriptCore/wasm/WASMOps.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMParserh">trunk/Source/JavaScriptCore/wasm/WASMParser.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMPlancpp">trunk/Source/JavaScriptCore/wasm/WASMPlan.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMSectionscpp">trunk/Source/JavaScriptCore/wasm/WASMSections.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWASMSectionsh">trunk/Source/JavaScriptCore/wasm/WASMSections.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -1,3 +1,81 @@
</span><ins>+2016-09-01  Keith Miller  &lt;keith_miller@apple.com&gt;
+
+        Rename WASM classes dropping the WASM prefix
+        https://bugs.webkit.org/show_bug.cgi?id=161500
+
+        Reviewed by Mark Lam.
+
+        Having to write WASM::WASMModule seems silly. Also, this patch
+        merges WASMFunctionReturnType and WASMValueType into one type
+        that is a typedef of B3::Type. Using B3::Type as the WASM
+        primitive type makes it trivial to convert a Vector of WASM
+        types into a Vector of B3 types.
+
+        * b3/B3Type.h:
+        * wasm/JSWASMModule.h:
+        (JSC::JSWASMModule::signatures):
+        (JSC::JSWASMModule::functionImports):
+        (JSC::JSWASMModule::functionImportSignatures):
+        (JSC::JSWASMModule::globalVariableTypes):
+        (JSC::JSWASMModule::functionDeclarations):
+        (JSC::JSWASMModule::functionPointerTables):
+        * wasm/WASMB3IRGenerator.cpp:
+        (JSC::WASM::toB3Op):
+        (JSC::WASM::B3IRGenerator::addLocal):
+        (JSC::WASM::B3IRGenerator::unaryOp):
+        (JSC::WASM::B3IRGenerator::binaryOp):
+        (JSC::WASM::B3IRGenerator::addConstant):
+        (JSC::WASM::parseAndCompile):
+        * wasm/WASMB3IRGenerator.h:
+        * wasm/WASMFormat.h:
+        * wasm/WASMFunctionParser.h:
+        (JSC::WASM::FunctionParser&lt;Context&gt;::FunctionParser):
+        (JSC::WASM::FunctionParser&lt;Context&gt;::parse):
+        (JSC::WASM::FunctionParser&lt;Context&gt;::parseBlock):
+        (JSC::WASM::FunctionParser&lt;Context&gt;::parseExpression):
+        (JSC::WASM::WASMFunctionParser&lt;Context&gt;::WASMFunctionParser): Deleted.
+        (JSC::WASM::WASMFunctionParser&lt;Context&gt;::parse): Deleted.
+        (JSC::WASM::WASMFunctionParser&lt;Context&gt;::parseBlock): Deleted.
+        (JSC::WASM::WASMFunctionParser&lt;Context&gt;::parseExpression): Deleted.
+        * wasm/WASMModuleParser.cpp:
+        (JSC::WASM::ModuleParser::parse):
+        (JSC::WASM::ModuleParser::parseFunctionTypes):
+        (JSC::WASM::ModuleParser::parseFunctionSignatures):
+        (JSC::WASM::ModuleParser::parseFunctionDefinitions):
+        (JSC::WASM::WASMModuleParser::parse): Deleted.
+        (JSC::WASM::WASMModuleParser::parseFunctionTypes): Deleted.
+        (JSC::WASM::WASMModuleParser::parseFunctionSignatures): Deleted.
+        (JSC::WASM::WASMModuleParser::parseFunctionDefinitions): Deleted.
+        * wasm/WASMModuleParser.h:
+        (JSC::WASM::ModuleParser::ModuleParser):
+        (JSC::WASM::ModuleParser::functionInformation):
+        (JSC::WASM::WASMModuleParser::WASMModuleParser): Deleted.
+        (JSC::WASM::WASMModuleParser::functionInformation): Deleted.
+        * wasm/WASMOps.h:
+        * wasm/WASMParser.h:
+        (JSC::WASM::Parser::Parser):
+        (JSC::WASM::Parser::consumeCharacter):
+        (JSC::WASM::Parser::consumeString):
+        (JSC::WASM::Parser::parseUInt32):
+        (JSC::WASM::Parser::parseUInt7):
+        (JSC::WASM::Parser::parseVarUInt1):
+        (JSC::WASM::Parser::parseValueType):
+        (JSC::WASM::WASMParser::WASMParser): Deleted.
+        (JSC::WASM::WASMParser::consumeCharacter): Deleted.
+        (JSC::WASM::WASMParser::consumeString): Deleted.
+        (JSC::WASM::WASMParser::parseUInt32): Deleted.
+        (JSC::WASM::WASMParser::parseUInt7): Deleted.
+        (JSC::WASM::WASMParser::parseVarUInt1): Deleted.
+        (JSC::WASM::WASMParser::parseValueType): Deleted.
+        * wasm/WASMPlan.cpp:
+        (JSC::WASM::Plan::Plan):
+        * wasm/WASMSections.cpp:
+        (JSC::WASM::Sections::lookup):
+        (JSC::WASM::WASMSections::lookup): Deleted.
+        * wasm/WASMSections.h:
+        (JSC::WASM::Sections::validateOrder):
+        (JSC::WASM::WASMSections::validateOrder): Deleted.
+
</ins><span class="cx"> 2016-09-01  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreb3B3Typeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/b3/B3Type.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/b3/B3Type.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/b3/B3Type.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2015 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,11 +39,12 @@
</span><span class="cx"> namespace JSC { namespace B3 {
</span><span class="cx"> 
</span><span class="cx"> enum Type : int8_t {
</span><del>-    Void,
</del><span class="cx">     Int32,
</span><span class="cx">     Int64,
</span><span class="cx">     Float,
</span><del>-    Double
</del><ins>+    Double,
+    LastValueType = Double,
+    Void
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> inline bool isInt(Type type)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmJSWASMModuleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/JSWASMModule.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/JSWASMModule.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/JSWASMModule.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -75,12 +75,12 @@
</span><span class="cx">     Vector&lt;uint32_t&gt;&amp; i32Constants() { return m_i32Constants; }
</span><span class="cx">     Vector&lt;float&gt;&amp; f32Constants() { return m_f32Constants; }
</span><span class="cx">     Vector&lt;double&gt;&amp; f64Constants() { return m_f64Constants; }
</span><del>-    Vector&lt;WASMSignature&gt;&amp; signatures() { return m_signatures; }
-    Vector&lt;WASMFunctionImport&gt;&amp; functionImports() { return m_functionImports; }
-    Vector&lt;WASMFunctionImportSignature&gt;&amp; functionImportSignatures() { return m_functionImportSignatures; }
-    Vector&lt;WASMValueType&gt;&amp; globalVariableTypes() { return m_globalVariableTypes; }
-    Vector&lt;WASMFunctionDeclaration&gt;&amp; functionDeclarations() { return m_functionDeclarations; }
-    Vector&lt;WASMFunctionPointerTable&gt;&amp; functionPointerTables() { return m_functionPointerTables; }
</del><ins>+    Vector&lt;WASM::Signature&gt;&amp; signatures() { return m_signatures; }
+    Vector&lt;WASM::FunctionImport&gt;&amp; functionImports() { return m_functionImports; }
+    Vector&lt;WASM::FunctionImportSignature&gt;&amp; functionImportSignatures() { return m_functionImportSignatures; }
+    Vector&lt;WASM::Type&gt;&amp; globalVariableTypes() { return m_globalVariableTypes; }
+    Vector&lt;WASM::FunctionDeclaration&gt;&amp; functionDeclarations() { return m_functionDeclarations; }
+    Vector&lt;WASM::FunctionPointerTable&gt;&amp; functionPointerTables() { return m_functionPointerTables; }
</ins><span class="cx"> 
</span><span class="cx">     const JSArrayBuffer* arrayBuffer() const { return m_arrayBuffer.get(); }
</span><span class="cx">     Vector&lt;WriteBarrier&lt;JSFunction&gt;&gt;&amp; functions() { return m_functions; }
</span><span class="lines">@@ -95,12 +95,12 @@
</span><span class="cx">     Vector&lt;uint32_t&gt; m_i32Constants;
</span><span class="cx">     Vector&lt;float&gt; m_f32Constants;
</span><span class="cx">     Vector&lt;double&gt; m_f64Constants;
</span><del>-    Vector&lt;WASMSignature&gt; m_signatures;
-    Vector&lt;WASMFunctionImport&gt; m_functionImports;
-    Vector&lt;WASMFunctionImportSignature&gt; m_functionImportSignatures;
-    Vector&lt;WASMValueType&gt; m_globalVariableTypes;
-    Vector&lt;WASMFunctionDeclaration&gt; m_functionDeclarations;
-    Vector&lt;WASMFunctionPointerTable&gt; m_functionPointerTables;
</del><ins>+    Vector&lt;WASM::Signature&gt; m_signatures;
+    Vector&lt;WASM::FunctionImport&gt; m_functionImports;
+    Vector&lt;WASM::FunctionImportSignature&gt; m_functionImportSignatures;
+    Vector&lt;WASM::Type&gt; m_globalVariableTypes;
+    Vector&lt;WASM::FunctionDeclaration&gt; m_functionDeclarations;
+    Vector&lt;WASM::FunctionPointerTable&gt; m_functionPointerTables;
</ins><span class="cx"> 
</span><span class="cx">     WriteBarrier&lt;JSArrayBuffer&gt; m_arrayBuffer;
</span><span class="cx">     Vector&lt;WriteBarrier&lt;JSFunction&gt;&gt; m_functions;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMB3IRGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.cpp (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.cpp        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.cpp        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace B3;
</span><span class="cx"> 
</span><del>-inline B3::Opcode toB3Op(WASMBinaryOpType op)
</del><ins>+inline B3::Opcode toB3Op(BinaryOpType op)
</ins><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><del>-#define CREATE_CASE(name, op, b3op) case WASMBinaryOpType::name: return b3op;
</del><ins>+#define CREATE_CASE(name, op, b3op) case BinaryOpType::name: return b3op;
</ins><span class="cx">     FOR_EACH_WASM_BINARY_OP(CREATE_CASE)
</span><span class="cx"> #undef CREATE_CASE
</span><span class="cx">     }
</span><span class="lines">@@ -51,10 +51,10 @@
</span><span class="cx">     RELEASE_ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline B3::Opcode toB3Op(WASMUnaryOpType op)
</del><ins>+inline B3::Opcode toB3Op(UnaryOpType op)
</ins><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><del>-#define CREATE_CASE(name, op, b3op) case WASMUnaryOpType::name: return b3op;
</del><ins>+#define CREATE_CASE(name, op, b3op) case UnaryOpType::name: return b3op;
</ins><span class="cx">     FOR_EACH_WASM_UNARY_OP(CREATE_CASE)
</span><span class="cx"> #undef CREATE_CASE
</span><span class="cx">     }
</span><span class="lines">@@ -67,11 +67,11 @@
</span><span class="cx"> 
</span><span class="cx">     B3IRGenerator(Procedure&amp;);
</span><span class="cx"> 
</span><del>-    void addLocal(WASMValueType, uint32_t);
-    ExpressionType addConstant(WASMValueType, uint64_t);
</del><ins>+    void addLocal(Type, uint32_t);
+    ExpressionType addConstant(Type, uint64_t);
</ins><span class="cx"> 
</span><del>-    bool WARN_UNUSED_RETURN binaryOp(WASMBinaryOpType, ExpressionType left, ExpressionType right, ExpressionType&amp; result);
-    bool WARN_UNUSED_RETURN unaryOp(WASMUnaryOpType, ExpressionType arg, ExpressionType&amp; result);
</del><ins>+    bool WARN_UNUSED_RETURN binaryOp(BinaryOpType, ExpressionType left, ExpressionType right, ExpressionType&amp; result);
+    bool WARN_UNUSED_RETURN unaryOp(UnaryOpType, ExpressionType arg, ExpressionType&amp; result);
</ins><span class="cx"> 
</span><span class="cx">     bool WARN_UNUSED_RETURN addBlock();
</span><span class="cx">     bool WARN_UNUSED_RETURN endBlock(Vector&lt;ExpressionType&gt;&amp; expressionStack);
</span><span class="lines">@@ -96,33 +96,33 @@
</span><span class="cx">     m_currentBlock = m_proc.addBlock();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void B3IRGenerator::addLocal(WASMValueType, uint32_t)
</del><ins>+void B3IRGenerator::addLocal(Type, uint32_t)
</ins><span class="cx"> {
</span><span class="cx">     // TODO: Add locals.
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool B3IRGenerator::unaryOp(WASMUnaryOpType op, ExpressionType arg, ExpressionType&amp; result)
</del><ins>+bool B3IRGenerator::unaryOp(UnaryOpType op, ExpressionType arg, ExpressionType&amp; result)
</ins><span class="cx"> {
</span><span class="cx">     result = m_currentBlock-&gt;appendNew&lt;Value&gt;(m_proc, toB3Op(op), Origin(), arg);
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool B3IRGenerator::binaryOp(WASMBinaryOpType op, ExpressionType left, ExpressionType right, ExpressionType&amp; result)
</del><ins>+bool B3IRGenerator::binaryOp(BinaryOpType op, ExpressionType left, ExpressionType right, ExpressionType&amp; result)
</ins><span class="cx"> {
</span><span class="cx">     result = m_currentBlock-&gt;appendNew&lt;Value&gt;(m_proc, toB3Op(op), Origin(), left, right);
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-B3IRGenerator::ExpressionType B3IRGenerator::addConstant(WASMValueType type, uint64_t value)
</del><ins>+B3IRGenerator::ExpressionType B3IRGenerator::addConstant(Type type, uint64_t value)
</ins><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><del>-    case WASMValueType::I32:
</del><ins>+    case Int32:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;Const32Value&gt;(m_proc, Origin(), static_cast&lt;int32_t&gt;(value));
</span><del>-    case WASMValueType::I64:
</del><ins>+    case Int64:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;Const64Value&gt;(m_proc, Origin(), value);
</span><del>-    case WASMValueType::F32:
</del><ins>+    case Float:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;ConstFloatValue&gt;(m_proc, Origin(), bitwise_cast&lt;float&gt;(static_cast&lt;int32_t&gt;(value)));
</span><del>-    case WASMValueType::F64:
</del><ins>+    case Double:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;ConstDoubleValue&gt;(m_proc, Origin(), bitwise_cast&lt;double&gt;(value));
</span><span class="cx">     default:
</span><span class="cx">         RELEASE_ASSERT_NOT_REACHED();
</span><span class="lines">@@ -205,11 +205,11 @@
</span><span class="cx">     return m_controlStack[m_controlStack.size() - 1 - level].first;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;Compilation&gt; parseAndCompile(VM&amp; vm, Vector&lt;uint8_t&gt;&amp; source, WASMFunctionInformation info, unsigned optLevel)
</del><ins>+std::unique_ptr&lt;Compilation&gt; parseAndCompile(VM&amp; vm, Vector&lt;uint8_t&gt;&amp; source, FunctionInformation info, unsigned optLevel)
</ins><span class="cx"> {
</span><span class="cx">     Procedure procedure;
</span><span class="cx">     B3IRGenerator context(procedure);
</span><del>-    WASMFunctionParser&lt;B3IRGenerator&gt; parser(context, source, info);
</del><ins>+    FunctionParser&lt;B3IRGenerator&gt; parser(context, source, info);
</ins><span class="cx">     if (!parser.parse())
</span><span class="cx">         RELEASE_ASSERT_NOT_REACHED();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMB3IRGeneratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMB3IRGenerator.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WASM {
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;B3::Compilation&gt; parseAndCompile(VM&amp;, Vector&lt;uint8_t&gt;&amp;, WASMFunctionInformation, unsigned optLevel = 1);
</del><ins>+std::unique_ptr&lt;B3::Compilation&gt; parseAndCompile(VM&amp;, Vector&lt;uint8_t&gt;&amp;, FunctionInformation, unsigned optLevel = 1);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WASM
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMFormath"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMFormat.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMFormat.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMFormat.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEBASSEMBLY)
</span><span class="cx"> 
</span><ins>+#include &quot;B3Type.h&quot;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -51,52 +52,50 @@
</span><span class="cx"> 
</span><span class="cx"> class JSFunction;
</span><span class="cx"> 
</span><del>-enum class WASMValueType : uint8_t {
-    I32,
-    I64,
-    F32,
-    F64,
-    NumberOfTypes
-};
</del><ins>+namespace WASM {
</ins><span class="cx"> 
</span><del>-enum class WASMFunctionReturnType : uint8_t {
-    I32,
-    I64,
-    F32,
-    F64,
-    Void,
-    NumberOfExpressionTypes
-};
</del><ins>+using B3::Type;
+using B3::Int32;
+using B3::Int64;
+using B3::Float;
+using B3::Double;
</ins><span class="cx"> 
</span><del>-struct WASMSignature {
-    WASMFunctionReturnType returnType;
-    Vector&lt;WASMValueType&gt; arguments;
</del><ins>+static_assert(Int32 == 0, &quot;WASM needs B3::Type::Int32 to have the value 0&quot;);
+static_assert(Int64 == 1, &quot;WASM needs B3::Type::Int64 to have the value 1&quot;);
+static_assert(Float == 2, &quot;WASM needs B3::Type::Float to have the value 2&quot;);
+static_assert(Double == 3, &quot;WASM needs B3::Type::Double to have the value 3&quot;);
+
+struct Signature {
+    Type returnType;
+    Vector&lt;Type&gt; arguments;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct WASMFunctionImport {
</del><ins>+struct FunctionImport {
</ins><span class="cx">     String functionName;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct WASMFunctionImportSignature {
</del><ins>+struct FunctionImportSignature {
</ins><span class="cx">     uint32_t signatureIndex;
</span><span class="cx">     uint32_t functionImportIndex;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct WASMFunctionDeclaration {
</del><ins>+struct FunctionDeclaration {
</ins><span class="cx">     uint32_t signatureIndex;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct WASMFunctionPointerTable {
</del><ins>+struct FunctionPointerTable {
</ins><span class="cx">     uint32_t signatureIndex;
</span><span class="cx">     Vector&lt;uint32_t&gt; functionIndices;
</span><span class="cx">     Vector&lt;JSFunction*&gt; functions;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct WASMFunctionInformation {
</del><ins>+struct FunctionInformation {
</ins><span class="cx">     size_t start;
</span><span class="cx">     size_t end;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+} // namespace WASM
+
</ins><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(WEBASSEMBLY)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMFunctionParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMFunctionParser.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMFunctionParser.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMFunctionParser.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx"> namespace WASM {
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename Context&gt;
</span><del>-class WASMFunctionParser : public WASMParser {
</del><ins>+class FunctionParser : public Parser {
</ins><span class="cx"> public:
</span><span class="cx">     typedef typename Context::ExpressionType ExpressionType;
</span><span class="cx"> 
</span><del>-    WASMFunctionParser(Context&amp;, const Vector&lt;uint8_t&gt;&amp; sourceBuffer, const WASMFunctionInformation&amp;);
</del><ins>+    FunctionParser(Context&amp;, const Vector&lt;uint8_t&gt;&amp; sourceBuffer, const FunctionInformation&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool WARN_UNUSED_RETURN parse();
</span><span class="cx"> 
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     static const bool verbose = false;
</span><span class="cx"> 
</span><span class="cx">     bool WARN_UNUSED_RETURN parseBlock();
</span><del>-    bool WARN_UNUSED_RETURN parseExpression(WASMOpType);
</del><ins>+    bool WARN_UNUSED_RETURN parseExpression(OpType);
</ins><span class="cx">     bool WARN_UNUSED_RETURN unifyControl(Vector&lt;ExpressionType&gt;&amp;, unsigned level);
</span><span class="cx"> 
</span><span class="cx">     Optional&lt;Vector&lt;ExpressionType&gt;&gt;&amp; stackForControlLevel(unsigned level);
</span><span class="lines">@@ -57,14 +57,14 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename Context&gt;
</span><del>-WASMFunctionParser&lt;Context&gt;::WASMFunctionParser(Context&amp; context, const Vector&lt;uint8_t&gt;&amp; sourceBuffer, const WASMFunctionInformation&amp; info)
-    : WASMParser(sourceBuffer, info.start, info.end)
</del><ins>+FunctionParser&lt;Context&gt;::FunctionParser(Context&amp; context, const Vector&lt;uint8_t&gt;&amp; sourceBuffer, const FunctionInformation&amp; info)
+    : Parser(sourceBuffer, info.start, info.end)
</ins><span class="cx">     , m_context(context)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename Context&gt;
</span><del>-bool WASMFunctionParser&lt;Context&gt;::parse()
</del><ins>+bool FunctionParser&lt;Context&gt;::parse()
</ins><span class="cx"> {
</span><span class="cx">     uint32_t localCount;
</span><span class="cx">     if (!parseVarUInt32(localCount))
</span><span class="lines">@@ -75,11 +75,10 @@
</span><span class="cx">         if (!parseUInt32(numberOfLocalsWithType))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        WASMValueType typeOfLocal;
</del><ins>+        Type typeOfLocal;
</ins><span class="cx">         if (!parseValueType(typeOfLocal))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        m_context.addLocal(typeOfLocal, numberOfLocalsWithType);
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return parseBlock();
</span><span class="lines">@@ -86,7 +85,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename Context&gt;
</span><del>-bool WASMFunctionParser&lt;Context&gt;::parseBlock()
</del><ins>+bool FunctionParser&lt;Context&gt;::parseBlock()
</ins><span class="cx"> {
</span><span class="cx">     while (true) {
</span><span class="cx">         uint8_t op;
</span><span class="lines">@@ -93,13 +92,13 @@
</span><span class="cx">         if (!parseUInt7(op))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        if (!parseExpression(static_cast&lt;WASMOpType&gt;(op))) {
</del><ins>+        if (!parseExpression(static_cast&lt;OpType&gt;(op))) {
</ins><span class="cx">             if (verbose)
</span><span class="cx">                 dataLogLn(&quot;failed to process op:&quot;, op);
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (op == WASMOpType::End)
</del><ins>+        if (op == OpType::End)
</ins><span class="cx">             break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -107,7 +106,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename Context&gt;
</span><del>-bool WASMFunctionParser&lt;Context&gt;::parseExpression(WASMOpType op)
</del><ins>+bool FunctionParser&lt;Context&gt;::parseExpression(OpType op)
</ins><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><span class="cx"> #define CREATE_CASE(name, id, b3op) case name:
</span><span class="lines">@@ -115,7 +114,7 @@
</span><span class="cx">         ExpressionType left = m_expressionStack.takeLast();
</span><span class="cx">         ExpressionType right = m_expressionStack.takeLast();
</span><span class="cx">         ExpressionType result;
</span><del>-        if (!m_context.binaryOp(static_cast&lt;WASMBinaryOpType&gt;(op), left, right, result))
</del><ins>+        if (!m_context.binaryOp(static_cast&lt;BinaryOpType&gt;(op), left, right, result))
</ins><span class="cx">             return false;
</span><span class="cx">         m_expressionStack.append(result);
</span><span class="cx">         return true;
</span><span class="lines">@@ -124,7 +123,7 @@
</span><span class="cx">     FOR_EACH_WASM_UNARY_OP(CREATE_CASE) {
</span><span class="cx">         ExpressionType arg = m_expressionStack.takeLast();
</span><span class="cx">         ExpressionType result;
</span><del>-        if (!m_context.unaryOp(static_cast&lt;WASMUnaryOpType&gt;(op), arg, result))
</del><ins>+        if (!m_context.unaryOp(static_cast&lt;UnaryOpType&gt;(op), arg, result))
</ins><span class="cx">             return false;
</span><span class="cx">         m_expressionStack.append(result);
</span><span class="cx">         return true;
</span><span class="lines">@@ -131,21 +130,21 @@
</span><span class="cx">     }
</span><span class="cx"> #undef CREATE_CASE
</span><span class="cx"> 
</span><del>-    case WASMOpType::I32Const: {
</del><ins>+    case OpType::I32Const: {
</ins><span class="cx">         uint32_t constant;
</span><span class="cx">         if (!parseVarUInt32(constant))
</span><span class="cx">             return false;
</span><del>-        m_expressionStack.append(m_context.addConstant(WASMValueType::I32, constant));
</del><ins>+        m_expressionStack.append(m_context.addConstant(Int32, constant));
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    case WASMOpType::Block: {
</del><ins>+    case OpType::Block: {
</ins><span class="cx">         if (!m_context.addBlock())
</span><span class="cx">             return false;
</span><span class="cx">         return parseBlock();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    case WASMOpType::Return: {
</del><ins>+    case OpType::Return: {
</ins><span class="cx">         uint8_t returnCount;
</span><span class="cx">         if (!parseVarUInt1(returnCount))
</span><span class="cx">             return false;
</span><span class="lines">@@ -156,7 +155,7 @@
</span><span class="cx">         return m_context.addReturn(returnValues);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    case WASMOpType::End:
</del><ins>+    case OpType::End:
</ins><span class="cx">         return m_context.endBlock(m_expressionStack);
</span><span class="cx"> 
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMModuleParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMModuleParser.cpp (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMModuleParser.cpp        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMModuleParser.cpp        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const bool verbose = false;
</span><span class="cx"> 
</span><del>-bool WASMModuleParser::parse()
</del><ins>+bool ModuleParser::parse()
</ins><span class="cx"> {
</span><span class="cx">     if (m_sourceLength &lt; 8)
</span><span class="cx">         return false;
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     if (verbose)
</span><span class="cx">         dataLogLn(&quot;Passed processing header.&quot;);
</span><span class="cx"> 
</span><del>-    WASMSections::Section previousSection = WASMSections::Section::Unknown;
</del><ins>+    Sections::Section previousSection = Sections::Unknown;
</ins><span class="cx">     while (m_offset &lt; m_sourceLength) {
</span><span class="cx">         if (verbose)
</span><span class="cx">             dataLogLn(&quot;Starting to parse next section at offset: &quot;, m_offset);
</span><span class="lines">@@ -71,8 +71,8 @@
</span><span class="cx">         if (m_offset + sectionNameLength + maxLEBByteLength &gt;= m_sourceLength)
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        WASMSections::Section section = WASMSections::lookup(m_source.data() + m_offset, sectionNameLength);
-        if (!WASMSections::validateOrder(previousSection, section))
</del><ins>+        Sections::Section section = Sections::lookup(m_source.data() + m_offset, sectionNameLength);
+        if (!Sections::validateOrder(previousSection, section))
</ins><span class="cx">             return false;
</span><span class="cx">         m_offset += sectionNameLength;
</span><span class="cx"> 
</span><span class="lines">@@ -83,10 +83,10 @@
</span><span class="cx">         unsigned end = m_offset + sectionLength;
</span><span class="cx"> 
</span><span class="cx">         switch (section) {
</span><del>-        case WASMSections::Section::End:
</del><ins>+        case Sections::End:
</ins><span class="cx">             return true;
</span><span class="cx"> 
</span><del>-        case WASMSections::Section::FunctionTypes: {
</del><ins>+        case Sections::FunctionTypes: {
</ins><span class="cx">             if (verbose)
</span><span class="cx">                 dataLogLn(&quot;Parsing types.&quot;);
</span><span class="cx">             if (!parseFunctionTypes())
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        case WASMSections::Section::Signatures: {
</del><ins>+        case Sections::Signatures: {
</ins><span class="cx">             if (verbose)
</span><span class="cx">                 dataLogLn(&quot;Parsing function signatures.&quot;);
</span><span class="cx">             if (!parseFunctionSignatures())
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        case WASMSections::Section::Definitions: {
</del><ins>+        case Sections::Definitions: {
</ins><span class="cx">             if (verbose)
</span><span class="cx">                 dataLogLn(&quot;Parsing function definitions.&quot;);
</span><span class="cx">             if (!parseFunctionDefinitions())
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        case WASMSections::Section::Unknown: {
</del><ins>+        case Sections::Unknown: {
</ins><span class="cx">             if (verbose)
</span><span class="cx">                 dataLogLn(&quot;Unknown section, skipping.&quot;);
</span><span class="cx">             m_offset += sectionLength;
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WASMModuleParser::parseFunctionTypes()
</del><ins>+bool ModuleParser::parseFunctionTypes()
</ins><span class="cx"> {
</span><span class="cx">     uint32_t count;
</span><span class="cx">     if (!parseVarUInt32(count))
</span><span class="lines">@@ -157,27 +157,29 @@
</span><span class="cx">         if (verbose)
</span><span class="cx">             dataLogLn(&quot;argumentCount: &quot;, argumentCount);
</span><span class="cx"> 
</span><del>-        Vector&lt;WASMValueType&gt; argumentTypes;
</del><ins>+        Vector&lt;Type&gt; argumentTypes;
+        argumentTypes.resize(argumentCount);
+
</ins><span class="cx">         for (unsigned i = 0; i &lt; argumentCount; ++i) {
</span><del>-            if (!parseUInt7(type) || type &gt;= static_cast&lt;uint8_t&gt;(WASMValueType::NumberOfTypes))
</del><ins>+            if (!parseUInt7(type) || type &gt;= static_cast&lt;uint8_t&gt;(Type::LastValueType))
</ins><span class="cx">                 return false;
</span><del>-            argumentTypes.append(static_cast&lt;WASMValueType&gt;(type));
</del><ins>+            argumentTypes.append(static_cast&lt;Type&gt;(type));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (!parseVarUInt1(type))
</span><span class="cx">             return false;
</span><del>-        WASMFunctionReturnType returnType;
</del><ins>+        Type returnType;
</ins><span class="cx"> 
</span><span class="cx">         if (verbose)
</span><span class="cx">             dataLogLn(type);
</span><span class="cx"> 
</span><span class="cx">         if (type) {
</span><del>-            WASMValueType value;
</del><ins>+            Type value;
</ins><span class="cx">             if (!parseValueType(value))
</span><span class="cx">                 return false;
</span><del>-            returnType = static_cast&lt;WASMFunctionReturnType&gt;(value);
</del><ins>+            returnType = static_cast&lt;Type&gt;(value);
</ins><span class="cx">         } else
</span><del>-            returnType = WASMFunctionReturnType::Void;
</del><ins>+            returnType = Type::Void;
</ins><span class="cx"> 
</span><span class="cx">         // TODO: Actually do something with this data...
</span><span class="cx">         UNUSED_PARAM(returnType);
</span><span class="lines">@@ -185,7 +187,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WASMModuleParser::parseFunctionSignatures()
</del><ins>+bool ModuleParser::parseFunctionSignatures()
</ins><span class="cx"> {
</span><span class="cx">     uint32_t count;
</span><span class="cx">     if (!parseVarUInt32(count))
</span><span class="lines">@@ -202,7 +204,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WASMModuleParser::parseFunctionDefinitions()
</del><ins>+bool ModuleParser::parseFunctionDefinitions()
</ins><span class="cx"> {
</span><span class="cx">     uint32_t count;
</span><span class="cx">     if (!parseVarUInt32(count))
</span><span class="lines">@@ -216,7 +218,7 @@
</span><span class="cx">         if (!parseVarUInt32(functionSize))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        WASMFunctionInformation&amp; info = m_functions[i];
</del><ins>+        FunctionInformation&amp; info = m_functions[i];
</ins><span class="cx">         info.start = m_offset;
</span><span class="cx">         info.end = m_offset + functionSize;
</span><span class="cx">         m_offset = info.end;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMModuleParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMModuleParser.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMModuleParser.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMModuleParser.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -35,19 +35,19 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WASM {
</span><span class="cx"> 
</span><del>-class WASMModuleParser : public WASMParser {
</del><ins>+class ModuleParser : public Parser {
</ins><span class="cx"> public:
</span><span class="cx"> 
</span><span class="cx">     static const unsigned magicNumber = 0xc;
</span><span class="cx"> 
</span><del>-    WASMModuleParser(const Vector&lt;uint8_t&gt;&amp; sourceBuffer)
-        : WASMParser(sourceBuffer, 0, sourceBuffer.size())
</del><ins>+    ModuleParser(const Vector&lt;uint8_t&gt;&amp; sourceBuffer)
+        : Parser(sourceBuffer, 0, sourceBuffer.size())
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool WARN_UNUSED_RETURN parse();
</span><span class="cx"> 
</span><del>-    const Vector&lt;WASMFunctionInformation&gt;&amp; functionInformation() { return m_functions; }
</del><ins>+    const Vector&lt;FunctionInformation&gt;&amp; functionInformation() { return m_functions; }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     bool WARN_UNUSED_RETURN parseFunctionTypes();
</span><span class="lines">@@ -55,9 +55,9 @@
</span><span class="cx">     bool WARN_UNUSED_RETURN parseFunctionDefinitions();
</span><span class="cx">     bool WARN_UNUSED_RETURN parseFunctionDefinition(uint32_t number);
</span><span class="cx">     bool WARN_UNUSED_RETURN parseBlock();
</span><del>-    bool WARN_UNUSED_RETURN parseExpression(WASMOpType);
</del><ins>+    bool WARN_UNUSED_RETURN parseExpression(OpType);
</ins><span class="cx"> 
</span><del>-    Vector&lt;WASMFunctionInformation&gt; m_functions;
</del><ins>+    Vector&lt;FunctionInformation&gt; m_functions;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WASM
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMOpsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMOps.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMOps.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMOps.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -106,15 +106,15 @@
</span><span class="cx"> 
</span><span class="cx"> #define CREATE_ENUM_VALUE(name, id, b3op) name = id,
</span><span class="cx"> 
</span><del>-enum WASMOpType : uint8_t {
</del><ins>+enum OpType : uint8_t {
</ins><span class="cx">     FOR_EACH_WASM_OP(CREATE_ENUM_VALUE)
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-enum class WASMBinaryOpType : uint8_t {
</del><ins>+enum class BinaryOpType : uint8_t {
</ins><span class="cx">     FOR_EACH_WASM_BINARY_OP(CREATE_ENUM_VALUE)
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-enum class WASMUnaryOpType : uint8_t {
</del><ins>+enum class UnaryOpType : uint8_t {
</ins><span class="cx">     FOR_EACH_WASM_UNARY_OP(CREATE_ENUM_VALUE)
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMParser.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMParser.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMParser.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -38,9 +38,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WASM {
</span><span class="cx"> 
</span><del>-class WASMParser {
</del><ins>+class Parser {
</ins><span class="cx"> protected:
</span><del>-    WASMParser(const Vector&lt;uint8_t&gt;&amp;, size_t start, size_t end);
</del><ins>+    Parser(const Vector&lt;uint8_t&gt;&amp;, size_t start, size_t end);
</ins><span class="cx"> 
</span><span class="cx">     bool WARN_UNUSED_RETURN consumeCharacter(char);
</span><span class="cx">     bool WARN_UNUSED_RETURN consumeString(const char*);
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     bool WARN_UNUSED_RETURN parseVarUInt32(uint32_t&amp; result) { return decodeUInt32(m_source.data(), m_sourceLength, m_offset, result); }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-    bool WARN_UNUSED_RETURN parseValueType(WASMValueType&amp; result);
</del><ins>+    bool WARN_UNUSED_RETURN parseValueType(Type&amp; result);
</ins><span class="cx"> 
</span><span class="cx">     const Vector&lt;uint8_t&gt;&amp; m_source;
</span><span class="cx">     size_t m_sourceLength;
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     size_t m_offset;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE WASMParser::WASMParser(const Vector&lt;uint8_t&gt;&amp; sourceBuffer, size_t start, size_t end)
</del><ins>+ALWAYS_INLINE Parser::Parser(const Vector&lt;uint8_t&gt;&amp; sourceBuffer, size_t start, size_t end)
</ins><span class="cx">     : m_source(sourceBuffer)
</span><span class="cx">     , m_sourceLength(end)
</span><span class="cx">     , m_offset(start)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     ASSERT(start &lt; end);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE bool WASMParser::consumeCharacter(char c)
</del><ins>+ALWAYS_INLINE bool Parser::consumeCharacter(char c)
</ins><span class="cx"> {
</span><span class="cx">     if (m_offset &gt;= m_sourceLength)
</span><span class="cx">         return false;
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE bool WASMParser::consumeString(const char* str)
</del><ins>+ALWAYS_INLINE bool Parser::consumeString(const char* str)
</ins><span class="cx"> {
</span><span class="cx">     unsigned start = m_offset;
</span><span class="cx">     for (unsigned i = 0; str[i]; i++) {
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE bool WASMParser::parseUInt32(uint32_t&amp; result)
</del><ins>+ALWAYS_INLINE bool Parser::parseUInt32(uint32_t&amp; result)
</ins><span class="cx"> {
</span><span class="cx">     if (m_offset + 4 &gt;= m_sourceLength)
</span><span class="cx">         return false;
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE bool WASMParser::parseUInt7(uint8_t&amp; result)
</del><ins>+ALWAYS_INLINE bool Parser::parseUInt7(uint8_t&amp; result)
</ins><span class="cx"> {
</span><span class="cx">     if (m_offset &gt;= m_sourceLength)
</span><span class="cx">         return false;
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">     return result &lt; 0x80;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE bool WASMParser::parseVarUInt1(uint8_t&amp; result)
</del><ins>+ALWAYS_INLINE bool Parser::parseVarUInt1(uint8_t&amp; result)
</ins><span class="cx"> {
</span><span class="cx">     uint32_t temp;
</span><span class="cx">     if (!parseVarUInt32(temp))
</span><span class="lines">@@ -116,14 +116,14 @@
</span><span class="cx">     return temp &lt;= 1;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ALWAYS_INLINE bool WASMParser::parseValueType(WASMValueType&amp; result)
</del><ins>+ALWAYS_INLINE bool Parser::parseValueType(Type&amp; result)
</ins><span class="cx"> {
</span><span class="cx">     uint8_t value;
</span><span class="cx">     if (!parseUInt7(value))
</span><span class="cx">         return false;
</span><del>-    if (value &gt;= static_cast&lt;uint8_t&gt;(WASMValueType::NumberOfTypes))
</del><ins>+    if (value &gt;= static_cast&lt;uint8_t&gt;(Type::LastValueType))
</ins><span class="cx">         return false;
</span><del>-    result = static_cast&lt;WASMValueType&gt;(value);
</del><ins>+    result = static_cast&lt;Type&gt;(value);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMPlancpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMPlan.cpp (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMPlan.cpp        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMPlan.cpp        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (verbose)
</span><span class="cx">         dataLogLn(&quot;Starting plan.&quot;);
</span><del>-    WASMModuleParser moduleParser(source);
</del><ins>+    ModuleParser moduleParser(source);
</ins><span class="cx">     if (!moduleParser.parse()) {
</span><span class="cx">         dataLogLn(&quot;Parsing module failed.&quot;);
</span><span class="cx">         return;
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     if (verbose)
</span><span class="cx">         dataLogLn(&quot;Parsed module.&quot;);
</span><span class="cx"> 
</span><del>-    for (const WASMFunctionInformation&amp; info : moduleParser.functionInformation()) {
</del><ins>+    for (const FunctionInformation&amp; info : moduleParser.functionInformation()) {
</ins><span class="cx">         if (verbose)
</span><span class="cx">             dataLogLn(&quot;Processing funcion starting at: &quot;, info.start, &quot; and ending at: &quot;, info.end);
</span><span class="cx">         result.append(parseAndCompile(vm, source, info));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMSectionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMSections.cpp (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMSections.cpp        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMSections.cpp        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const bool verbose = false;
</span><span class="cx"> 
</span><del>-static const unsigned sectionDataLength = static_cast&lt;unsigned&gt;(WASMSections::Section::Unknown);
</del><ins>+static const unsigned sectionDataLength = static_cast&lt;unsigned&gt;(Sections::Unknown);
</ins><span class="cx"> static const SectionData sectionData[sectionDataLength] {
</span><span class="cx"> #define CREATE_SECTION_DATA(name, str) { sizeof(str) - 1, str },
</span><span class="cx">     FOR_EACH_WASM_SECTION_TYPE(CREATE_SECTION_DATA)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> #undef CREATE_SECTION_DATA
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-WASMSections::Section WASMSections::lookup(const uint8_t* name, unsigned length)
</del><ins>+Sections::Section Sections::lookup(const uint8_t* name, unsigned length)
</ins><span class="cx"> {
</span><span class="cx">     if (verbose)
</span><span class="cx">         dataLogLn(&quot;Decoding section with name: &quot;, String(name, length));
</span><span class="lines">@@ -57,9 +57,9 @@
</span><span class="cx">         if (sectionData[i].length != length)
</span><span class="cx">             continue;
</span><span class="cx">         if (!memcmp(name, sectionData[i].name, length))
</span><del>-            return static_cast&lt;WASMSections::Section&gt;(i);
</del><ins>+            return static_cast&lt;Sections::Section&gt;(i);
</ins><span class="cx">     }
</span><del>-    return WASMSections::Section::Unknown;
</del><ins>+    return Sections::Unknown;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WASM
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWASMSectionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WASMSections.h (205308 => 205309)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WASMSections.h        2016-09-01 19:48:36 UTC (rev 205308)
+++ trunk/Source/JavaScriptCore/wasm/WASMSections.h        2016-09-01 20:04:02 UTC (rev 205309)
</span><span class="lines">@@ -38,8 +38,8 @@
</span><span class="cx">     macro(Definitions, &quot;code&quot;) \
</span><span class="cx">     macro(End, &quot;end&quot;)
</span><span class="cx"> 
</span><del>-struct WASMSections {
-    enum class Section {
</del><ins>+struct Sections {
+    enum Section {
</ins><span class="cx"> #define CREATE_SECTION_ENUM(name, str) name,
</span><span class="cx">         FOR_EACH_WASM_SECTION_TYPE(CREATE_SECTION_ENUM)
</span><span class="cx"> #undef CREATE_SECTION_ENUM
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     {
</span><span class="cx">         // This allows unknown sections after End, which I doubt will ever be supported but
</span><span class="cx">         // there is no reason to potentially break backwards compatability.
</span><del>-        if (previous == Section::Unknown)
</del><ins>+        if (previous == Unknown)
</ins><span class="cx">             return true;
</span><span class="cx">         return previous &lt; next;
</span><span class="cx">     }
</span></span></pre>
</div>
</div>

</body>
</html>