OLD | NEW |
---|---|
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/wasm-compiler.h" | 5 #include "src/compiler/wasm-compiler.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "src/isolate-inl.h" | 9 #include "src/isolate-inl.h" |
10 | 10 |
(...skipping 2872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2883 // TODO(gdeepti): Introduce Simd128Constant to common-operator.h and use | 2883 // TODO(gdeepti): Introduce Simd128Constant to common-operator.h and use |
2884 // instead of creating a SIMD Value. | 2884 // instead of creating a SIMD Value. |
2885 return graph()->NewNode(jsgraph()->machine()->CreateInt32x4(), | 2885 return graph()->NewNode(jsgraph()->machine()->CreateInt32x4(), |
2886 Int32Constant(0), Int32Constant(0), Int32Constant(0), | 2886 Int32Constant(0), Int32Constant(0), Int32Constant(0), |
2887 Int32Constant(0)); | 2887 Int32Constant(0)); |
2888 } | 2888 } |
2889 | 2889 |
2890 Node* WasmGraphBuilder::SimdOp(wasm::WasmOpcode opcode, | 2890 Node* WasmGraphBuilder::SimdOp(wasm::WasmOpcode opcode, |
2891 const NodeVector& inputs) { | 2891 const NodeVector& inputs) { |
2892 switch (opcode) { | 2892 switch (opcode) { |
2893 case wasm::kExprI32x4ExtractLane: | |
2894 return graph()->NewNode(jsgraph()->machine()->Int32x4ExtractLane(), | |
2895 inputs[0], inputs[1]); | |
2896 case wasm::kExprI32x4Splat: | 2893 case wasm::kExprI32x4Splat: |
2897 return graph()->NewNode(jsgraph()->machine()->CreateInt32x4(), inputs[0], | 2894 return graph()->NewNode(jsgraph()->machine()->CreateInt32x4(), inputs[0], |
2898 inputs[0], inputs[0], inputs[0]); | 2895 inputs[0], inputs[0], inputs[0]); |
2899 default: | 2896 default: |
2900 return graph()->NewNode(UnsupportedOpcode(opcode), nullptr); | 2897 return graph()->NewNode(UnsupportedOpcode(opcode), nullptr); |
2901 } | 2898 } |
2902 } | 2899 } |
2903 | 2900 |
2901 Node* WasmGraphBuilder::SimdExtractLane(wasm::WasmOpcode opcode, uint8_t lane, | |
2902 Node* input) { | |
2903 switch (opcode) { | |
2904 case wasm::kExprI32x4ExtractLane: | |
2905 return graph()->NewNode(jsgraph()->machine()->Int32x4ExtractLane(), input, | |
2906 Int32Constant(lane)); | |
2907 default: | |
2908 return graph()->NewNode(UnsupportedOpcode(opcode), nullptr); | |
2909 } | |
2910 } | |
2911 | |
gdeepti
2016/09/01 00:52:52
This can be merged into the function above by taki
aseemgarg
2016/09/02 22:40:12
I'm not keen on having a single function as there
| |
2904 static void RecordFunctionCompilation(CodeEventListener::LogEventsAndTags tag, | 2912 static void RecordFunctionCompilation(CodeEventListener::LogEventsAndTags tag, |
2905 Isolate* isolate, Handle<Code> code, | 2913 Isolate* isolate, Handle<Code> code, |
2906 const char* message, uint32_t index, | 2914 const char* message, uint32_t index, |
2907 const wasm::WasmName& module_name, | 2915 const wasm::WasmName& module_name, |
2908 const wasm::WasmName& func_name) { | 2916 const wasm::WasmName& func_name) { |
2909 DCHECK(isolate->logger()->is_logging_code_events() || | 2917 DCHECK(isolate->logger()->is_logging_code_events() || |
2910 isolate->is_profiling()); | 2918 isolate->is_profiling()); |
2911 | 2919 |
2912 ScopedVector<char> buffer(128); | 2920 ScopedVector<char> buffer(128); |
2913 SNPrintF(buffer, "%s#%d:%.*s:%.*s", message, index, module_name.length(), | 2921 SNPrintF(buffer, "%s#%d:%.*s:%.*s", message, index, module_name.length(), |
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3249 function_->code_start_offset), | 3257 function_->code_start_offset), |
3250 compile_ms); | 3258 compile_ms); |
3251 } | 3259 } |
3252 | 3260 |
3253 return code; | 3261 return code; |
3254 } | 3262 } |
3255 | 3263 |
3256 } // namespace compiler | 3264 } // namespace compiler |
3257 } // namespace internal | 3265 } // namespace internal |
3258 } // namespace v8 | 3266 } // namespace v8 |
OLD | NEW |