| 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/assembler-inl.h" | 9 #include "src/assembler-inl.h" |
| 10 #include "src/base/platform/elapsed-timer.h" | 10 #include "src/base/platform/elapsed-timer.h" |
| (...skipping 3179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3190 return graph()->NewNode(jsgraph()->machine()->F32x4Neg(), inputs[0]); | 3190 return graph()->NewNode(jsgraph()->machine()->F32x4Neg(), inputs[0]); |
| 3191 case wasm::kExprF32x4RecipApprox: | 3191 case wasm::kExprF32x4RecipApprox: |
| 3192 return graph()->NewNode(jsgraph()->machine()->F32x4RecipApprox(), | 3192 return graph()->NewNode(jsgraph()->machine()->F32x4RecipApprox(), |
| 3193 inputs[0]); | 3193 inputs[0]); |
| 3194 case wasm::kExprF32x4RecipSqrtApprox: | 3194 case wasm::kExprF32x4RecipSqrtApprox: |
| 3195 return graph()->NewNode(jsgraph()->machine()->F32x4RecipSqrtApprox(), | 3195 return graph()->NewNode(jsgraph()->machine()->F32x4RecipSqrtApprox(), |
| 3196 inputs[0]); | 3196 inputs[0]); |
| 3197 case wasm::kExprF32x4Add: | 3197 case wasm::kExprF32x4Add: |
| 3198 return graph()->NewNode(jsgraph()->machine()->F32x4Add(), inputs[0], | 3198 return graph()->NewNode(jsgraph()->machine()->F32x4Add(), inputs[0], |
| 3199 inputs[1]); | 3199 inputs[1]); |
| 3200 case wasm::kExprF32x4AddHoriz: |
| 3201 return graph()->NewNode(jsgraph()->machine()->F32x4AddHoriz(), inputs[0], |
| 3202 inputs[1]); |
| 3200 case wasm::kExprF32x4Sub: | 3203 case wasm::kExprF32x4Sub: |
| 3201 return graph()->NewNode(jsgraph()->machine()->F32x4Sub(), inputs[0], | 3204 return graph()->NewNode(jsgraph()->machine()->F32x4Sub(), inputs[0], |
| 3202 inputs[1]); | 3205 inputs[1]); |
| 3203 case wasm::kExprF32x4Mul: | 3206 case wasm::kExprF32x4Mul: |
| 3204 return graph()->NewNode(jsgraph()->machine()->F32x4Mul(), inputs[0], | 3207 return graph()->NewNode(jsgraph()->machine()->F32x4Mul(), inputs[0], |
| 3205 inputs[1]); | 3208 inputs[1]); |
| 3206 case wasm::kExprF32x4Min: | 3209 case wasm::kExprF32x4Min: |
| 3207 return graph()->NewNode(jsgraph()->machine()->F32x4Min(), inputs[0], | 3210 return graph()->NewNode(jsgraph()->machine()->F32x4Min(), inputs[0], |
| 3208 inputs[1]); | 3211 inputs[1]); |
| 3209 case wasm::kExprF32x4Max: | 3212 case wasm::kExprF32x4Max: |
| (...skipping 29 matching lines...) Expand all Loading... |
| 3239 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8Low(), | 3242 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8Low(), |
| 3240 inputs[0]); | 3243 inputs[0]); |
| 3241 case wasm::kExprI32x4SConvertI16x8High: | 3244 case wasm::kExprI32x4SConvertI16x8High: |
| 3242 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8High(), | 3245 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8High(), |
| 3243 inputs[0]); | 3246 inputs[0]); |
| 3244 case wasm::kExprI32x4Neg: | 3247 case wasm::kExprI32x4Neg: |
| 3245 return graph()->NewNode(jsgraph()->machine()->I32x4Neg(), inputs[0]); | 3248 return graph()->NewNode(jsgraph()->machine()->I32x4Neg(), inputs[0]); |
| 3246 case wasm::kExprI32x4Add: | 3249 case wasm::kExprI32x4Add: |
| 3247 return graph()->NewNode(jsgraph()->machine()->I32x4Add(), inputs[0], | 3250 return graph()->NewNode(jsgraph()->machine()->I32x4Add(), inputs[0], |
| 3248 inputs[1]); | 3251 inputs[1]); |
| 3252 case wasm::kExprI32x4AddHoriz: |
| 3253 return graph()->NewNode(jsgraph()->machine()->I32x4AddHoriz(), inputs[0], |
| 3254 inputs[1]); |
| 3249 case wasm::kExprI32x4Sub: | 3255 case wasm::kExprI32x4Sub: |
| 3250 return graph()->NewNode(jsgraph()->machine()->I32x4Sub(), inputs[0], | 3256 return graph()->NewNode(jsgraph()->machine()->I32x4Sub(), inputs[0], |
| 3251 inputs[1]); | 3257 inputs[1]); |
| 3252 case wasm::kExprI32x4Mul: | 3258 case wasm::kExprI32x4Mul: |
| 3253 return graph()->NewNode(jsgraph()->machine()->I32x4Mul(), inputs[0], | 3259 return graph()->NewNode(jsgraph()->machine()->I32x4Mul(), inputs[0], |
| 3254 inputs[1]); | 3260 inputs[1]); |
| 3255 case wasm::kExprI32x4MinS: | 3261 case wasm::kExprI32x4MinS: |
| 3256 return graph()->NewNode(jsgraph()->machine()->I32x4MinS(), inputs[0], | 3262 return graph()->NewNode(jsgraph()->machine()->I32x4MinS(), inputs[0], |
| 3257 inputs[1]); | 3263 inputs[1]); |
| 3258 case wasm::kExprI32x4MaxS: | 3264 case wasm::kExprI32x4MaxS: |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3312 return graph()->NewNode(jsgraph()->machine()->I16x8Neg(), inputs[0]); | 3318 return graph()->NewNode(jsgraph()->machine()->I16x8Neg(), inputs[0]); |
| 3313 case wasm::kExprI16x8SConvertI32x4: | 3319 case wasm::kExprI16x8SConvertI32x4: |
| 3314 return graph()->NewNode(jsgraph()->machine()->I16x8SConvertI32x4(), | 3320 return graph()->NewNode(jsgraph()->machine()->I16x8SConvertI32x4(), |
| 3315 inputs[0], inputs[1]); | 3321 inputs[0], inputs[1]); |
| 3316 case wasm::kExprI16x8Add: | 3322 case wasm::kExprI16x8Add: |
| 3317 return graph()->NewNode(jsgraph()->machine()->I16x8Add(), inputs[0], | 3323 return graph()->NewNode(jsgraph()->machine()->I16x8Add(), inputs[0], |
| 3318 inputs[1]); | 3324 inputs[1]); |
| 3319 case wasm::kExprI16x8AddSaturateS: | 3325 case wasm::kExprI16x8AddSaturateS: |
| 3320 return graph()->NewNode(jsgraph()->machine()->I16x8AddSaturateS(), | 3326 return graph()->NewNode(jsgraph()->machine()->I16x8AddSaturateS(), |
| 3321 inputs[0], inputs[1]); | 3327 inputs[0], inputs[1]); |
| 3328 case wasm::kExprI16x8AddHoriz: |
| 3329 return graph()->NewNode(jsgraph()->machine()->I16x8AddHoriz(), inputs[0], |
| 3330 inputs[1]); |
| 3322 case wasm::kExprI16x8Sub: | 3331 case wasm::kExprI16x8Sub: |
| 3323 return graph()->NewNode(jsgraph()->machine()->I16x8Sub(), inputs[0], | 3332 return graph()->NewNode(jsgraph()->machine()->I16x8Sub(), inputs[0], |
| 3324 inputs[1]); | 3333 inputs[1]); |
| 3325 case wasm::kExprI16x8SubSaturateS: | 3334 case wasm::kExprI16x8SubSaturateS: |
| 3326 return graph()->NewNode(jsgraph()->machine()->I16x8SubSaturateS(), | 3335 return graph()->NewNode(jsgraph()->machine()->I16x8SubSaturateS(), |
| 3327 inputs[0], inputs[1]); | 3336 inputs[0], inputs[1]); |
| 3328 case wasm::kExprI16x8Mul: | 3337 case wasm::kExprI16x8Mul: |
| 3329 return graph()->NewNode(jsgraph()->machine()->I16x8Mul(), inputs[0], | 3338 return graph()->NewNode(jsgraph()->machine()->I16x8Mul(), inputs[0], |
| 3330 inputs[1]); | 3339 inputs[1]); |
| 3331 case wasm::kExprI16x8MinS: | 3340 case wasm::kExprI16x8MinS: |
| (...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4133 wasm::ModuleBytesEnv* module_env, const wasm::WasmFunction* function) { | 4142 wasm::ModuleBytesEnv* module_env, const wasm::WasmFunction* function) { |
| 4134 WasmCompilationUnit unit(isolate, module_env, function); | 4143 WasmCompilationUnit unit(isolate, module_env, function); |
| 4135 unit.InitializeHandles(); | 4144 unit.InitializeHandles(); |
| 4136 unit.ExecuteCompilation(); | 4145 unit.ExecuteCompilation(); |
| 4137 return unit.FinishCompilation(thrower); | 4146 return unit.FinishCompilation(thrower); |
| 4138 } | 4147 } |
| 4139 | 4148 |
| 4140 } // namespace compiler | 4149 } // namespace compiler |
| 4141 } // namespace internal | 4150 } // namespace internal |
| 4142 } // namespace v8 | 4151 } // namespace v8 |
| OLD | NEW |