blob: 18cf8e29d1eca35080541112a33277445eddfd97 [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001// Copyright 2011 the V8 project authors. All rights reserved.
2//
3// Copyright IBM Corp. 2012, 2015. All rights reserved.
4//
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7
8#ifndef V8_S390_CODEGEN_S390_H_
9#define V8_S390_CODEGEN_S390_H_
10
11#include "src/ast/ast.h"
12#include "src/macro-assembler.h"
13
14namespace v8 {
15namespace internal {
16
17class StringCharLoadGenerator : public AllStatic {
18 public:
19 // Generates the code for handling different string types and loading the
20 // indexed character into |result|. We expect |index| as untagged input and
21 // |result| as untagged output.
22 static void Generate(MacroAssembler* masm, Register string, Register index,
23 Register result, Label* call_runtime);
24
25 private:
26 DISALLOW_COPY_AND_ASSIGN(StringCharLoadGenerator);
27};
28
29class MathExpGenerator : public AllStatic {
30 public:
31 // Register input isn't modified. All other registers are clobbered.
32 static void EmitMathExp(MacroAssembler* masm, DoubleRegister input,
33 DoubleRegister result, DoubleRegister double_scratch1,
34 DoubleRegister double_scratch2, Register temp1,
35 Register temp2, Register temp3);
36
37 private:
38 DISALLOW_COPY_AND_ASSIGN(MathExpGenerator);
39};
40
41} // namespace internal
42} // namespace v8
43
44#endif // V8_S390_CODEGEN_S390_H_