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 2903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2914 break; | 2914 break; |
2915 case Conversion::kFloat64: | 2915 case Conversion::kFloat64: |
2916 ret = BuildChangeTaggedToFloat64(ret); | 2916 ret = BuildChangeTaggedToFloat64(ret); |
2917 break; | 2917 break; |
2918 default: | 2918 default: |
2919 break; | 2919 break; |
2920 } | 2920 } |
2921 return ret; | 2921 return ret; |
2922 } | 2922 } |
2923 | 2923 |
2924 Node* WasmGraphBuilder::LoadGlobal(uint32_t index) { | 2924 Node* WasmGraphBuilder::GetGlobal(uint32_t index) { |
2925 MachineType mem_type = | 2925 MachineType mem_type = |
2926 wasm::WasmOpcodes::MachineTypeFor(module_->GetGlobalType(index)); | 2926 wasm::WasmOpcodes::MachineTypeFor(module_->GetGlobalType(index)); |
2927 Node* addr = jsgraph()->RelocatableIntPtrConstant( | 2927 Node* addr = jsgraph()->RelocatableIntPtrConstant( |
2928 reinterpret_cast<uintptr_t>(module_->instance->globals_start + | 2928 reinterpret_cast<uintptr_t>(module_->instance->globals_start + |
2929 module_->module->globals[index].offset), | 2929 module_->module->globals[index].offset), |
2930 RelocInfo::WASM_GLOBAL_REFERENCE); | 2930 RelocInfo::WASM_GLOBAL_REFERENCE); |
2931 const Operator* op = jsgraph()->machine()->Load(mem_type); | 2931 const Operator* op = jsgraph()->machine()->Load(mem_type); |
2932 Node* node = graph()->NewNode(op, addr, jsgraph()->Int32Constant(0), *effect_, | 2932 Node* node = graph()->NewNode(op, addr, jsgraph()->Int32Constant(0), *effect_, |
2933 *control_); | 2933 *control_); |
2934 *effect_ = node; | 2934 *effect_ = node; |
2935 return node; | 2935 return node; |
2936 } | 2936 } |
2937 | 2937 |
2938 Node* WasmGraphBuilder::StoreGlobal(uint32_t index, Node* val) { | 2938 Node* WasmGraphBuilder::SetGlobal(uint32_t index, Node* val) { |
2939 MachineType mem_type = | 2939 MachineType mem_type = |
2940 wasm::WasmOpcodes::MachineTypeFor(module_->GetGlobalType(index)); | 2940 wasm::WasmOpcodes::MachineTypeFor(module_->GetGlobalType(index)); |
2941 Node* addr = jsgraph()->RelocatableIntPtrConstant( | 2941 Node* addr = jsgraph()->RelocatableIntPtrConstant( |
2942 reinterpret_cast<uintptr_t>(module_->instance->globals_start + | 2942 reinterpret_cast<uintptr_t>(module_->instance->globals_start + |
2943 module_->module->globals[index].offset), | 2943 module_->module->globals[index].offset), |
2944 RelocInfo::WASM_GLOBAL_REFERENCE); | 2944 RelocInfo::WASM_GLOBAL_REFERENCE); |
2945 const Operator* op = jsgraph()->machine()->Store( | 2945 const Operator* op = jsgraph()->machine()->Store( |
2946 StoreRepresentation(mem_type.representation(), kNoWriteBarrier)); | 2946 StoreRepresentation(mem_type.representation(), kNoWriteBarrier)); |
2947 Node* node = graph()->NewNode(op, addr, jsgraph()->Int32Constant(0), val, | 2947 Node* node = graph()->NewNode(op, addr, jsgraph()->Int32Constant(0), val, |
2948 *effect_, *control_); | 2948 *effect_, *control_); |
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3496 function_->code_start_offset), | 3496 function_->code_start_offset), |
3497 compile_ms); | 3497 compile_ms); |
3498 } | 3498 } |
3499 | 3499 |
3500 return code; | 3500 return code; |
3501 } | 3501 } |
3502 | 3502 |
3503 } // namespace compiler | 3503 } // namespace compiler |
3504 } // namespace internal | 3504 } // namespace internal |
3505 } // namespace v8 | 3505 } // namespace v8 |
OLD | NEW |