f79ad4e41cafe631d21d922efa489b8b4941d4dc
[platform/upstream/v8.git] / src / mips / codegen-mips.h
1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5
6 #ifndef V8_MIPS_CODEGEN_MIPS_H_
7 #define V8_MIPS_CODEGEN_MIPS_H_
8
9
10 #include "src/ast.h"
11 #include "src/macro-assembler.h"
12
13 namespace v8 {
14 namespace internal {
15
16
17 class 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,
23                        Register string,
24                        Register index,
25                        Register result,
26                        Label* call_runtime);
27
28  private:
29   DISALLOW_COPY_AND_ASSIGN(StringCharLoadGenerator);
30 };
31
32
33 class MathExpGenerator : public AllStatic {
34  public:
35   // Register input isn't modified. All other registers are clobbered.
36   static void EmitMathExp(MacroAssembler* masm,
37                           DoubleRegister input,
38                           DoubleRegister result,
39                           DoubleRegister double_scratch1,
40                           DoubleRegister double_scratch2,
41                           Register temp1,
42                           Register temp2,
43                           Register temp3);
44
45  private:
46   DISALLOW_COPY_AND_ASSIGN(MathExpGenerator);
47 };
48
49 } }  // namespace v8::internal
50
51 #endif  // V8_MIPS_CODEGEN_MIPS_H_