diff options
Diffstat (limited to 'deps/v8/src/compiler/code-assembler.cc')
-rw-r--r-- | deps/v8/src/compiler/code-assembler.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/deps/v8/src/compiler/code-assembler.cc b/deps/v8/src/compiler/code-assembler.cc index 302c429f0fc..035d64144f6 100644 --- a/deps/v8/src/compiler/code-assembler.cc +++ b/deps/v8/src/compiler/code-assembler.cc @@ -308,6 +308,10 @@ TNode<ExternalReference> CodeAssembler::ExternalConstant( raw_assembler()->ExternalConstant(address)); } +TNode<Float32T> CodeAssembler::Float32Constant(double value) { + return UncheckedCast<Float32T>(jsgraph()->Float32Constant(value)); +} + TNode<Float64T> CodeAssembler::Float64Constant(double value) { return UncheckedCast<Float64T>(jsgraph()->Float64Constant(value)); } @@ -435,6 +439,20 @@ void CodeAssembler::Return(TNode<WordT> value) { return raw_assembler()->Return(value); } +void CodeAssembler::Return(TNode<Float32T> value) { + DCHECK_EQ(1, raw_assembler()->call_descriptor()->ReturnCount()); + DCHECK_EQ(MachineType::Float32(), + raw_assembler()->call_descriptor()->GetReturnType(0)); + return raw_assembler()->Return(value); +} + +void CodeAssembler::Return(TNode<Float64T> value) { + DCHECK_EQ(1, raw_assembler()->call_descriptor()->ReturnCount()); + DCHECK_EQ(MachineType::Float64(), + raw_assembler()->call_descriptor()->GetReturnType(0)); + return raw_assembler()->Return(value); +} + void CodeAssembler::Return(TNode<WordT> value1, TNode<WordT> value2) { DCHECK_EQ(2, raw_assembler()->call_descriptor()->ReturnCount()); DCHECK_EQ( |