Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / v8 / 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 "ast.h"
11 #include "ic-inl.h"
12
13 namespace v8 {
14 namespace internal {
15
16
17 enum TypeofState { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF };
18
19
20 class StringCharLoadGenerator : public AllStatic {
21  public:
22   // Generates the code for handling different string types and loading the
23   // indexed character into |result|.  We expect |index| as untagged input and
24   // |result| as untagged output.
25   static void Generate(MacroAssembler* masm,
26                        Register string,
27                        Register index,
28                        Register result,
29                        Label* call_runtime);
30
31  private:
32   DISALLOW_COPY_AND_ASSIGN(StringCharLoadGenerator);
33 };
34
35
36 class MathExpGenerator : public AllStatic {
37  public:
38   // Register input isn't modified. All other registers are clobbered.
39   static void EmitMathExp(MacroAssembler* masm,
40                           DoubleRegister input,
41                           DoubleRegister result,
42                           DoubleRegister double_scratch1,
43                           DoubleRegister double_scratch2,
44                           Register temp1,
45                           Register temp2,
46                           Register temp3);
47
48  private:
49   DISALLOW_COPY_AND_ASSIGN(MathExpGenerator);
50 };
51
52 } }  // namespace v8::internal
53
54 #endif  // V8_MIPS_CODEGEN_MIPS_H_