#include "src/wasm/constant-expression-interface.h"
#include "src/base/overflowing-math.h"
#include "src/execution/isolate.h"
#include "src/handles/handles-inl.h"
#include "src/objects/fixed-array-inl.h"
#include "src/objects/oddball.h"
#include "src/wasm/decoder.h"
#include "src/wasm/wasm-objects.h"
namespace v8 {
namespace internal {
namespace wasm {
void ConstantExpressionInterface::I32Const(FullDecoder* decoder, Value* result,
int32_t value) { … }
void ConstantExpressionInterface::I64Const(FullDecoder* decoder, Value* result,
int64_t value) { … }
void ConstantExpressionInterface::F32Const(FullDecoder* decoder, Value* result,
float value) { … }
void ConstantExpressionInterface::F64Const(FullDecoder* decoder, Value* result,
double value) { … }
void ConstantExpressionInterface::S128Const(FullDecoder* decoder,
const Simd128Immediate& imm,
Value* result) { … }
void ConstantExpressionInterface::UnOp(FullDecoder* decoder, WasmOpcode opcode,
const Value& input, Value* result) { … }
void ConstantExpressionInterface::BinOp(FullDecoder* decoder, WasmOpcode opcode,
const Value& lhs, const Value& rhs,
Value* result) { … }
void ConstantExpressionInterface::RefNull(FullDecoder* decoder, ValueType type,
Value* result) { … }
void ConstantExpressionInterface::RefFunc(FullDecoder* decoder,
uint32_t function_index,
Value* result) { … }
void ConstantExpressionInterface::GlobalGet(FullDecoder* decoder, Value* result,
const GlobalIndexImmediate& imm) { … }
void ConstantExpressionInterface::StructNew(FullDecoder* decoder,
const StructIndexImmediate& imm,
const Value args[], Value* result) { … }
void ConstantExpressionInterface::StringConst(FullDecoder* decoder,
const StringConstImmediate& imm,
Value* result) { … }
namespace {
WasmValue DefaultValueForType(ValueType type, Isolate* isolate) { … }
}
void ConstantExpressionInterface::StructNewDefault(
FullDecoder* decoder, const StructIndexImmediate& imm, Value* result) { … }
void ConstantExpressionInterface::ArrayNew(FullDecoder* decoder,
const ArrayIndexImmediate& imm,
const Value& length,
const Value& initial_value,
Value* result) { … }
void ConstantExpressionInterface::ArrayNewDefault(
FullDecoder* decoder, const ArrayIndexImmediate& imm, const Value& length,
Value* result) { … }
void ConstantExpressionInterface::ArrayNewFixed(
FullDecoder* decoder, const ArrayIndexImmediate& array_imm,
const IndexImmediate& length_imm, const Value elements[], Value* result) { … }
void ConstantExpressionInterface::ArrayNewSegment(
FullDecoder* decoder, const ArrayIndexImmediate& array_imm,
const IndexImmediate& segment_imm, const Value& offset_value,
const Value& length_value, Value* result) { … }
void ConstantExpressionInterface::RefI31(FullDecoder* decoder,
const Value& input, Value* result) { … }
void ConstantExpressionInterface::DoReturn(FullDecoder* decoder,
uint32_t ) { … }
Handle<WasmTrustedInstanceData>
ConstantExpressionInterface::GetTrustedInstanceDataForTypeIndex(
uint32_t index) { … }
}
}
}