<!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<Context>::FunctionParser):
(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
(JSC::WASM::WASMFunctionParser<Context>::WASMFunctionParser): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parse): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseBlock): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::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 <keith_miller@apple.com>
+
+ 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<Context>::FunctionParser):
+ (JSC::WASM::FunctionParser<Context>::parse):
+ (JSC::WASM::FunctionParser<Context>::parseBlock):
+ (JSC::WASM::FunctionParser<Context>::parseExpression):
+ (JSC::WASM::WASMFunctionParser<Context>::WASMFunctionParser): Deleted.
+ (JSC::WASM::WASMFunctionParser<Context>::parse): Deleted.
+ (JSC::WASM::WASMFunctionParser<Context>::parseBlock): Deleted.
+ (JSC::WASM::WASMFunctionParser<Context>::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 <fpizlo@apple.com>
</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<uint32_t>& i32Constants() { return m_i32Constants; }
</span><span class="cx"> Vector<float>& f32Constants() { return m_f32Constants; }
</span><span class="cx"> Vector<double>& f64Constants() { return m_f64Constants; }
</span><del>- Vector<WASMSignature>& signatures() { return m_signatures; }
- Vector<WASMFunctionImport>& functionImports() { return m_functionImports; }
- Vector<WASMFunctionImportSignature>& functionImportSignatures() { return m_functionImportSignatures; }
- Vector<WASMValueType>& globalVariableTypes() { return m_globalVariableTypes; }
- Vector<WASMFunctionDeclaration>& functionDeclarations() { return m_functionDeclarations; }
- Vector<WASMFunctionPointerTable>& functionPointerTables() { return m_functionPointerTables; }
</del><ins>+ Vector<WASM::Signature>& signatures() { return m_signatures; }
+ Vector<WASM::FunctionImport>& functionImports() { return m_functionImports; }
+ Vector<WASM::FunctionImportSignature>& functionImportSignatures() { return m_functionImportSignatures; }
+ Vector<WASM::Type>& globalVariableTypes() { return m_globalVariableTypes; }
+ Vector<WASM::FunctionDeclaration>& functionDeclarations() { return m_functionDeclarations; }
+ Vector<WASM::FunctionPointerTable>& 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<WriteBarrier<JSFunction>>& functions() { return m_functions; }
</span><span class="lines">@@ -95,12 +95,12 @@
</span><span class="cx"> Vector<uint32_t> m_i32Constants;
</span><span class="cx"> Vector<float> m_f32Constants;
</span><span class="cx"> Vector<double> m_f64Constants;
</span><del>- Vector<WASMSignature> m_signatures;
- Vector<WASMFunctionImport> m_functionImports;
- Vector<WASMFunctionImportSignature> m_functionImportSignatures;
- Vector<WASMValueType> m_globalVariableTypes;
- Vector<WASMFunctionDeclaration> m_functionDeclarations;
- Vector<WASMFunctionPointerTable> m_functionPointerTables;
</del><ins>+ Vector<WASM::Signature> m_signatures;
+ Vector<WASM::FunctionImport> m_functionImports;
+ Vector<WASM::FunctionImportSignature> m_functionImportSignatures;
+ Vector<WASM::Type> m_globalVariableTypes;
+ Vector<WASM::FunctionDeclaration> m_functionDeclarations;
+ Vector<WASM::FunctionPointerTable> m_functionPointerTables;
</ins><span class="cx">
</span><span class="cx"> WriteBarrier<JSArrayBuffer> m_arrayBuffer;
</span><span class="cx"> Vector<WriteBarrier<JSFunction>> 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&);
</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& result);
- bool WARN_UNUSED_RETURN unaryOp(WASMUnaryOpType, ExpressionType arg, ExpressionType& result);
</del><ins>+ bool WARN_UNUSED_RETURN binaryOp(BinaryOpType, ExpressionType left, ExpressionType right, ExpressionType& result);
+ bool WARN_UNUSED_RETURN unaryOp(UnaryOpType, ExpressionType arg, ExpressionType& result);
</ins><span class="cx">
</span><span class="cx"> bool WARN_UNUSED_RETURN addBlock();
</span><span class="cx"> bool WARN_UNUSED_RETURN endBlock(Vector<ExpressionType>& 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& result)
</del><ins>+bool B3IRGenerator::unaryOp(UnaryOpType op, ExpressionType arg, ExpressionType& result)
</ins><span class="cx"> {
</span><span class="cx"> result = m_currentBlock->appendNew<Value>(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& result)
</del><ins>+bool B3IRGenerator::binaryOp(BinaryOpType op, ExpressionType left, ExpressionType right, ExpressionType& result)
</ins><span class="cx"> {
</span><span class="cx"> result = m_currentBlock->appendNew<Value>(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->appendNew<Const32Value>(m_proc, Origin(), static_cast<int32_t>(value));
</span><del>- case WASMValueType::I64:
</del><ins>+ case Int64:
</ins><span class="cx"> return m_currentBlock->appendNew<Const64Value>(m_proc, Origin(), value);
</span><del>- case WASMValueType::F32:
</del><ins>+ case Float:
</ins><span class="cx"> return m_currentBlock->appendNew<ConstFloatValue>(m_proc, Origin(), bitwise_cast<float>(static_cast<int32_t>(value)));
</span><del>- case WASMValueType::F64:
</del><ins>+ case Double:
</ins><span class="cx"> return m_currentBlock->appendNew<ConstDoubleValue>(m_proc, Origin(), bitwise_cast<double>(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<Compilation> parseAndCompile(VM& vm, Vector<uint8_t>& source, WASMFunctionInformation info, unsigned optLevel)
</del><ins>+std::unique_ptr<Compilation> parseAndCompile(VM& vm, Vector<uint8_t>& 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<B3IRGenerator> parser(context, source, info);
</del><ins>+ FunctionParser<B3IRGenerator> 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<B3::Compilation> parseAndCompile(VM&, Vector<uint8_t>&, WASMFunctionInformation, unsigned optLevel = 1);
</del><ins>+std::unique_ptr<B3::Compilation> parseAndCompile(VM&, Vector<uint8_t>&, 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 "B3Type.h"
</ins><span class="cx"> #include <wtf/Vector.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</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<WASMValueType> arguments;
</del><ins>+static_assert(Int32 == 0, "WASM needs B3::Type::Int32 to have the value 0");
+static_assert(Int64 == 1, "WASM needs B3::Type::Int64 to have the value 1");
+static_assert(Float == 2, "WASM needs B3::Type::Float to have the value 2");
+static_assert(Double == 3, "WASM needs B3::Type::Double to have the value 3");
+
+struct Signature {
+ Type returnType;
+ Vector<Type> 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<uint32_t> functionIndices;
</span><span class="cx"> Vector<JSFunction*> 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<typename Context>
</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&, const Vector<uint8_t>& sourceBuffer, const WASMFunctionInformation&);
</del><ins>+ FunctionParser(Context&, const Vector<uint8_t>& sourceBuffer, const FunctionInformation&);
</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<ExpressionType>&, unsigned level);
</span><span class="cx">
</span><span class="cx"> Optional<Vector<ExpressionType>>& stackForControlLevel(unsigned level);
</span><span class="lines">@@ -57,14 +57,14 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> template<typename Context>
</span><del>-WASMFunctionParser<Context>::WASMFunctionParser(Context& context, const Vector<uint8_t>& sourceBuffer, const WASMFunctionInformation& info)
- : WASMParser(sourceBuffer, info.start, info.end)
</del><ins>+FunctionParser<Context>::FunctionParser(Context& context, const Vector<uint8_t>& sourceBuffer, const FunctionInformation& 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<typename Context>
</span><del>-bool WASMFunctionParser<Context>::parse()
</del><ins>+bool FunctionParser<Context>::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<typename Context>
</span><del>-bool WASMFunctionParser<Context>::parseBlock()
</del><ins>+bool FunctionParser<Context>::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<WASMOpType>(op))) {
</del><ins>+ if (!parseExpression(static_cast<OpType>(op))) {
</ins><span class="cx"> if (verbose)
</span><span class="cx"> dataLogLn("failed to process op:", 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<typename Context>
</span><del>-bool WASMFunctionParser<Context>::parseExpression(WASMOpType op)
</del><ins>+bool FunctionParser<Context>::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<WASMBinaryOpType>(op), left, right, result))
</del><ins>+ if (!m_context.binaryOp(static_cast<BinaryOpType>(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<WASMUnaryOpType>(op), arg, result))
</del><ins>+ if (!m_context.unaryOp(static_cast<UnaryOpType>(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 < 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("Passed processing header.");
</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 < m_sourceLength) {
</span><span class="cx"> if (verbose)
</span><span class="cx"> dataLogLn("Starting to parse next section at offset: ", m_offset);
</span><span class="lines">@@ -71,8 +71,8 @@
</span><span class="cx"> if (m_offset + sectionNameLength + maxLEBByteLength >= 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("Parsing types.");
</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("Parsing function signatures.");
</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("Parsing function definitions.");
</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("Unknown section, skipping.");
</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("argumentCount: ", argumentCount);
</span><span class="cx">
</span><del>- Vector<WASMValueType> argumentTypes;
</del><ins>+ Vector<Type> argumentTypes;
+ argumentTypes.resize(argumentCount);
+
</ins><span class="cx"> for (unsigned i = 0; i < argumentCount; ++i) {
</span><del>- if (!parseUInt7(type) || type >= static_cast<uint8_t>(WASMValueType::NumberOfTypes))
</del><ins>+ if (!parseUInt7(type) || type >= static_cast<uint8_t>(Type::LastValueType))
</ins><span class="cx"> return false;
</span><del>- argumentTypes.append(static_cast<WASMValueType>(type));
</del><ins>+ argumentTypes.append(static_cast<Type>(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<WASMFunctionReturnType>(value);
</del><ins>+ returnType = static_cast<Type>(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& info = m_functions[i];
</del><ins>+ FunctionInformation& 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<uint8_t>& sourceBuffer)
- : WASMParser(sourceBuffer, 0, sourceBuffer.size())
</del><ins>+ ModuleParser(const Vector<uint8_t>& 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<WASMFunctionInformation>& functionInformation() { return m_functions; }
</del><ins>+ const Vector<FunctionInformation>& 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<WASMFunctionInformation> m_functions;
</del><ins>+ Vector<FunctionInformation> 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<uint8_t>&, size_t start, size_t end);
</del><ins>+ Parser(const Vector<uint8_t>&, 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& 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& result);
</del><ins>+ bool WARN_UNUSED_RETURN parseValueType(Type& result);
</ins><span class="cx">
</span><span class="cx"> const Vector<uint8_t>& 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<uint8_t>& sourceBuffer, size_t start, size_t end)
</del><ins>+ALWAYS_INLINE Parser::Parser(const Vector<uint8_t>& 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 < 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 >= 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& result)
</del><ins>+ALWAYS_INLINE bool Parser::parseUInt32(uint32_t& result)
</ins><span class="cx"> {
</span><span class="cx"> if (m_offset + 4 >= 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& result)
</del><ins>+ALWAYS_INLINE bool Parser::parseUInt7(uint8_t& result)
</ins><span class="cx"> {
</span><span class="cx"> if (m_offset >= m_sourceLength)
</span><span class="cx"> return false;
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> return result < 0x80;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-ALWAYS_INLINE bool WASMParser::parseVarUInt1(uint8_t& result)
</del><ins>+ALWAYS_INLINE bool Parser::parseVarUInt1(uint8_t& 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 <= 1;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-ALWAYS_INLINE bool WASMParser::parseValueType(WASMValueType& result)
</del><ins>+ALWAYS_INLINE bool Parser::parseValueType(Type& 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 >= static_cast<uint8_t>(WASMValueType::NumberOfTypes))
</del><ins>+ if (value >= static_cast<uint8_t>(Type::LastValueType))
</ins><span class="cx"> return false;
</span><del>- result = static_cast<WASMValueType>(value);
</del><ins>+ result = static_cast<Type>(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("Starting plan.");
</span><del>- WASMModuleParser moduleParser(source);
</del><ins>+ ModuleParser moduleParser(source);
</ins><span class="cx"> if (!moduleParser.parse()) {
</span><span class="cx"> dataLogLn("Parsing module failed.");
</span><span class="cx"> return;
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> if (verbose)
</span><span class="cx"> dataLogLn("Parsed module.");
</span><span class="cx">
</span><del>- for (const WASMFunctionInformation& info : moduleParser.functionInformation()) {
</del><ins>+ for (const FunctionInformation& info : moduleParser.functionInformation()) {
</ins><span class="cx"> if (verbose)
</span><span class="cx"> dataLogLn("Processing funcion starting at: ", info.start, " and ending at: ", 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<unsigned>(WASMSections::Section::Unknown);
</del><ins>+static const unsigned sectionDataLength = static_cast<unsigned>(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("Decoding section with name: ", 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<WASMSections::Section>(i);
</del><ins>+ return static_cast<Sections::Section>(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, "code") \
</span><span class="cx"> macro(End, "end")
</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 < next;
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>