v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
Main Page
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
codegen-arm.h
Go to the documentation of this file.
1
// Copyright 2011 the V8 project authors. All rights reserved.
2
// Redistribution and use in source and binary forms, with or without
3
// modification, are permitted provided that the following conditions are
4
// met:
5
//
6
// * Redistributions of source code must retain the above copyright
7
// notice, this list of conditions and the following disclaimer.
8
// * Redistributions in binary form must reproduce the above
9
// copyright notice, this list of conditions and the following
10
// disclaimer in the documentation and/or other materials provided
11
// with the distribution.
12
// * Neither the name of Google Inc. nor the names of its
13
// contributors may be used to endorse or promote products derived
14
// from this software without specific prior written permission.
15
//
16
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28
#ifndef V8_ARM_CODEGEN_ARM_H_
29
#define V8_ARM_CODEGEN_ARM_H_
30
31
#include "
ast.h
"
32
#include "
ic-inl.h
"
33
34
namespace
v8 {
35
namespace
internal {
36
37
38
enum
TypeofState
{
INSIDE_TYPEOF
,
NOT_INSIDE_TYPEOF
};
39
40
41
class
StringCharLoadGenerator
:
public
AllStatic
{
42
public
:
43
// Generates the code for handling different string types and loading the
44
// indexed character into |result|. We expect |index| as untagged input and
45
// |result| as untagged output.
46
static
void
Generate
(
MacroAssembler
* masm,
47
Register
string
,
48
Register
index,
49
Register
result,
50
Label* call_runtime);
51
52
private
:
53
DISALLOW_COPY_AND_ASSIGN(
StringCharLoadGenerator
);
54
};
55
56
57
class
MathExpGenerator
:
public
AllStatic
{
58
public
:
59
// Register input isn't modified. All other registers are clobbered.
60
static
void
EmitMathExp
(
MacroAssembler
* masm,
61
DwVfpRegister
input,
62
DwVfpRegister
result,
63
DwVfpRegister
double_scratch1,
64
DwVfpRegister
double_scratch2,
65
Register
temp1,
66
Register
temp2,
67
Register
temp3);
68
69
private
:
70
DISALLOW_COPY_AND_ASSIGN(
MathExpGenerator
);
71
};
72
73
} }
// namespace v8::internal
74
75
#endif // V8_ARM_CODEGEN_ARM_H_
v8::internal::NOT_INSIDE_TYPEOF
Definition:
codegen-arm.h:38
ic-inl.h
v8::internal::MacroAssembler
Definition:
macro-assembler-arm.h:90
v8::internal::MathExpGenerator
Definition:
codegen-arm.h:57
ast.h
v8::internal::Register
Definition:
assembler-arm.h:161
v8::internal::INSIDE_TYPEOF
Definition:
codegen-arm.h:38
v8::internal::StringCharLoadGenerator::Generate
static void Generate(MacroAssembler *masm, Register string, Register index, Register result, Label *call_runtime)
v8::internal::DwVfpRegister
Definition:
assembler-arm.h:270
v8::internal::TypeofState
TypeofState
Definition:
codegen-arm.h:38
v8::internal::StringCharLoadGenerator
Definition:
codegen-arm.h:41
v8::internal::AllStatic
Definition:
allocation.h:73
v8::internal::MathExpGenerator::EmitMathExp
static void EmitMathExp(MacroAssembler *masm, DwVfpRegister input, DwVfpRegister result, DwVfpRegister double_scratch1, DwVfpRegister double_scratch2, Register temp1, Register temp2, Register temp3)
src
arm
codegen-arm.h
Generated on Sat Jun 7 2014 23:53:59 for v8 by
1.8.6