v8
3.11.10(node0.8.26)
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
disassembler.h
Go to the documentation of this file.
1
// Copyright 2006-2008 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_DISASSEMBLER_H_
29
#define V8_DISASSEMBLER_H_
30
31
#include "
allocation.h
"
32
33
namespace
v8 {
34
namespace
internal {
35
36
class
Disassembler
:
public
AllStatic
{
37
public
:
38
// Print the bytes in the interval [begin, end) into f.
39
static
void
Dump
(FILE* f,
byte
* begin,
byte
* end);
40
41
// Decode instructions in the the interval [begin, end) and print the
42
// code into f. Returns the number of bytes disassembled or 1 if no
43
// instruction could be decoded.
44
static
int
Decode
(FILE* f,
byte
* begin,
byte
* end);
45
46
// Decode instructions in code.
47
static
void
Decode
(FILE* f,
Code
* code);
48
private
:
49
// Decode instruction at pc and print disassembled instruction into f.
50
// Returns the instruction length in bytes, or 1 if the instruction could
51
// not be decoded. The number of characters written is written into
52
// the out parameter char_count.
53
static
int
Decode
(FILE* f,
byte
*
pc
,
int
* char_count);
54
};
55
56
} }
// namespace v8::internal
57
58
#endif // V8_DISASSEMBLER_H_
v8::internal::byte
uint8_t byte
Definition:
globals.h:171
v8::internal::pc
const Register pc
Definition:
assembler-arm.h:166
allocation.h
v8::internal::Disassembler
Definition:
disassembler.h:36
v8::internal::AllStatic
Definition:
allocation.h:73
v8::internal::Code
Definition:
objects.h:4158
v8::internal::Disassembler::Decode
static int Decode(FILE *f, byte *begin, byte *end)
Definition:
disassembler.cc:343
v8::internal::Disassembler::Dump
static void Dump(FILE *f, byte *begin, byte *end)
Definition:
disassembler.cc:342
src
disassembler.h
Generated on Sat Jun 7 2014 23:32:00 for v8 by
1.8.6