Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: src/compiler/wasm-compiler.h

Issue 1991143002: Convert SIMD wasm ops to runtime function calls (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Review changes Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/compiler/wasm-compiler.h
diff --git a/src/compiler/wasm-compiler.h b/src/compiler/wasm-compiler.h
index 406336b0e189a05e50fe13987d2ef0924d35e496..e9bc43a2df152a0f5ab75d19680e5c2b27989666 100644
--- a/src/compiler/wasm-compiler.h
+++ b/src/compiler/wasm-compiler.h
@@ -161,6 +161,10 @@ class WasmGraphBuilder {
Node* FromJS(Node* node, Node* context, wasm::LocalType type);
Node* Invert(Node* node);
Node* FunctionTable();
+ Node* BuildChangeInt32ToTagged(Node* value);
+ Node* BuildChangeTaggedToInt32(Node* value);
+ Node* BuildChangeFloat64ToTagged(Node* value);
+ Node* BuildChangeTaggedToFloat64(Node* value);
bbudge 2016/07/06 20:18:08 It's unfortunate we have to perturb this API, give
gdeepti 2016/07/07 04:05:34 Refactored SimdLowering class, ChangeToRuntimeCall
gdeepti 2016/07/08 00:09:25 The last part in my previous comment about the boo
//-----------------------------------------------------------------------
// Operations that concern the linear memory.
@@ -192,6 +196,12 @@ class WasmGraphBuilder {
void SetSourcePosition(Node* node, wasm::WasmCodePosition position);
+ //-----------------------------------------------------------------------
+ // SIMD operations.
+ //-----------------------------------------------------------------------
+ Node* DefaultS128Value();
bbudge 2016/07/06 20:18:08 This method logically belongs near Float64Constant
gdeepti 2016/07/07 04:05:34 Moved method, removed SIMD section.
+ bool HasSimdOps() { return has_simd_ops_; }
bbudge 2016/07/06 20:18:08 nit: simple getter style would be has_simd_ops
gdeepti 2016/07/07 04:05:34 Done.
+
private:
static const int kDefaultBufferSize = 16;
friend class WasmTrapHelper;
@@ -213,6 +223,7 @@ class WasmGraphBuilder {
SetOncePointer<const Operator> allocate_heap_number_operator_;
compiler::SourcePositionTable* source_position_table_ = nullptr;
+ bool has_simd_ops_;
// Internal helper methods.
JSGraph* jsgraph() { return jsgraph_; }
@@ -315,9 +326,6 @@ class WasmGraphBuilder {
Node* BuildJavaScriptToNumber(Node* node, Node* context, Node* effect,
Node* control);
- Node* BuildChangeInt32ToTagged(Node* value);
- Node* BuildChangeFloat64ToTagged(Node* value);
- Node* BuildChangeTaggedToFloat64(Node* value);
Node* BuildChangeInt32ToSmi(Node* value);
Node* BuildChangeSmiToInt32(Node* value);
@@ -348,6 +356,9 @@ class WasmGraphBuilder {
if (buf != buffer) memcpy(buf, buffer, old_count * sizeof(Node*));
return buf;
}
+
+ // Simd helper functions
+ void SetHasSimdOps(bool has_simd_ops) { has_simd_ops_ = has_simd_ops; }
};
} // namespace compiler
} // namespace internal

Powered by Google App Engine
This is Rietveld 408576698