v8
5.5.372 (node 7.10.1)
V8 is Google's open source JavaScript engine
v8-experimental.h
Go to the documentation of this file.
1
// Copyright 2015 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
* This header contains a set of experimental V8 APIs. We hope these will
7
* become a part of standard V8, but they may also be removed if we deem the
8
* experiment to not be successul.
9
*/
10
#
ifndef
V8_INCLUDE_V8_EXPERIMENTAL_H_
11
#
define
V8_INCLUDE_V8_EXPERIMENTAL_H_
12
13
#
include
"v8.h"
// NOLINT(build/include)
14
15
namespace
v8
{
16
namespace
experimental
{
17
18
// Allow the embedder to construct accessors that V8 can compile and use
19
// directly, without jumping into the runtime.
20
class
V8_EXPORT
FastAccessorBuilder
{
21
public
:
22
struct
ValueId
{
23
size_t
value_id
;
24
};
25
struct
LabelId
{
26
size_t
label_id
;
27
};
28
29
static
FastAccessorBuilder
*
New
(
Isolate
* isolate);
30
31
ValueId
IntegerConstant
(
int
int_constant);
32
ValueId
GetReceiver
();
33
ValueId
LoadInternalField
(
ValueId
value_id,
int
field_no);
34
ValueId
LoadInternalFieldUnchecked
(
ValueId
value_id,
int
field_no);
35
ValueId
LoadValue
(
ValueId
value_id,
int
offset);
36
ValueId
LoadObject
(
ValueId
value_id,
int
offset);
37
ValueId
ToSmi
(
ValueId
value_id);
38
39
void
ReturnValue
(
ValueId
value_id);
40
void
CheckFlagSetOrReturnNull
(
ValueId
value_id,
int
mask);
41
void
CheckNotZeroOrReturnNull
(
ValueId
value_id);
42
LabelId
MakeLabel
();
43
void
SetLabel
(
LabelId
label_id);
44
void
Goto
(
LabelId
label_id);
45
void
CheckNotZeroOrJump
(
ValueId
value_id,
LabelId
label_id);
46
ValueId
Call
(
v8
::
FunctionCallback
callback,
ValueId
value_id);
47
48
private
:
49
FastAccessorBuilder() =
delete
;
50
FastAccessorBuilder(
const
FastAccessorBuilder
&) =
delete
;
51
~FastAccessorBuilder() =
delete
;
52
void
operator=(
const
FastAccessorBuilder
&) =
delete
;
53
};
54
55
}
// namespace experimental
56
}
// namespace v8
57
58
#
endif
// V8_INCLUDE_V8_EXPERIMENTAL_H_
include
v8-experimental.h
Generated on Fri Oct 29 2021 20:09:04 for v8 by
1.9.1