Add generated sources to build

This commit is contained in:
Andrew Hyatt 2018-01-05 13:07:20 -08:00
parent f596e9277a
commit aef5b28cf6
72 changed files with 278401 additions and 1561 deletions

2532
CMakeLists.txt Normal file → Executable file

File diff suppressed because it is too large Load Diff

241
DerrivedSources/AirOpcode.h Normal file
View File

@ -0,0 +1,241 @@
// Generated by opcode_generator.rb from JavaScriptCore/b3/air/AirOpcode.opcodes -- do not edit!
#ifndef AirOpcode_h
#define AirOpcode_h
namespace JSC { namespace B3 { namespace Air {
enum Opcode : int16_t {
Nop,
Add32,
Add8,
Add16,
Add64,
AddDouble,
AddFloat,
Sub32,
Sub64,
SubDouble,
SubFloat,
Neg32,
Neg64,
NegateDouble,
NegateFloat,
Mul32,
Mul64,
MultiplyAdd32,
MultiplyAdd64,
MultiplySub32,
MultiplySub64,
MultiplyNeg32,
MultiplyNeg64,
Div32,
UDiv32,
Div64,
UDiv64,
MulDouble,
MulFloat,
DivDouble,
DivFloat,
X86ConvertToDoubleWord32,
X86ConvertToQuadWord64,
X86Div32,
X86UDiv32,
X86Div64,
X86UDiv64,
Lea32,
Lea64,
And32,
And64,
AndDouble,
AndFloat,
OrDouble,
OrFloat,
XorDouble,
XorFloat,
Lshift32,
Lshift64,
Rshift32,
Rshift64,
Urshift32,
Urshift64,
RotateRight32,
RotateRight64,
RotateLeft32,
RotateLeft64,
Or32,
Or64,
Xor32,
Xor64,
Not32,
Not64,
AbsDouble,
AbsFloat,
CeilDouble,
CeilFloat,
FloorDouble,
FloorFloat,
SqrtDouble,
SqrtFloat,
ConvertInt32ToDouble,
ConvertInt64ToDouble,
ConvertInt32ToFloat,
ConvertInt64ToFloat,
CountLeadingZeros32,
CountLeadingZeros64,
ConvertDoubleToFloat,
ConvertFloatToDouble,
Move,
Swap32,
Swap64,
Move32,
StoreZero32,
SignExtend32ToPtr,
ZeroExtend8To32,
SignExtend8To32,
ZeroExtend16To32,
SignExtend16To32,
MoveFloat,
MoveDouble,
MoveZeroToDouble,
Move64ToDouble,
Move32ToFloat,
MoveDoubleTo64,
MoveFloatTo32,
Load8,
LoadAcq8,
Store8,
StoreRel8,
Load8SignedExtendTo32,
LoadAcq8SignedExtendTo32,
Load16,
LoadAcq16,
Load16SignedExtendTo32,
LoadAcq16SignedExtendTo32,
Store16,
StoreRel16,
LoadAcq32,
StoreRel32,
LoadAcq64,
StoreRel64,
Xchg8,
Xchg16,
Xchg32,
Xchg64,
AtomicStrongCAS8,
AtomicStrongCAS16,
AtomicStrongCAS32,
AtomicStrongCAS64,
BranchAtomicStrongCAS8,
BranchAtomicStrongCAS16,
BranchAtomicStrongCAS32,
BranchAtomicStrongCAS64,
AtomicAdd8,
AtomicAdd16,
AtomicAdd32,
AtomicAdd64,
AtomicSub8,
AtomicSub16,
AtomicSub32,
AtomicSub64,
AtomicAnd8,
AtomicAnd16,
AtomicAnd32,
AtomicAnd64,
AtomicOr8,
AtomicOr16,
AtomicOr32,
AtomicOr64,
AtomicXor8,
AtomicXor16,
AtomicXor32,
AtomicXor64,
AtomicNeg8,
AtomicNeg16,
AtomicNeg32,
AtomicNeg64,
AtomicNot8,
AtomicNot16,
AtomicNot32,
AtomicNot64,
AtomicXchgAdd8,
AtomicXchgAdd16,
AtomicXchgAdd32,
AtomicXchgAdd64,
AtomicXchg8,
AtomicXchg16,
AtomicXchg32,
AtomicXchg64,
LoadLink8,
LoadLinkAcq8,
StoreCond8,
StoreCondRel8,
LoadLink16,
LoadLinkAcq16,
StoreCond16,
StoreCondRel16,
LoadLink32,
LoadLinkAcq32,
StoreCond32,
StoreCondRel32,
LoadLink64,
LoadLinkAcq64,
StoreCond64,
StoreCondRel64,
Depend32,
Depend64,
Compare32,
Compare64,
Test32,
Test64,
CompareDouble,
CompareFloat,
Branch8,
Branch32,
Branch64,
BranchTest8,
BranchTest32,
BranchTest64,
BranchDouble,
BranchFloat,
BranchAdd32,
BranchAdd64,
BranchMul32,
BranchMul64,
BranchSub32,
BranchSub64,
BranchNeg32,
BranchNeg64,
MoveConditionally32,
MoveConditionally64,
MoveConditionallyTest32,
MoveConditionallyTest64,
MoveConditionallyDouble,
MoveConditionallyFloat,
MoveDoubleConditionally32,
MoveDoubleConditionally64,
MoveDoubleConditionallyTest32,
MoveDoubleConditionallyTest64,
MoveDoubleConditionallyDouble,
MoveDoubleConditionallyFloat,
MemoryFence,
StoreFence,
LoadFence,
Jump,
RetVoid,
Ret32,
Ret64,
RetFloat,
RetDouble,
Oops,
EntrySwitch,
Shuffle,
Patch,
CCall,
ColdCCall,
WasmBoundsCheck,
};
static const unsigned numOpcodes = 228;
} } } // namespace JSC::B3::Air
namespace WTF {
class PrintStream;
JS_EXPORT_PRIVATE void printInternal(PrintStream&, JSC::B3::Air::Opcode);
} // namespace WTF
#endif // AirOpcode_h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
// Automatically generated from JavaScriptCore/runtime/ArrayConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex arrayConstructorTableIndex[4] = {
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
{ 0, -1 },
};
static const struct HashTableValue arrayConstructorTableValues[2] = {
{ "of", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(arrayConstructorOfCodeGenerator), (intptr_t)0 } },
{ "from", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(arrayConstructorFromCodeGenerator), (intptr_t)0 } },
};
static const struct HashTable arrayConstructorTable =
{ 2, 3, false, arrayConstructorTableValues, arrayConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,20 @@
// Automatically generated from JavaScriptCore/runtime/ArrayIteratorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex arrayIteratorPrototypeTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue arrayIteratorPrototypeTableValues[1] = {
{ "next", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(arrayIteratorPrototypeNextCodeGenerator), (intptr_t)0 } },
};
static const struct HashTable arrayIteratorPrototypeTable =
{ 1, 1, false, arrayIteratorPrototypeTableValues, arrayIteratorPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/BooleanPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex booleanPrototypeTableIndex[4] = {
{ 0, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
};
static const struct HashTableValue booleanPrototypeTableValues[2] = {
{ "toString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(booleanProtoFuncToString), (intptr_t)(0) } },
{ "valueOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(booleanProtoFuncValueOf), (intptr_t)(0) } },
};
static const struct HashTable booleanPrototypeTable =
{ 2, 3, false, booleanPrototypeTableValues, booleanPrototypeTableIndex };
} // namespace JSC

379
DerrivedSources/Bytecodes.h Normal file
View File

@ -0,0 +1,379 @@
// SHA1Hash: ed1768b3225888d7af479d545d6763d107028191
/*
* Copyright (C) 2014 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* Autogenerated from JavaScriptCore/bytecode/BytecodeList.json, do not modify.
*/
#pragma once
#define FOR_EACH_BYTECODE_ID(macro) \
macro(op_enter, 1) \
macro(op_get_scope, 2) \
macro(op_create_direct_arguments, 2) \
macro(op_create_scoped_arguments, 3) \
macro(op_create_cloned_arguments, 2) \
macro(op_create_this, 5) \
macro(op_get_argument, 4) \
macro(op_argument_count, 2) \
macro(op_to_this, 4) \
macro(op_check_tdz, 2) \
macro(op_new_object, 4) \
macro(op_new_array, 5) \
macro(op_new_array_with_size, 4) \
macro(op_new_array_with_spread, 5) \
macro(op_spread, 3) \
macro(op_new_array_buffer, 5) \
macro(op_new_regexp, 3) \
macro(op_mov, 3) \
macro(op_not, 3) \
macro(op_eq, 4) \
macro(op_eq_null, 3) \
macro(op_neq, 4) \
macro(op_neq_null, 3) \
macro(op_stricteq, 4) \
macro(op_nstricteq, 4) \
macro(op_less, 4) \
macro(op_lesseq, 4) \
macro(op_greater, 4) \
macro(op_greatereq, 4) \
macro(op_inc, 2) \
macro(op_dec, 2) \
macro(op_to_number, 4) \
macro(op_to_string, 3) \
macro(op_negate, 4) \
macro(op_add, 5) \
macro(op_mul, 5) \
macro(op_div, 5) \
macro(op_mod, 4) \
macro(op_sub, 5) \
macro(op_pow, 4) \
macro(op_lshift, 4) \
macro(op_rshift, 4) \
macro(op_urshift, 4) \
macro(op_unsigned, 3) \
macro(op_bitand, 5) \
macro(op_bitxor, 5) \
macro(op_bitor, 5) \
macro(op_overrides_has_instance, 4) \
macro(op_instanceof, 4) \
macro(op_instanceof_custom, 5) \
macro(op_typeof, 3) \
macro(op_is_empty, 3) \
macro(op_is_undefined, 3) \
macro(op_is_boolean, 3) \
macro(op_is_number, 3) \
macro(op_is_object, 3) \
macro(op_is_object_or_null, 3) \
macro(op_is_function, 3) \
macro(op_is_cell_with_type, 4) \
macro(op_in, 5) \
macro(op_get_array_length, 9) \
macro(op_get_by_id, 9) \
macro(op_get_by_id_proto_load, 9) \
macro(op_get_by_id_unset, 9) \
macro(op_get_by_id_with_this, 6) \
macro(op_get_by_val_with_this, 6) \
macro(op_try_get_by_id, 5) \
macro(op_put_by_id, 9) \
macro(op_put_by_id_with_this, 5) \
macro(op_del_by_id, 4) \
macro(op_get_by_val, 6) \
macro(op_put_by_val, 5) \
macro(op_put_by_val_with_this, 5) \
macro(op_put_by_val_direct, 5) \
macro(op_del_by_val, 4) \
macro(op_put_by_index, 4) \
macro(op_put_getter_by_id, 5) \
macro(op_put_setter_by_id, 5) \
macro(op_put_getter_setter_by_id, 6) \
macro(op_put_getter_by_val, 5) \
macro(op_put_setter_by_val, 5) \
macro(op_define_data_property, 5) \
macro(op_define_accessor_property, 6) \
macro(op_jmp, 2) \
macro(op_jtrue, 3) \
macro(op_jfalse, 3) \
macro(op_jeq_null, 3) \
macro(op_jneq_null, 3) \
macro(op_jneq_ptr, 5) \
macro(op_jless, 4) \
macro(op_jlesseq, 4) \
macro(op_jgreater, 4) \
macro(op_jgreatereq, 4) \
macro(op_jnless, 4) \
macro(op_jnlesseq, 4) \
macro(op_jngreater, 4) \
macro(op_jngreatereq, 4) \
macro(op_loop_hint, 1) \
macro(op_switch_imm, 4) \
macro(op_switch_char, 4) \
macro(op_switch_string, 4) \
macro(op_new_func, 4) \
macro(op_new_func_exp, 4) \
macro(op_new_generator_func, 4) \
macro(op_new_generator_func_exp, 4) \
macro(op_new_async_func, 4) \
macro(op_new_async_func_exp, 4) \
macro(op_set_function_name, 3) \
macro(op_call, 9) \
macro(op_tail_call, 9) \
macro(op_call_eval, 9) \
macro(op_call_varargs, 9) \
macro(op_tail_call_varargs, 9) \
macro(op_tail_call_forward_arguments, 9) \
macro(op_ret, 2) \
macro(op_construct, 9) \
macro(op_construct_varargs, 9) \
macro(op_strcat, 4) \
macro(op_to_primitive, 3) \
macro(op_resolve_scope, 7) \
macro(op_get_from_scope, 8) \
macro(op_put_to_scope, 7) \
macro(op_get_from_arguments, 5) \
macro(op_put_to_arguments, 4) \
macro(op_push_with_scope, 4) \
macro(op_create_lexical_environment, 5) \
macro(op_get_parent_scope, 3) \
macro(op_catch, 3) \
macro(op_throw, 2) \
macro(op_throw_static_error, 3) \
macro(op_debug, 3) \
macro(op_end, 2) \
macro(op_profile_type, 6) \
macro(op_profile_control_flow, 2) \
macro(op_get_enumerable_length, 3) \
macro(op_has_indexed_property, 5) \
macro(op_has_structure_property, 5) \
macro(op_has_generic_property, 4) \
macro(op_get_direct_pname, 7) \
macro(op_get_property_enumerator, 3) \
macro(op_enumerator_structure_pname, 4) \
macro(op_enumerator_generic_pname, 4) \
macro(op_to_index_string, 3) \
macro(op_assert, 3) \
macro(op_unreachable, 1) \
macro(op_create_rest, 4) \
macro(op_get_rest_length, 3) \
macro(op_yield, 4) \
macro(op_check_traps, 1) \
macro(op_log_shadow_chicken_prologue, 2) \
macro(op_log_shadow_chicken_tail, 3) \
macro(op_resolve_scope_for_hoisting_func_decl_in_eval, 4) \
macro(op_nop, 1)
#define NUMBER_OF_BYTECODE_IDS 153
#define op_enter_value_string "0"
#define op_get_scope_value_string "1"
#define op_create_direct_arguments_value_string "2"
#define op_create_scoped_arguments_value_string "3"
#define op_create_cloned_arguments_value_string "4"
#define op_create_this_value_string "5"
#define op_get_argument_value_string "6"
#define op_argument_count_value_string "7"
#define op_to_this_value_string "8"
#define op_check_tdz_value_string "9"
#define op_new_object_value_string "10"
#define op_new_array_value_string "11"
#define op_new_array_with_size_value_string "12"
#define op_new_array_with_spread_value_string "13"
#define op_spread_value_string "14"
#define op_new_array_buffer_value_string "15"
#define op_new_regexp_value_string "16"
#define op_mov_value_string "17"
#define op_not_value_string "18"
#define op_eq_value_string "19"
#define op_eq_null_value_string "20"
#define op_neq_value_string "21"
#define op_neq_null_value_string "22"
#define op_stricteq_value_string "23"
#define op_nstricteq_value_string "24"
#define op_less_value_string "25"
#define op_lesseq_value_string "26"
#define op_greater_value_string "27"
#define op_greatereq_value_string "28"
#define op_inc_value_string "29"
#define op_dec_value_string "30"
#define op_to_number_value_string "31"
#define op_to_string_value_string "32"
#define op_negate_value_string "33"
#define op_add_value_string "34"
#define op_mul_value_string "35"
#define op_div_value_string "36"
#define op_mod_value_string "37"
#define op_sub_value_string "38"
#define op_pow_value_string "39"
#define op_lshift_value_string "40"
#define op_rshift_value_string "41"
#define op_urshift_value_string "42"
#define op_unsigned_value_string "43"
#define op_bitand_value_string "44"
#define op_bitxor_value_string "45"
#define op_bitor_value_string "46"
#define op_overrides_has_instance_value_string "47"
#define op_instanceof_value_string "48"
#define op_instanceof_custom_value_string "49"
#define op_typeof_value_string "50"
#define op_is_empty_value_string "51"
#define op_is_undefined_value_string "52"
#define op_is_boolean_value_string "53"
#define op_is_number_value_string "54"
#define op_is_object_value_string "55"
#define op_is_object_or_null_value_string "56"
#define op_is_function_value_string "57"
#define op_is_cell_with_type_value_string "58"
#define op_in_value_string "59"
#define op_get_array_length_value_string "60"
#define op_get_by_id_value_string "61"
#define op_get_by_id_proto_load_value_string "62"
#define op_get_by_id_unset_value_string "63"
#define op_get_by_id_with_this_value_string "64"
#define op_get_by_val_with_this_value_string "65"
#define op_try_get_by_id_value_string "66"
#define op_put_by_id_value_string "67"
#define op_put_by_id_with_this_value_string "68"
#define op_del_by_id_value_string "69"
#define op_get_by_val_value_string "70"
#define op_put_by_val_value_string "71"
#define op_put_by_val_with_this_value_string "72"
#define op_put_by_val_direct_value_string "73"
#define op_del_by_val_value_string "74"
#define op_put_by_index_value_string "75"
#define op_put_getter_by_id_value_string "76"
#define op_put_setter_by_id_value_string "77"
#define op_put_getter_setter_by_id_value_string "78"
#define op_put_getter_by_val_value_string "79"
#define op_put_setter_by_val_value_string "80"
#define op_define_data_property_value_string "81"
#define op_define_accessor_property_value_string "82"
#define op_jmp_value_string "83"
#define op_jtrue_value_string "84"
#define op_jfalse_value_string "85"
#define op_jeq_null_value_string "86"
#define op_jneq_null_value_string "87"
#define op_jneq_ptr_value_string "88"
#define op_jless_value_string "89"
#define op_jlesseq_value_string "90"
#define op_jgreater_value_string "91"
#define op_jgreatereq_value_string "92"
#define op_jnless_value_string "93"
#define op_jnlesseq_value_string "94"
#define op_jngreater_value_string "95"
#define op_jngreatereq_value_string "96"
#define op_loop_hint_value_string "97"
#define op_switch_imm_value_string "98"
#define op_switch_char_value_string "99"
#define op_switch_string_value_string "100"
#define op_new_func_value_string "101"
#define op_new_func_exp_value_string "102"
#define op_new_generator_func_value_string "103"
#define op_new_generator_func_exp_value_string "104"
#define op_new_async_func_value_string "105"
#define op_new_async_func_exp_value_string "106"
#define op_set_function_name_value_string "107"
#define op_call_value_string "108"
#define op_tail_call_value_string "109"
#define op_call_eval_value_string "110"
#define op_call_varargs_value_string "111"
#define op_tail_call_varargs_value_string "112"
#define op_tail_call_forward_arguments_value_string "113"
#define op_ret_value_string "114"
#define op_construct_value_string "115"
#define op_construct_varargs_value_string "116"
#define op_strcat_value_string "117"
#define op_to_primitive_value_string "118"
#define op_resolve_scope_value_string "119"
#define op_get_from_scope_value_string "120"
#define op_put_to_scope_value_string "121"
#define op_get_from_arguments_value_string "122"
#define op_put_to_arguments_value_string "123"
#define op_push_with_scope_value_string "124"
#define op_create_lexical_environment_value_string "125"
#define op_get_parent_scope_value_string "126"
#define op_catch_value_string "127"
#define op_throw_value_string "128"
#define op_throw_static_error_value_string "129"
#define op_debug_value_string "130"
#define op_end_value_string "131"
#define op_profile_type_value_string "132"
#define op_profile_control_flow_value_string "133"
#define op_get_enumerable_length_value_string "134"
#define op_has_indexed_property_value_string "135"
#define op_has_structure_property_value_string "136"
#define op_has_generic_property_value_string "137"
#define op_get_direct_pname_value_string "138"
#define op_get_property_enumerator_value_string "139"
#define op_enumerator_structure_pname_value_string "140"
#define op_enumerator_generic_pname_value_string "141"
#define op_to_index_string_value_string "142"
#define op_assert_value_string "143"
#define op_unreachable_value_string "144"
#define op_create_rest_value_string "145"
#define op_get_rest_length_value_string "146"
#define op_yield_value_string "147"
#define op_check_traps_value_string "148"
#define op_log_shadow_chicken_prologue_value_string "149"
#define op_log_shadow_chicken_tail_value_string "150"
#define op_resolve_scope_for_hoisting_func_decl_in_eval_value_string "151"
#define op_nop_value_string "152"
#define FOR_EACH_CLOOP_BYTECODE_HELPER_ID(macro) \
macro(llint_entry, 1) \
macro(getHostCallReturnValue, 1) \
macro(llint_return_to_host, 1) \
macro(llint_vm_entry_to_javascript, 1) \
macro(llint_vm_entry_to_native, 1) \
macro(llint_cloop_did_return_from_js_1, 1) \
macro(llint_cloop_did_return_from_js_2, 1) \
macro(llint_cloop_did_return_from_js_3, 1) \
macro(llint_cloop_did_return_from_js_4, 1) \
macro(llint_cloop_did_return_from_js_5, 1) \
macro(llint_cloop_did_return_from_js_6, 1) \
macro(llint_cloop_did_return_from_js_7, 1) \
macro(llint_cloop_did_return_from_js_8, 1) \
macro(llint_cloop_did_return_from_js_9, 1) \
macro(llint_cloop_did_return_from_js_10, 1) \
macro(llint_cloop_did_return_from_js_11, 1) \
macro(llint_cloop_did_return_from_js_12, 1)
#define NUMBER_OF_CLOOP_BYTECODE_HELPER_IDS 17
#define FOR_EACH_BYTECODE_HELPER_ID(macro) \
macro(llint_program_prologue, 1) \
macro(llint_eval_prologue, 1) \
macro(llint_module_program_prologue, 1) \
macro(llint_function_for_call_prologue, 1) \
macro(llint_function_for_construct_prologue, 1) \
macro(llint_function_for_call_arity_check, 1) \
macro(llint_function_for_construct_arity_check, 1) \
macro(llint_generic_return_point, 1) \
macro(llint_throw_from_slow_path_trampoline, 1) \
macro(llint_throw_during_call_trampoline, 1) \
macro(llint_native_call_trampoline, 1) \
macro(llint_native_construct_trampoline, 1) \
macro(handleUncaughtException, 1)
#define NUMBER_OF_BYTECODE_HELPER_IDS 13

View File

@ -0,0 +1,28 @@
// Automatically generated from JavaScriptCore/runtime/DateConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex dateConstructorTableIndex[9] = {
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, 8 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
};
static const struct HashTableValue dateConstructorTableValues[3] = {
{ "parse", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateParse), (intptr_t)(1) } },
{ "UTC", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateUTC), (intptr_t)(7) } },
{ "now", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateNow), (intptr_t)(0) } },
};
static const struct HashTable dateConstructorTable =
{ 3, 7, false, dateConstructorTableValues, dateConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,193 @@
// Automatically generated from JavaScriptCore/runtime/DatePrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex dateTableIndex[133] = {
{ 40, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 4, -1 },
{ 28, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 6, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 3, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, 129 },
{ 24, -1 },
{ 10, 132 },
{ -1, -1 },
{ 19, 130 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ 25, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 42, -1 },
{ -1, -1 },
{ 32, -1 },
{ -1, -1 },
{ 34, -1 },
{ 9, 128 },
{ 22, -1 },
{ -1, -1 },
{ 16, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 23, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
{ -1, -1 },
{ 17, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 14, -1 },
{ -1, -1 },
{ -1, -1 },
{ 15, -1 },
{ 37, -1 },
{ -1, -1 },
{ -1, -1 },
{ 18, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 5, -1 },
{ -1, -1 },
{ -1, -1 },
{ 27, -1 },
{ -1, -1 },
{ 31, -1 },
{ -1, -1 },
{ -1, -1 },
{ 8, -1 },
{ 41, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 35, -1 },
{ 26, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 20, -1 },
{ 13, 131 },
{ 7, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 43, -1 },
{ -1, -1 },
{ -1, -1 },
{ 38, -1 },
{ -1, -1 },
{ 39, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 21, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 12, -1 },
{ 29, -1 },
{ 30, -1 },
{ 33, -1 },
{ 36, -1 },
};
static const struct HashTableValue dateTableValues[44] = {
{ "toString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToString), (intptr_t)(0) } },
{ "toISOString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToISOString), (intptr_t)(0) } },
{ "toDateString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToDateString), (intptr_t)(0) } },
{ "toTimeString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToTimeString), (intptr_t)(0) } },
{ "toLocaleString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToLocaleString), (intptr_t)(0) } },
{ "toLocaleDateString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToLocaleDateString), (intptr_t)(0) } },
{ "toLocaleTimeString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToLocaleTimeString), (intptr_t)(0) } },
{ "valueOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetTime), (intptr_t)(0) } },
{ "getTime", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetTime), (intptr_t)(0) } },
{ "getFullYear", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetFullYear), (intptr_t)(0) } },
{ "getUTCFullYear", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCFullYear), (intptr_t)(0) } },
{ "getMonth", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetMonth), (intptr_t)(0) } },
{ "getUTCMonth", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCMonth), (intptr_t)(0) } },
{ "getDate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetDate), (intptr_t)(0) } },
{ "getUTCDate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCDate), (intptr_t)(0) } },
{ "getDay", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetDay), (intptr_t)(0) } },
{ "getUTCDay", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCDay), (intptr_t)(0) } },
{ "getHours", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetHours), (intptr_t)(0) } },
{ "getUTCHours", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCHours), (intptr_t)(0) } },
{ "getMinutes", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetMinutes), (intptr_t)(0) } },
{ "getUTCMinutes", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCMinutes), (intptr_t)(0) } },
{ "getSeconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetSeconds), (intptr_t)(0) } },
{ "getUTCSeconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCSeconds), (intptr_t)(0) } },
{ "getMilliseconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetMilliSeconds), (intptr_t)(0) } },
{ "getUTCMilliseconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetUTCMilliseconds), (intptr_t)(0) } },
{ "getTimezoneOffset", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetTimezoneOffset), (intptr_t)(0) } },
{ "setTime", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetTime), (intptr_t)(1) } },
{ "setMilliseconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetMilliSeconds), (intptr_t)(1) } },
{ "setUTCMilliseconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCMilliseconds), (intptr_t)(1) } },
{ "setSeconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetSeconds), (intptr_t)(2) } },
{ "setUTCSeconds", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCSeconds), (intptr_t)(2) } },
{ "setMinutes", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetMinutes), (intptr_t)(3) } },
{ "setUTCMinutes", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCMinutes), (intptr_t)(3) } },
{ "setHours", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetHours), (intptr_t)(4) } },
{ "setUTCHours", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCHours), (intptr_t)(4) } },
{ "setDate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetDate), (intptr_t)(1) } },
{ "setUTCDate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCDate), (intptr_t)(1) } },
{ "setMonth", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetMonth), (intptr_t)(2) } },
{ "setUTCMonth", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCMonth), (intptr_t)(2) } },
{ "setFullYear", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetFullYear), (intptr_t)(3) } },
{ "setUTCFullYear", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetUTCFullYear), (intptr_t)(3) } },
{ "setYear", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncSetYear), (intptr_t)(1) } },
{ "getYear", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncGetYear), (intptr_t)(0) } },
{ "toJSON", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dateProtoFuncToJSON), (intptr_t)(1) } },
};
static const struct HashTable dateTable =
{ 44, 127, false, dateTableValues, dateTableIndex };
} // namespace JSC

View File

@ -0,0 +1,19 @@
// Automatically generated from JavaScriptCore/runtime/ErrorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex errorPrototypeTableIndex[2] = {
{ 0, -1 },
{ -1, -1 },
};
static const struct HashTableValue errorPrototypeTableValues[1] = {
{ "toString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(errorProtoFuncToString), (intptr_t)(0) } },
};
static const struct HashTable errorPrototypeTable =
{ 1, 1, false, errorPrototypeTableValues, errorPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,28 @@
// Automatically generated from JavaScriptCore/runtime/GeneratorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex generatorPrototypeTableIndex[8] = {
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
{ 1, -1 },
};
static const struct HashTableValue generatorPrototypeTableValues[3] = {
{ "next", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(generatorPrototypeNextCodeGenerator), (intptr_t)1 } },
{ "return", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(generatorPrototypeReturnCodeGenerator), (intptr_t)1 } },
{ "throw", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(generatorPrototypeThrowCodeGenerator), (intptr_t)1 } },
};
static const struct HashTable generatorPrototypeTable =
{ 3, 7, false, generatorPrototypeTableValues, generatorPrototypeTableIndex };
} // namespace JSC

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,320 @@
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from CombinedDomains.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
#include "InspectorProtocolTypes.h"
#include <inspector/InspectorFrontendRouter.h>
#include <JavaScriptCore/InspectorBackendDispatcher.h>
namespace Inspector {
class AlternateBackendDispatcher {
public:
void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTFMove(dispatcher); }
BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
private:
RefPtr<BackendDispatcher> m_backendDispatcher;
};
class AlternateApplicationCacheBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateApplicationCacheBackendDispatcher() { }
virtual void getFramesWithManifests(long callId) = 0;
virtual void enable(long callId) = 0;
virtual void getManifestForFrame(long callId, const String& in_frameId) = 0;
virtual void getApplicationCacheForFrame(long callId, const String& in_frameId) = 0;
};
class AlternateCSSBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateCSSBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void getMatchedStylesForNode(long callId, int in_nodeId, const bool* const in_includePseudo, const bool* const in_includeInherited) = 0;
virtual void getInlineStylesForNode(long callId, int in_nodeId) = 0;
virtual void getComputedStyleForNode(long callId, int in_nodeId) = 0;
virtual void getAllStyleSheets(long callId) = 0;
virtual void getStyleSheet(long callId, const String& in_styleSheetId) = 0;
virtual void getStyleSheetText(long callId, const String& in_styleSheetId) = 0;
virtual void setStyleSheetText(long callId, const String& in_styleSheetId, const String& in_text) = 0;
virtual void setStyleText(long callId, const Inspector::InspectorObject& in_styleId, const String& in_text) = 0;
virtual void setRuleSelector(long callId, const Inspector::InspectorObject& in_ruleId, const String& in_selector) = 0;
virtual void createStyleSheet(long callId, const String& in_frameId) = 0;
virtual void addRule(long callId, const String& in_styleSheetId, const String& in_selector) = 0;
virtual void getSupportedCSSProperties(long callId) = 0;
virtual void getSupportedSystemFontFamilyNames(long callId) = 0;
virtual void forcePseudoState(long callId, int in_nodeId, const Inspector::InspectorArray& in_forcedPseudoClasses) = 0;
virtual void getNamedFlowCollection(long callId, int in_documentNodeId) = 0;
};
class AlternateCanvasBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateCanvasBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void requestNode(long callId, const String& in_canvasId) = 0;
virtual void requestContent(long callId, const String& in_canvasId) = 0;
virtual void requestCSSCanvasClientNodes(long callId, const String& in_canvasId) = 0;
virtual void resolveCanvasContext(long callId, const String& in_canvasId, const String* const in_objectGroup) = 0;
};
class AlternateConsoleBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateConsoleBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void clearMessages(long callId) = 0;
virtual void setMonitoringXHREnabled(long callId, bool in_enabled) = 0;
virtual void addInspectedNode(long callId, int in_nodeId) = 0;
};
class AlternateDOMBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateDOMBackendDispatcher() { }
virtual void getDocument(long callId) = 0;
virtual void requestChildNodes(long callId, int in_nodeId, const int* const in_depth) = 0;
virtual void querySelector(long callId, int in_nodeId, const String& in_selector) = 0;
virtual void querySelectorAll(long callId, int in_nodeId, const String& in_selector) = 0;
virtual void setNodeName(long callId, int in_nodeId, const String& in_name) = 0;
virtual void setNodeValue(long callId, int in_nodeId, const String& in_value) = 0;
virtual void removeNode(long callId, int in_nodeId) = 0;
virtual void setAttributeValue(long callId, int in_nodeId, const String& in_name, const String& in_value) = 0;
virtual void setAttributesAsText(long callId, int in_nodeId, const String& in_text, const String* const in_name) = 0;
virtual void removeAttribute(long callId, int in_nodeId, const String& in_name) = 0;
virtual void getEventListenersForNode(long callId, int in_nodeId, const String* const in_objectGroup) = 0;
virtual void getAccessibilityPropertiesForNode(long callId, int in_nodeId) = 0;
virtual void getOuterHTML(long callId, int in_nodeId) = 0;
virtual void setOuterHTML(long callId, int in_nodeId, const String& in_outerHTML) = 0;
virtual void performSearch(long callId, const String& in_query, const Inspector::InspectorArray* in_nodeIds) = 0;
virtual void getSearchResults(long callId, const String& in_searchId, int in_fromIndex, int in_toIndex) = 0;
virtual void discardSearchResults(long callId, const String& in_searchId) = 0;
virtual void requestNode(long callId, const String& in_objectId) = 0;
virtual void setInspectModeEnabled(long callId, bool in_enabled, const Inspector::InspectorObject* in_highlightConfig) = 0;
virtual void highlightRect(long callId, int in_x, int in_y, int in_width, int in_height, const Inspector::InspectorObject* in_color, const Inspector::InspectorObject* in_outlineColor, const bool* const in_usePageCoordinates) = 0;
virtual void highlightQuad(long callId, const Inspector::InspectorArray& in_quad, const Inspector::InspectorObject* in_color, const Inspector::InspectorObject* in_outlineColor, const bool* const in_usePageCoordinates) = 0;
virtual void highlightSelector(long callId, const Inspector::InspectorObject& in_highlightConfig, const String& in_selectorString, const String* const in_frameId) = 0;
virtual void highlightNode(long callId, const Inspector::InspectorObject& in_highlightConfig, const int* const in_nodeId, const String* const in_objectId) = 0;
virtual void highlightNodeList(long callId, const Inspector::InspectorArray& in_nodeIds, const Inspector::InspectorObject& in_highlightConfig) = 0;
virtual void hideHighlight(long callId) = 0;
virtual void highlightFrame(long callId, const String& in_frameId, const Inspector::InspectorObject* in_contentColor, const Inspector::InspectorObject* in_contentOutlineColor) = 0;
virtual void pushNodeByPathToFrontend(long callId, const String& in_path) = 0;
virtual void pushNodeByBackendIdToFrontend(long callId, int in_backendNodeId) = 0;
virtual void releaseBackendNodeIds(long callId, const String& in_nodeGroup) = 0;
virtual void resolveNode(long callId, int in_nodeId, const String* const in_objectGroup) = 0;
virtual void getAttributes(long callId, int in_nodeId) = 0;
virtual void moveTo(long callId, int in_nodeId, int in_targetNodeId, const int* const in_insertBeforeNodeId) = 0;
virtual void undo(long callId) = 0;
virtual void redo(long callId) = 0;
virtual void markUndoableState(long callId) = 0;
virtual void focus(long callId, int in_nodeId) = 0;
};
class AlternateDOMDebuggerBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateDOMDebuggerBackendDispatcher() { }
virtual void setDOMBreakpoint(long callId, int in_nodeId, const String& in_type) = 0;
virtual void removeDOMBreakpoint(long callId, int in_nodeId, const String& in_type) = 0;
virtual void setEventListenerBreakpoint(long callId, const String& in_eventName) = 0;
virtual void removeEventListenerBreakpoint(long callId, const String& in_eventName) = 0;
virtual void setInstrumentationBreakpoint(long callId, const String& in_eventName) = 0;
virtual void removeInstrumentationBreakpoint(long callId, const String& in_eventName) = 0;
virtual void setXHRBreakpoint(long callId, const String& in_url, const bool* const in_isRegex) = 0;
virtual void removeXHRBreakpoint(long callId, const String& in_url) = 0;
};
class AlternateDOMStorageBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateDOMStorageBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void getDOMStorageItems(long callId, const Inspector::InspectorObject& in_storageId) = 0;
virtual void setDOMStorageItem(long callId, const Inspector::InspectorObject& in_storageId, const String& in_key, const String& in_value) = 0;
virtual void removeDOMStorageItem(long callId, const Inspector::InspectorObject& in_storageId, const String& in_key) = 0;
};
class AlternateDatabaseBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateDatabaseBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void getDatabaseTableNames(long callId, const String& in_databaseId) = 0;
virtual void executeSQL(long callId, const String& in_databaseId, const String& in_query) = 0;
};
class AlternateDebuggerBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateDebuggerBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void setAsyncStackTraceDepth(long callId, int in_depth) = 0;
virtual void setBreakpointsActive(long callId, bool in_active) = 0;
virtual void setBreakpointByUrl(long callId, int in_lineNumber, const String* const in_url, const String* const in_urlRegex, const int* const in_columnNumber, const Inspector::InspectorObject* in_options) = 0;
virtual void setBreakpoint(long callId, const Inspector::InspectorObject& in_location, const Inspector::InspectorObject* in_options) = 0;
virtual void removeBreakpoint(long callId, const String& in_breakpointId) = 0;
virtual void continueUntilNextRunLoop(long callId) = 0;
virtual void continueToLocation(long callId, const Inspector::InspectorObject& in_location) = 0;
virtual void stepOver(long callId) = 0;
virtual void stepInto(long callId) = 0;
virtual void stepOut(long callId) = 0;
virtual void pause(long callId) = 0;
virtual void resume(long callId) = 0;
virtual void searchInContent(long callId, const String& in_scriptId, const String& in_query, const bool* const in_caseSensitive, const bool* const in_isRegex) = 0;
virtual void getScriptSource(long callId, const String& in_scriptId) = 0;
virtual void getFunctionDetails(long callId, const String& in_functionId) = 0;
virtual void setPauseOnExceptions(long callId, const String& in_state) = 0;
virtual void setPauseOnAssertions(long callId, bool in_enabled) = 0;
virtual void evaluateOnCallFrame(long callId, const String& in_callFrameId, const String& in_expression, const String* const in_objectGroup, const bool* const in_includeCommandLineAPI, const bool* const in_doNotPauseOnExceptionsAndMuteConsole, const bool* const in_returnByValue, const bool* const in_generatePreview, const bool* const in_saveResult) = 0;
virtual void setOverlayMessage(long callId, const String* const in_message) = 0;
};
class AlternateHeapBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateHeapBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void gc(long callId) = 0;
virtual void snapshot(long callId) = 0;
virtual void startTracking(long callId) = 0;
virtual void stopTracking(long callId) = 0;
virtual void getPreview(long callId, int in_heapObjectId) = 0;
virtual void getRemoteObject(long callId, int in_heapObjectId, const String* const in_objectGroup) = 0;
};
#if ENABLE(INDEXED_DATABASE)
class AlternateIndexedDBBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateIndexedDBBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void requestDatabaseNames(long callId, const String& in_securityOrigin) = 0;
virtual void requestDatabase(long callId, const String& in_securityOrigin, const String& in_databaseName) = 0;
virtual void requestData(long callId, const String& in_securityOrigin, const String& in_databaseName, const String& in_objectStoreName, const String& in_indexName, int in_skipCount, int in_pageSize, const Inspector::InspectorObject* in_keyRange) = 0;
virtual void clearObjectStore(long callId, const String& in_securityOrigin, const String& in_databaseName, const String& in_objectStoreName) = 0;
};
#endif // ENABLE(INDEXED_DATABASE)
class AlternateInspectorBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateInspectorBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void initialized(long callId) = 0;
};
class AlternateLayerTreeBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateLayerTreeBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void layersForNode(long callId, int in_nodeId) = 0;
virtual void reasonsForCompositingLayer(long callId, const String& in_layerId) = 0;
};
#if ENABLE(RESOURCE_USAGE)
class AlternateMemoryBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateMemoryBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void startTracking(long callId) = 0;
virtual void stopTracking(long callId) = 0;
};
#endif // ENABLE(RESOURCE_USAGE)
class AlternateNetworkBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateNetworkBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void setExtraHTTPHeaders(long callId, const Inspector::InspectorObject& in_headers) = 0;
virtual void getResponseBody(long callId, const String& in_requestId) = 0;
virtual void setResourceCachingDisabled(long callId, bool in_disabled) = 0;
virtual void loadResource(long callId, const String& in_frameId, const String& in_url) = 0;
virtual void resolveWebSocket(long callId, const String& in_requestId, const String* const in_objectGroup) = 0;
};
class AlternatePageBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternatePageBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void reload(long callId, const bool* const in_ignoreCache, const bool* const in_revalidateAllResources, const String* const in_scriptToEvaluateOnLoad) = 0;
virtual void navigate(long callId, const String& in_url) = 0;
virtual void getCookies(long callId) = 0;
virtual void deleteCookie(long callId, const String& in_cookieName, const String& in_url) = 0;
virtual void getResourceTree(long callId) = 0;
virtual void getResourceContent(long callId, const String& in_frameId, const String& in_url) = 0;
virtual void searchInResource(long callId, const String& in_frameId, const String& in_url, const String& in_query, const bool* const in_caseSensitive, const bool* const in_isRegex, const String* const in_requestId) = 0;
virtual void searchInResources(long callId, const String& in_text, const bool* const in_caseSensitive, const bool* const in_isRegex) = 0;
virtual void setShowPaintRects(long callId, bool in_result) = 0;
virtual void setEmulatedMedia(long callId, const String& in_media) = 0;
virtual void getCompositingBordersVisible(long callId) = 0;
virtual void setCompositingBordersVisible(long callId, bool in_visible) = 0;
virtual void snapshotNode(long callId, int in_nodeId) = 0;
virtual void snapshotRect(long callId, int in_x, int in_y, int in_width, int in_height, const String& in_coordinateSystem) = 0;
virtual void archive(long callId) = 0;
};
class AlternateRuntimeBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateRuntimeBackendDispatcher() { }
virtual void parse(long callId, const String& in_source) = 0;
virtual void evaluate(long callId, const String& in_expression, const String* const in_objectGroup, const bool* const in_includeCommandLineAPI, const bool* const in_doNotPauseOnExceptionsAndMuteConsole, const int* const in_contextId, const bool* const in_returnByValue, const bool* const in_generatePreview, const bool* const in_saveResult) = 0;
virtual void callFunctionOn(long callId, const String& in_objectId, const String& in_functionDeclaration, const Inspector::InspectorArray* in_arguments, const bool* const in_doNotPauseOnExceptionsAndMuteConsole, const bool* const in_returnByValue, const bool* const in_generatePreview) = 0;
virtual void getPreview(long callId, const String& in_objectId) = 0;
virtual void getProperties(long callId, const String& in_objectId, const bool* const in_ownProperties, const bool* const in_generatePreview) = 0;
virtual void getDisplayableProperties(long callId, const String& in_objectId, const bool* const in_generatePreview) = 0;
virtual void getCollectionEntries(long callId, const String& in_objectId, const String* const in_objectGroup, const int* const in_startIndex, const int* const in_numberToFetch) = 0;
virtual void saveResult(long callId, const Inspector::InspectorObject& in_value, const int* const in_contextId) = 0;
virtual void releaseObject(long callId, const String& in_objectId) = 0;
virtual void releaseObjectGroup(long callId, const String& in_objectGroup) = 0;
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void getRuntimeTypesForVariablesAtOffsets(long callId, const Inspector::InspectorArray& in_locations) = 0;
virtual void enableTypeProfiler(long callId) = 0;
virtual void disableTypeProfiler(long callId) = 0;
virtual void enableControlFlowProfiler(long callId) = 0;
virtual void disableControlFlowProfiler(long callId) = 0;
virtual void getBasicBlocks(long callId, const String& in_sourceID) = 0;
};
class AlternateScriptProfilerBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateScriptProfilerBackendDispatcher() { }
virtual void startTracking(long callId, const bool* const in_includeSamples) = 0;
virtual void stopTracking(long callId) = 0;
};
class AlternateTimelineBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateTimelineBackendDispatcher() { }
virtual void start(long callId, const int* const in_maxCallStackDepth) = 0;
virtual void stop(long callId) = 0;
virtual void setAutoCaptureEnabled(long callId, bool in_enabled) = 0;
virtual void setInstruments(long callId, const Inspector::InspectorArray& in_instruments) = 0;
};
class AlternateWorkerBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateWorkerBackendDispatcher() { }
virtual void enable(long callId) = 0;
virtual void disable(long callId) = 0;
virtual void initialized(long callId, const String& in_workerId) = 0;
virtual void sendMessageToWorker(long callId, const String& in_workerId, const String& in_message) = 0;
};
} // namespace Inspector
#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,918 @@
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from CombinedDomains.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#include "InspectorProtocolObjects.h"
#include <inspector/InspectorBackendDispatcher.h>
#include <wtf/text/WTFString.h>
namespace Inspector {
typedef String ErrorString;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
class AlternateApplicationCacheBackendDispatcher;
class AlternateCSSBackendDispatcher;
class AlternateCanvasBackendDispatcher;
class AlternateConsoleBackendDispatcher;
class AlternateDOMBackendDispatcher;
class AlternateDOMDebuggerBackendDispatcher;
class AlternateDOMStorageBackendDispatcher;
class AlternateDatabaseBackendDispatcher;
class AlternateDebuggerBackendDispatcher;
class AlternateHeapBackendDispatcher;
#if ENABLE(INDEXED_DATABASE)
class AlternateIndexedDBBackendDispatcher;
#endif // ENABLE(INDEXED_DATABASE)
class AlternateInspectorBackendDispatcher;
class AlternateLayerTreeBackendDispatcher;
#if ENABLE(RESOURCE_USAGE)
class AlternateMemoryBackendDispatcher;
#endif // ENABLE(RESOURCE_USAGE)
class AlternateNetworkBackendDispatcher;
class AlternatePageBackendDispatcher;
class AlternateRuntimeBackendDispatcher;
class AlternateScriptProfilerBackendDispatcher;
class AlternateTimelineBackendDispatcher;
class AlternateWorkerBackendDispatcher;
#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
class JS_EXPORT_PRIVATE ApplicationCacheBackendDispatcherHandler {
public:
virtual void getFramesWithManifests(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::ApplicationCache::FrameWithManifest>>& out_frameIds) = 0;
virtual void enable(ErrorString&) = 0;
virtual void getManifestForFrame(ErrorString&, const String& in_frameId, String* out_manifestURL) = 0;
virtual void getApplicationCacheForFrame(ErrorString&, const String& in_frameId, RefPtr<Inspector::Protocol::ApplicationCache::ApplicationCache>& out_applicationCache) = 0;
protected:
virtual ~ApplicationCacheBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE CSSBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void getMatchedStylesForNode(ErrorString&, int in_nodeId, const bool* const opt_in_includePseudo, const bool* const opt_in_includeInherited, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::RuleMatch>>& opt_out_matchedCSSRules, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::PseudoIdMatches>>& opt_out_pseudoElements, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::InheritedStyleEntry>>& opt_out_inherited) = 0;
virtual void getInlineStylesForNode(ErrorString&, int in_nodeId, RefPtr<Inspector::Protocol::CSS::CSSStyle>& opt_out_inlineStyle, RefPtr<Inspector::Protocol::CSS::CSSStyle>& opt_out_attributesStyle) = 0;
virtual void getComputedStyleForNode(ErrorString&, int in_nodeId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::CSSComputedStyleProperty>>& out_computedStyle) = 0;
virtual void getAllStyleSheets(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::CSSStyleSheetHeader>>& out_headers) = 0;
virtual void getStyleSheet(ErrorString&, const String& in_styleSheetId, RefPtr<Inspector::Protocol::CSS::CSSStyleSheetBody>& out_styleSheet) = 0;
virtual void getStyleSheetText(ErrorString&, const String& in_styleSheetId, String* out_text) = 0;
virtual void setStyleSheetText(ErrorString&, const String& in_styleSheetId, const String& in_text) = 0;
virtual void setStyleText(ErrorString&, const Inspector::InspectorObject& in_styleId, const String& in_text, RefPtr<Inspector::Protocol::CSS::CSSStyle>& out_style) = 0;
virtual void setRuleSelector(ErrorString&, const Inspector::InspectorObject& in_ruleId, const String& in_selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& out_rule) = 0;
virtual void createStyleSheet(ErrorString&, const String& in_frameId, String* out_styleSheetId) = 0;
virtual void addRule(ErrorString&, const String& in_styleSheetId, const String& in_selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& out_rule) = 0;
virtual void getSupportedCSSProperties(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::CSSPropertyInfo>>& out_cssProperties) = 0;
virtual void getSupportedSystemFontFamilyNames(ErrorString&, RefPtr<Inspector::Protocol::Array<String>>& out_fontFamilyNames) = 0;
virtual void forcePseudoState(ErrorString&, int in_nodeId, const Inspector::InspectorArray& in_forcedPseudoClasses) = 0;
virtual void getNamedFlowCollection(ErrorString&, int in_documentNodeId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::NamedFlow>>& out_namedFlows) = 0;
protected:
virtual ~CSSBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE CanvasBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void requestNode(ErrorString&, const String& in_canvasId, int* out_nodeId) = 0;
virtual void requestContent(ErrorString&, const String& in_canvasId, String* out_content) = 0;
virtual void requestCSSCanvasClientNodes(ErrorString&, const String& in_canvasId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::NodeId>>& out_clientNodeIds) = 0;
virtual void resolveCanvasContext(ErrorString&, const String& in_canvasId, const String* const opt_in_objectGroup, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_object) = 0;
protected:
virtual ~CanvasBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE ConsoleBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void clearMessages(ErrorString&) = 0;
virtual void setMonitoringXHREnabled(ErrorString&, bool in_enabled) = 0;
virtual void addInspectedNode(ErrorString&, int in_nodeId) = 0;
protected:
virtual ~ConsoleBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE DOMBackendDispatcherHandler {
public:
virtual void getDocument(ErrorString&, RefPtr<Inspector::Protocol::DOM::Node>& out_root) = 0;
virtual void requestChildNodes(ErrorString&, int in_nodeId, const int* const opt_in_depth) = 0;
virtual void querySelector(ErrorString&, int in_nodeId, const String& in_selector, int* out_nodeId) = 0;
virtual void querySelectorAll(ErrorString&, int in_nodeId, const String& in_selector, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::NodeId>>& out_nodeIds) = 0;
virtual void setNodeName(ErrorString&, int in_nodeId, const String& in_name, int* out_nodeId) = 0;
virtual void setNodeValue(ErrorString&, int in_nodeId, const String& in_value) = 0;
virtual void removeNode(ErrorString&, int in_nodeId) = 0;
virtual void setAttributeValue(ErrorString&, int in_nodeId, const String& in_name, const String& in_value) = 0;
virtual void setAttributesAsText(ErrorString&, int in_nodeId, const String& in_text, const String* const opt_in_name) = 0;
virtual void removeAttribute(ErrorString&, int in_nodeId, const String& in_name) = 0;
virtual void getEventListenersForNode(ErrorString&, int in_nodeId, const String* const opt_in_objectGroup, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::EventListener>>& out_listeners) = 0;
virtual void getAccessibilityPropertiesForNode(ErrorString&, int in_nodeId, RefPtr<Inspector::Protocol::DOM::AccessibilityProperties>& out_properties) = 0;
virtual void getOuterHTML(ErrorString&, int in_nodeId, String* out_outerHTML) = 0;
virtual void setOuterHTML(ErrorString&, int in_nodeId, const String& in_outerHTML) = 0;
virtual void performSearch(ErrorString&, const String& in_query, const Inspector::InspectorArray* opt_in_nodeIds, String* out_searchId, int* out_resultCount) = 0;
virtual void getSearchResults(ErrorString&, const String& in_searchId, int in_fromIndex, int in_toIndex, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::NodeId>>& out_nodeIds) = 0;
virtual void discardSearchResults(ErrorString&, const String& in_searchId) = 0;
virtual void requestNode(ErrorString&, const String& in_objectId, int* out_nodeId) = 0;
virtual void setInspectModeEnabled(ErrorString&, bool in_enabled, const Inspector::InspectorObject* opt_in_highlightConfig) = 0;
virtual void highlightRect(ErrorString&, int in_x, int in_y, int in_width, int in_height, const Inspector::InspectorObject* opt_in_color, const Inspector::InspectorObject* opt_in_outlineColor, const bool* const opt_in_usePageCoordinates) = 0;
virtual void highlightQuad(ErrorString&, const Inspector::InspectorArray& in_quad, const Inspector::InspectorObject* opt_in_color, const Inspector::InspectorObject* opt_in_outlineColor, const bool* const opt_in_usePageCoordinates) = 0;
virtual void highlightSelector(ErrorString&, const Inspector::InspectorObject& in_highlightConfig, const String& in_selectorString, const String* const opt_in_frameId) = 0;
virtual void highlightNode(ErrorString&, const Inspector::InspectorObject& in_highlightConfig, const int* const opt_in_nodeId, const String* const opt_in_objectId) = 0;
virtual void highlightNodeList(ErrorString&, const Inspector::InspectorArray& in_nodeIds, const Inspector::InspectorObject& in_highlightConfig) = 0;
virtual void hideHighlight(ErrorString&) = 0;
virtual void highlightFrame(ErrorString&, const String& in_frameId, const Inspector::InspectorObject* opt_in_contentColor, const Inspector::InspectorObject* opt_in_contentOutlineColor) = 0;
virtual void pushNodeByPathToFrontend(ErrorString&, const String& in_path, int* out_nodeId) = 0;
virtual void pushNodeByBackendIdToFrontend(ErrorString&, int in_backendNodeId, int* out_nodeId) = 0;
virtual void releaseBackendNodeIds(ErrorString&, const String& in_nodeGroup) = 0;
virtual void resolveNode(ErrorString&, int in_nodeId, const String* const opt_in_objectGroup, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_object) = 0;
virtual void getAttributes(ErrorString&, int in_nodeId, RefPtr<Inspector::Protocol::Array<String>>& out_attributes) = 0;
virtual void moveTo(ErrorString&, int in_nodeId, int in_targetNodeId, const int* const opt_in_insertBeforeNodeId, int* out_nodeId) = 0;
virtual void undo(ErrorString&) = 0;
virtual void redo(ErrorString&) = 0;
virtual void markUndoableState(ErrorString&) = 0;
virtual void focus(ErrorString&, int in_nodeId) = 0;
protected:
virtual ~DOMBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE DOMDebuggerBackendDispatcherHandler {
public:
virtual void setDOMBreakpoint(ErrorString&, int in_nodeId, const String& in_type) = 0;
virtual void removeDOMBreakpoint(ErrorString&, int in_nodeId, const String& in_type) = 0;
virtual void setEventListenerBreakpoint(ErrorString&, const String& in_eventName) = 0;
virtual void removeEventListenerBreakpoint(ErrorString&, const String& in_eventName) = 0;
virtual void setInstrumentationBreakpoint(ErrorString&, const String& in_eventName) = 0;
virtual void removeInstrumentationBreakpoint(ErrorString&, const String& in_eventName) = 0;
virtual void setXHRBreakpoint(ErrorString&, const String& in_url, const bool* const opt_in_isRegex) = 0;
virtual void removeXHRBreakpoint(ErrorString&, const String& in_url) = 0;
protected:
virtual ~DOMDebuggerBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE DOMStorageBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void getDOMStorageItems(ErrorString&, const Inspector::InspectorObject& in_storageId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOMStorage::Item>>& out_entries) = 0;
virtual void setDOMStorageItem(ErrorString&, const Inspector::InspectorObject& in_storageId, const String& in_key, const String& in_value) = 0;
virtual void removeDOMStorageItem(ErrorString&, const Inspector::InspectorObject& in_storageId, const String& in_key) = 0;
protected:
virtual ~DOMStorageBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE DatabaseBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void getDatabaseTableNames(ErrorString&, const String& in_databaseId, RefPtr<Inspector::Protocol::Array<String>>& out_tableNames) = 0;
class JS_EXPORT_PRIVATE ExecuteSQLCallback : public BackendDispatcher::CallbackBase {
public:
ExecuteSQLCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(RefPtr<Inspector::Protocol::Array<String>>&& columnNames, RefPtr<Inspector::Protocol::Array<Inspector::InspectorValue>>&& values, RefPtr<Inspector::Protocol::Database::Error>&& sqlError);
};
virtual void executeSQL(ErrorString&, const String& in_databaseId, const String& in_query, Ref<ExecuteSQLCallback>&& callback) = 0;
protected:
virtual ~DatabaseBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE DebuggerBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void setAsyncStackTraceDepth(ErrorString&, int in_depth) = 0;
virtual void setBreakpointsActive(ErrorString&, bool in_active) = 0;
virtual void setBreakpointByUrl(ErrorString&, int in_lineNumber, const String* const opt_in_url, const String* const opt_in_urlRegex, const int* const opt_in_columnNumber, const Inspector::InspectorObject* opt_in_options, String* out_breakpointId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Location>>& out_locations) = 0;
virtual void setBreakpoint(ErrorString&, const Inspector::InspectorObject& in_location, const Inspector::InspectorObject* opt_in_options, String* out_breakpointId, RefPtr<Inspector::Protocol::Debugger::Location>& out_actualLocation) = 0;
virtual void removeBreakpoint(ErrorString&, const String& in_breakpointId) = 0;
virtual void continueUntilNextRunLoop(ErrorString&) = 0;
virtual void continueToLocation(ErrorString&, const Inspector::InspectorObject& in_location) = 0;
virtual void stepOver(ErrorString&) = 0;
virtual void stepInto(ErrorString&) = 0;
virtual void stepOut(ErrorString&) = 0;
virtual void pause(ErrorString&) = 0;
virtual void resume(ErrorString&) = 0;
virtual void searchInContent(ErrorString&, const String& in_scriptId, const String& in_query, const bool* const opt_in_caseSensitive, const bool* const opt_in_isRegex, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::GenericTypes::SearchMatch>>& out_result) = 0;
virtual void getScriptSource(ErrorString&, const String& in_scriptId, String* out_scriptSource) = 0;
virtual void getFunctionDetails(ErrorString&, const String& in_functionId, RefPtr<Inspector::Protocol::Debugger::FunctionDetails>& out_details) = 0;
// Named after parameter 'state' while generating command/event setPauseOnExceptions.
enum class State {
None = 127,
Uncaught = 167,
All = 168,
}; // enum class State
virtual void setPauseOnExceptions(ErrorString&, const String& in_state) = 0;
virtual void setPauseOnAssertions(ErrorString&, bool in_enabled) = 0;
virtual void evaluateOnCallFrame(ErrorString&, const String& in_callFrameId, const String& in_expression, const String* const opt_in_objectGroup, const bool* const opt_in_includeCommandLineAPI, const bool* const opt_in_doNotPauseOnExceptionsAndMuteConsole, const bool* const opt_in_returnByValue, const bool* const opt_in_generatePreview, const bool* const opt_in_saveResult, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_result, Inspector::Protocol::OptOutput<bool>* opt_out_wasThrown, Inspector::Protocol::OptOutput<int>* opt_out_savedResultIndex) = 0;
virtual void setOverlayMessage(ErrorString&, const String* const opt_in_message) = 0;
protected:
virtual ~DebuggerBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE HeapBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void gc(ErrorString&) = 0;
virtual void snapshot(ErrorString&, double* out_timestamp, String* out_snapshotData) = 0;
virtual void startTracking(ErrorString&) = 0;
virtual void stopTracking(ErrorString&) = 0;
virtual void getPreview(ErrorString&, int in_heapObjectId, Inspector::Protocol::OptOutput<String>* opt_out_string, RefPtr<Inspector::Protocol::Debugger::FunctionDetails>& opt_out_functionDetails, RefPtr<Inspector::Protocol::Runtime::ObjectPreview>& opt_out_preview) = 0;
virtual void getRemoteObject(ErrorString&, int in_heapObjectId, const String* const opt_in_objectGroup, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_result) = 0;
protected:
virtual ~HeapBackendDispatcherHandler();
};
#if ENABLE(INDEXED_DATABASE)
class JS_EXPORT_PRIVATE IndexedDBBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
class JS_EXPORT_PRIVATE RequestDatabaseNamesCallback : public BackendDispatcher::CallbackBase {
public:
RequestDatabaseNamesCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(RefPtr<Inspector::Protocol::Array<String>>&& databaseNames);
};
virtual void requestDatabaseNames(ErrorString&, const String& in_securityOrigin, Ref<RequestDatabaseNamesCallback>&& callback) = 0;
class JS_EXPORT_PRIVATE RequestDatabaseCallback : public BackendDispatcher::CallbackBase {
public:
RequestDatabaseCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(RefPtr<Inspector::Protocol::IndexedDB::DatabaseWithObjectStores>&& databaseWithObjectStores);
};
virtual void requestDatabase(ErrorString&, const String& in_securityOrigin, const String& in_databaseName, Ref<RequestDatabaseCallback>&& callback) = 0;
class JS_EXPORT_PRIVATE RequestDataCallback : public BackendDispatcher::CallbackBase {
public:
RequestDataCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(RefPtr<Inspector::Protocol::Array<Inspector::Protocol::IndexedDB::DataEntry>>&& objectStoreDataEntries, bool hasMore);
};
virtual void requestData(ErrorString&, const String& in_securityOrigin, const String& in_databaseName, const String& in_objectStoreName, const String& in_indexName, int in_skipCount, int in_pageSize, const Inspector::InspectorObject* opt_in_keyRange, Ref<RequestDataCallback>&& callback) = 0;
class JS_EXPORT_PRIVATE ClearObjectStoreCallback : public BackendDispatcher::CallbackBase {
public:
ClearObjectStoreCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess();
};
virtual void clearObjectStore(ErrorString&, const String& in_securityOrigin, const String& in_databaseName, const String& in_objectStoreName, Ref<ClearObjectStoreCallback>&& callback) = 0;
protected:
virtual ~IndexedDBBackendDispatcherHandler();
};
#endif // ENABLE(INDEXED_DATABASE)
class JS_EXPORT_PRIVATE InspectorBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void initialized(ErrorString&) = 0;
protected:
virtual ~InspectorBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE LayerTreeBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void layersForNode(ErrorString&, int in_nodeId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::LayerTree::Layer>>& out_layers) = 0;
virtual void reasonsForCompositingLayer(ErrorString&, const String& in_layerId, RefPtr<Inspector::Protocol::LayerTree::CompositingReasons>& out_compositingReasons) = 0;
protected:
virtual ~LayerTreeBackendDispatcherHandler();
};
#if ENABLE(RESOURCE_USAGE)
class JS_EXPORT_PRIVATE MemoryBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void startTracking(ErrorString&) = 0;
virtual void stopTracking(ErrorString&) = 0;
protected:
virtual ~MemoryBackendDispatcherHandler();
};
#endif // ENABLE(RESOURCE_USAGE)
class JS_EXPORT_PRIVATE NetworkBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void setExtraHTTPHeaders(ErrorString&, const Inspector::InspectorObject& in_headers) = 0;
virtual void getResponseBody(ErrorString&, const String& in_requestId, String* out_body, bool* out_base64Encoded) = 0;
virtual void setResourceCachingDisabled(ErrorString&, bool in_disabled) = 0;
class JS_EXPORT_PRIVATE LoadResourceCallback : public BackendDispatcher::CallbackBase {
public:
LoadResourceCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(const String& content, const String& mimeType, double status);
};
virtual void loadResource(ErrorString&, const String& in_frameId, const String& in_url, Ref<LoadResourceCallback>&& callback) = 0;
virtual void resolveWebSocket(ErrorString&, const String& in_requestId, const String* const opt_in_objectGroup, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_object) = 0;
protected:
virtual ~NetworkBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE PageBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void reload(ErrorString&, const bool* const opt_in_ignoreCache, const bool* const opt_in_revalidateAllResources, const String* const opt_in_scriptToEvaluateOnLoad) = 0;
virtual void navigate(ErrorString&, const String& in_url) = 0;
virtual void getCookies(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Page::Cookie>>& out_cookies) = 0;
virtual void deleteCookie(ErrorString&, const String& in_cookieName, const String& in_url) = 0;
virtual void getResourceTree(ErrorString&, RefPtr<Inspector::Protocol::Page::FrameResourceTree>& out_frameTree) = 0;
virtual void getResourceContent(ErrorString&, const String& in_frameId, const String& in_url, String* out_content, bool* out_base64Encoded) = 0;
virtual void searchInResource(ErrorString&, const String& in_frameId, const String& in_url, const String& in_query, const bool* const opt_in_caseSensitive, const bool* const opt_in_isRegex, const String* const opt_in_requestId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::GenericTypes::SearchMatch>>& out_result) = 0;
virtual void searchInResources(ErrorString&, const String& in_text, const bool* const opt_in_caseSensitive, const bool* const opt_in_isRegex, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Page::SearchResult>>& out_result) = 0;
virtual void setShowPaintRects(ErrorString&, bool in_result) = 0;
virtual void setEmulatedMedia(ErrorString&, const String& in_media) = 0;
virtual void getCompositingBordersVisible(ErrorString&, bool* out_result) = 0;
virtual void setCompositingBordersVisible(ErrorString&, bool in_visible) = 0;
virtual void snapshotNode(ErrorString&, int in_nodeId, String* out_dataURL) = 0;
virtual void snapshotRect(ErrorString&, int in_x, int in_y, int in_width, int in_height, const String& in_coordinateSystem, String* out_dataURL) = 0;
virtual void archive(ErrorString&, String* out_data) = 0;
protected:
virtual ~PageBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE RuntimeBackendDispatcherHandler {
public:
virtual void parse(ErrorString&, const String& in_source, Inspector::Protocol::Runtime::SyntaxErrorType* out_result, Inspector::Protocol::OptOutput<String>* opt_out_message, RefPtr<Inspector::Protocol::Runtime::ErrorRange>& opt_out_range) = 0;
virtual void evaluate(ErrorString&, const String& in_expression, const String* const opt_in_objectGroup, const bool* const opt_in_includeCommandLineAPI, const bool* const opt_in_doNotPauseOnExceptionsAndMuteConsole, const int* const opt_in_contextId, const bool* const opt_in_returnByValue, const bool* const opt_in_generatePreview, const bool* const opt_in_saveResult, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_result, Inspector::Protocol::OptOutput<bool>* opt_out_wasThrown, Inspector::Protocol::OptOutput<int>* opt_out_savedResultIndex) = 0;
virtual void callFunctionOn(ErrorString&, const String& in_objectId, const String& in_functionDeclaration, const Inspector::InspectorArray* opt_in_arguments, const bool* const opt_in_doNotPauseOnExceptionsAndMuteConsole, const bool* const opt_in_returnByValue, const bool* const opt_in_generatePreview, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& out_result, Inspector::Protocol::OptOutput<bool>* opt_out_wasThrown) = 0;
virtual void getPreview(ErrorString&, const String& in_objectId, RefPtr<Inspector::Protocol::Runtime::ObjectPreview>& out_preview) = 0;
virtual void getProperties(ErrorString&, const String& in_objectId, const bool* const opt_in_ownProperties, const bool* const opt_in_generatePreview, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyDescriptor>>& out_result, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::InternalPropertyDescriptor>>& opt_out_internalProperties) = 0;
virtual void getDisplayableProperties(ErrorString&, const String& in_objectId, const bool* const opt_in_generatePreview, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyDescriptor>>& out_properties, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::InternalPropertyDescriptor>>& opt_out_internalProperties) = 0;
virtual void getCollectionEntries(ErrorString&, const String& in_objectId, const String* const opt_in_objectGroup, const int* const opt_in_startIndex, const int* const opt_in_numberToFetch, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::CollectionEntry>>& out_entries) = 0;
virtual void saveResult(ErrorString&, const Inspector::InspectorObject& in_value, const int* const opt_in_contextId, Inspector::Protocol::OptOutput<int>* opt_out_savedResultIndex) = 0;
virtual void releaseObject(ErrorString&, const String& in_objectId) = 0;
virtual void releaseObjectGroup(ErrorString&, const String& in_objectGroup) = 0;
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void getRuntimeTypesForVariablesAtOffsets(ErrorString&, const Inspector::InspectorArray& in_locations, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::TypeDescription>>& out_types) = 0;
virtual void enableTypeProfiler(ErrorString&) = 0;
virtual void disableTypeProfiler(ErrorString&) = 0;
virtual void enableControlFlowProfiler(ErrorString&) = 0;
virtual void disableControlFlowProfiler(ErrorString&) = 0;
virtual void getBasicBlocks(ErrorString&, const String& in_sourceID, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::BasicBlock>>& out_basicBlocks) = 0;
protected:
virtual ~RuntimeBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE ScriptProfilerBackendDispatcherHandler {
public:
virtual void startTracking(ErrorString&, const bool* const opt_in_includeSamples) = 0;
virtual void stopTracking(ErrorString&) = 0;
protected:
virtual ~ScriptProfilerBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE TimelineBackendDispatcherHandler {
public:
virtual void start(ErrorString&, const int* const opt_in_maxCallStackDepth) = 0;
virtual void stop(ErrorString&) = 0;
virtual void setAutoCaptureEnabled(ErrorString&, bool in_enabled) = 0;
virtual void setInstruments(ErrorString&, const Inspector::InspectorArray& in_instruments) = 0;
protected:
virtual ~TimelineBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE WorkerBackendDispatcherHandler {
public:
virtual void enable(ErrorString&) = 0;
virtual void disable(ErrorString&) = 0;
virtual void initialized(ErrorString&, const String& in_workerId) = 0;
virtual void sendMessageToWorker(ErrorString&, const String& in_workerId, const String& in_message) = 0;
protected:
virtual ~WorkerBackendDispatcherHandler();
};
class JS_EXPORT_PRIVATE ApplicationCacheBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<ApplicationCacheBackendDispatcher> create(BackendDispatcher&, ApplicationCacheBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void getFramesWithManifests(long requestId, RefPtr<InspectorObject>&& parameters);
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void getManifestForFrame(long requestId, RefPtr<InspectorObject>&& parameters);
void getApplicationCacheForFrame(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateApplicationCacheBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateApplicationCacheBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
ApplicationCacheBackendDispatcher(BackendDispatcher&, ApplicationCacheBackendDispatcherHandler*);
ApplicationCacheBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE CSSBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<CSSBackendDispatcher> create(BackendDispatcher&, CSSBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void getMatchedStylesForNode(long requestId, RefPtr<InspectorObject>&& parameters);
void getInlineStylesForNode(long requestId, RefPtr<InspectorObject>&& parameters);
void getComputedStyleForNode(long requestId, RefPtr<InspectorObject>&& parameters);
void getAllStyleSheets(long requestId, RefPtr<InspectorObject>&& parameters);
void getStyleSheet(long requestId, RefPtr<InspectorObject>&& parameters);
void getStyleSheetText(long requestId, RefPtr<InspectorObject>&& parameters);
void setStyleSheetText(long requestId, RefPtr<InspectorObject>&& parameters);
void setStyleText(long requestId, RefPtr<InspectorObject>&& parameters);
void setRuleSelector(long requestId, RefPtr<InspectorObject>&& parameters);
void createStyleSheet(long requestId, RefPtr<InspectorObject>&& parameters);
void addRule(long requestId, RefPtr<InspectorObject>&& parameters);
void getSupportedCSSProperties(long requestId, RefPtr<InspectorObject>&& parameters);
void getSupportedSystemFontFamilyNames(long requestId, RefPtr<InspectorObject>&& parameters);
void forcePseudoState(long requestId, RefPtr<InspectorObject>&& parameters);
void getNamedFlowCollection(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateCSSBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateCSSBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
CSSBackendDispatcher(BackendDispatcher&, CSSBackendDispatcherHandler*);
CSSBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE CanvasBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<CanvasBackendDispatcher> create(BackendDispatcher&, CanvasBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void requestNode(long requestId, RefPtr<InspectorObject>&& parameters);
void requestContent(long requestId, RefPtr<InspectorObject>&& parameters);
void requestCSSCanvasClientNodes(long requestId, RefPtr<InspectorObject>&& parameters);
void resolveCanvasContext(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateCanvasBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateCanvasBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
CanvasBackendDispatcher(BackendDispatcher&, CanvasBackendDispatcherHandler*);
CanvasBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE ConsoleBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<ConsoleBackendDispatcher> create(BackendDispatcher&, ConsoleBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void clearMessages(long requestId, RefPtr<InspectorObject>&& parameters);
void setMonitoringXHREnabled(long requestId, RefPtr<InspectorObject>&& parameters);
void addInspectedNode(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateConsoleBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateConsoleBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
ConsoleBackendDispatcher(BackendDispatcher&, ConsoleBackendDispatcherHandler*);
ConsoleBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE DOMBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<DOMBackendDispatcher> create(BackendDispatcher&, DOMBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void getDocument(long requestId, RefPtr<InspectorObject>&& parameters);
void requestChildNodes(long requestId, RefPtr<InspectorObject>&& parameters);
void querySelector(long requestId, RefPtr<InspectorObject>&& parameters);
void querySelectorAll(long requestId, RefPtr<InspectorObject>&& parameters);
void setNodeName(long requestId, RefPtr<InspectorObject>&& parameters);
void setNodeValue(long requestId, RefPtr<InspectorObject>&& parameters);
void removeNode(long requestId, RefPtr<InspectorObject>&& parameters);
void setAttributeValue(long requestId, RefPtr<InspectorObject>&& parameters);
void setAttributesAsText(long requestId, RefPtr<InspectorObject>&& parameters);
void removeAttribute(long requestId, RefPtr<InspectorObject>&& parameters);
void getEventListenersForNode(long requestId, RefPtr<InspectorObject>&& parameters);
void getAccessibilityPropertiesForNode(long requestId, RefPtr<InspectorObject>&& parameters);
void getOuterHTML(long requestId, RefPtr<InspectorObject>&& parameters);
void setOuterHTML(long requestId, RefPtr<InspectorObject>&& parameters);
void performSearch(long requestId, RefPtr<InspectorObject>&& parameters);
void getSearchResults(long requestId, RefPtr<InspectorObject>&& parameters);
void discardSearchResults(long requestId, RefPtr<InspectorObject>&& parameters);
void requestNode(long requestId, RefPtr<InspectorObject>&& parameters);
void setInspectModeEnabled(long requestId, RefPtr<InspectorObject>&& parameters);
void highlightRect(long requestId, RefPtr<InspectorObject>&& parameters);
void highlightQuad(long requestId, RefPtr<InspectorObject>&& parameters);
void highlightSelector(long requestId, RefPtr<InspectorObject>&& parameters);
void highlightNode(long requestId, RefPtr<InspectorObject>&& parameters);
void highlightNodeList(long requestId, RefPtr<InspectorObject>&& parameters);
void hideHighlight(long requestId, RefPtr<InspectorObject>&& parameters);
void highlightFrame(long requestId, RefPtr<InspectorObject>&& parameters);
void pushNodeByPathToFrontend(long requestId, RefPtr<InspectorObject>&& parameters);
void pushNodeByBackendIdToFrontend(long requestId, RefPtr<InspectorObject>&& parameters);
void releaseBackendNodeIds(long requestId, RefPtr<InspectorObject>&& parameters);
void resolveNode(long requestId, RefPtr<InspectorObject>&& parameters);
void getAttributes(long requestId, RefPtr<InspectorObject>&& parameters);
void moveTo(long requestId, RefPtr<InspectorObject>&& parameters);
void undo(long requestId, RefPtr<InspectorObject>&& parameters);
void redo(long requestId, RefPtr<InspectorObject>&& parameters);
void markUndoableState(long requestId, RefPtr<InspectorObject>&& parameters);
void focus(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDOMBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateDOMBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
DOMBackendDispatcher(BackendDispatcher&, DOMBackendDispatcherHandler*);
DOMBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE DOMDebuggerBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<DOMDebuggerBackendDispatcher> create(BackendDispatcher&, DOMDebuggerBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void setDOMBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void removeDOMBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void setEventListenerBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void removeEventListenerBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void setInstrumentationBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void removeInstrumentationBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void setXHRBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void removeXHRBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDOMDebuggerBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateDOMDebuggerBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
DOMDebuggerBackendDispatcher(BackendDispatcher&, DOMDebuggerBackendDispatcherHandler*);
DOMDebuggerBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE DOMStorageBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<DOMStorageBackendDispatcher> create(BackendDispatcher&, DOMStorageBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void getDOMStorageItems(long requestId, RefPtr<InspectorObject>&& parameters);
void setDOMStorageItem(long requestId, RefPtr<InspectorObject>&& parameters);
void removeDOMStorageItem(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDOMStorageBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateDOMStorageBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
DOMStorageBackendDispatcher(BackendDispatcher&, DOMStorageBackendDispatcherHandler*);
DOMStorageBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE DatabaseBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<DatabaseBackendDispatcher> create(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void getDatabaseTableNames(long requestId, RefPtr<InspectorObject>&& parameters);
void executeSQL(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateDatabaseBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
DatabaseBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE DebuggerBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<DebuggerBackendDispatcher> create(BackendDispatcher&, DebuggerBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void setAsyncStackTraceDepth(long requestId, RefPtr<InspectorObject>&& parameters);
void setBreakpointsActive(long requestId, RefPtr<InspectorObject>&& parameters);
void setBreakpointByUrl(long requestId, RefPtr<InspectorObject>&& parameters);
void setBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void removeBreakpoint(long requestId, RefPtr<InspectorObject>&& parameters);
void continueUntilNextRunLoop(long requestId, RefPtr<InspectorObject>&& parameters);
void continueToLocation(long requestId, RefPtr<InspectorObject>&& parameters);
void stepOver(long requestId, RefPtr<InspectorObject>&& parameters);
void stepInto(long requestId, RefPtr<InspectorObject>&& parameters);
void stepOut(long requestId, RefPtr<InspectorObject>&& parameters);
void pause(long requestId, RefPtr<InspectorObject>&& parameters);
void resume(long requestId, RefPtr<InspectorObject>&& parameters);
void searchInContent(long requestId, RefPtr<InspectorObject>&& parameters);
void getScriptSource(long requestId, RefPtr<InspectorObject>&& parameters);
void getFunctionDetails(long requestId, RefPtr<InspectorObject>&& parameters);
void setPauseOnExceptions(long requestId, RefPtr<InspectorObject>&& parameters);
void setPauseOnAssertions(long requestId, RefPtr<InspectorObject>&& parameters);
void evaluateOnCallFrame(long requestId, RefPtr<InspectorObject>&& parameters);
void setOverlayMessage(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDebuggerBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateDebuggerBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
DebuggerBackendDispatcher(BackendDispatcher&, DebuggerBackendDispatcherHandler*);
DebuggerBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE HeapBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<HeapBackendDispatcher> create(BackendDispatcher&, HeapBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void gc(long requestId, RefPtr<InspectorObject>&& parameters);
void snapshot(long requestId, RefPtr<InspectorObject>&& parameters);
void startTracking(long requestId, RefPtr<InspectorObject>&& parameters);
void stopTracking(long requestId, RefPtr<InspectorObject>&& parameters);
void getPreview(long requestId, RefPtr<InspectorObject>&& parameters);
void getRemoteObject(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateHeapBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateHeapBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
HeapBackendDispatcher(BackendDispatcher&, HeapBackendDispatcherHandler*);
HeapBackendDispatcherHandler* m_agent { nullptr };
};
#if ENABLE(INDEXED_DATABASE)
class JS_EXPORT_PRIVATE IndexedDBBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<IndexedDBBackendDispatcher> create(BackendDispatcher&, IndexedDBBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void requestDatabaseNames(long requestId, RefPtr<InspectorObject>&& parameters);
void requestDatabase(long requestId, RefPtr<InspectorObject>&& parameters);
void requestData(long requestId, RefPtr<InspectorObject>&& parameters);
void clearObjectStore(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateIndexedDBBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateIndexedDBBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
IndexedDBBackendDispatcher(BackendDispatcher&, IndexedDBBackendDispatcherHandler*);
IndexedDBBackendDispatcherHandler* m_agent { nullptr };
};
#endif // ENABLE(INDEXED_DATABASE)
class JS_EXPORT_PRIVATE InspectorBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<InspectorBackendDispatcher> create(BackendDispatcher&, InspectorBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void initialized(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateInspectorBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateInspectorBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
InspectorBackendDispatcher(BackendDispatcher&, InspectorBackendDispatcherHandler*);
InspectorBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE LayerTreeBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<LayerTreeBackendDispatcher> create(BackendDispatcher&, LayerTreeBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void layersForNode(long requestId, RefPtr<InspectorObject>&& parameters);
void reasonsForCompositingLayer(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateLayerTreeBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateLayerTreeBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
LayerTreeBackendDispatcher(BackendDispatcher&, LayerTreeBackendDispatcherHandler*);
LayerTreeBackendDispatcherHandler* m_agent { nullptr };
};
#if ENABLE(RESOURCE_USAGE)
class JS_EXPORT_PRIVATE MemoryBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<MemoryBackendDispatcher> create(BackendDispatcher&, MemoryBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void startTracking(long requestId, RefPtr<InspectorObject>&& parameters);
void stopTracking(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateMemoryBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateMemoryBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
MemoryBackendDispatcher(BackendDispatcher&, MemoryBackendDispatcherHandler*);
MemoryBackendDispatcherHandler* m_agent { nullptr };
};
#endif // ENABLE(RESOURCE_USAGE)
class JS_EXPORT_PRIVATE NetworkBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<NetworkBackendDispatcher> create(BackendDispatcher&, NetworkBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void setExtraHTTPHeaders(long requestId, RefPtr<InspectorObject>&& parameters);
void getResponseBody(long requestId, RefPtr<InspectorObject>&& parameters);
void setResourceCachingDisabled(long requestId, RefPtr<InspectorObject>&& parameters);
void loadResource(long requestId, RefPtr<InspectorObject>&& parameters);
void resolveWebSocket(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateNetworkBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateNetworkBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
NetworkBackendDispatcher(BackendDispatcher&, NetworkBackendDispatcherHandler*);
NetworkBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE PageBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<PageBackendDispatcher> create(BackendDispatcher&, PageBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void reload(long requestId, RefPtr<InspectorObject>&& parameters);
void navigate(long requestId, RefPtr<InspectorObject>&& parameters);
void getCookies(long requestId, RefPtr<InspectorObject>&& parameters);
void deleteCookie(long requestId, RefPtr<InspectorObject>&& parameters);
void getResourceTree(long requestId, RefPtr<InspectorObject>&& parameters);
void getResourceContent(long requestId, RefPtr<InspectorObject>&& parameters);
void searchInResource(long requestId, RefPtr<InspectorObject>&& parameters);
void searchInResources(long requestId, RefPtr<InspectorObject>&& parameters);
void setShowPaintRects(long requestId, RefPtr<InspectorObject>&& parameters);
void setEmulatedMedia(long requestId, RefPtr<InspectorObject>&& parameters);
void getCompositingBordersVisible(long requestId, RefPtr<InspectorObject>&& parameters);
void setCompositingBordersVisible(long requestId, RefPtr<InspectorObject>&& parameters);
void snapshotNode(long requestId, RefPtr<InspectorObject>&& parameters);
void snapshotRect(long requestId, RefPtr<InspectorObject>&& parameters);
void archive(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternatePageBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternatePageBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
PageBackendDispatcher(BackendDispatcher&, PageBackendDispatcherHandler*);
PageBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE RuntimeBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<RuntimeBackendDispatcher> create(BackendDispatcher&, RuntimeBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void parse(long requestId, RefPtr<InspectorObject>&& parameters);
void evaluate(long requestId, RefPtr<InspectorObject>&& parameters);
void callFunctionOn(long requestId, RefPtr<InspectorObject>&& parameters);
void getPreview(long requestId, RefPtr<InspectorObject>&& parameters);
void getProperties(long requestId, RefPtr<InspectorObject>&& parameters);
void getDisplayableProperties(long requestId, RefPtr<InspectorObject>&& parameters);
void getCollectionEntries(long requestId, RefPtr<InspectorObject>&& parameters);
void saveResult(long requestId, RefPtr<InspectorObject>&& parameters);
void releaseObject(long requestId, RefPtr<InspectorObject>&& parameters);
void releaseObjectGroup(long requestId, RefPtr<InspectorObject>&& parameters);
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void getRuntimeTypesForVariablesAtOffsets(long requestId, RefPtr<InspectorObject>&& parameters);
void enableTypeProfiler(long requestId, RefPtr<InspectorObject>&& parameters);
void disableTypeProfiler(long requestId, RefPtr<InspectorObject>&& parameters);
void enableControlFlowProfiler(long requestId, RefPtr<InspectorObject>&& parameters);
void disableControlFlowProfiler(long requestId, RefPtr<InspectorObject>&& parameters);
void getBasicBlocks(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateRuntimeBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateRuntimeBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
RuntimeBackendDispatcher(BackendDispatcher&, RuntimeBackendDispatcherHandler*);
RuntimeBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE ScriptProfilerBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<ScriptProfilerBackendDispatcher> create(BackendDispatcher&, ScriptProfilerBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void startTracking(long requestId, RefPtr<InspectorObject>&& parameters);
void stopTracking(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateScriptProfilerBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateScriptProfilerBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
ScriptProfilerBackendDispatcher(BackendDispatcher&, ScriptProfilerBackendDispatcherHandler*);
ScriptProfilerBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE TimelineBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<TimelineBackendDispatcher> create(BackendDispatcher&, TimelineBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void start(long requestId, RefPtr<InspectorObject>&& parameters);
void stop(long requestId, RefPtr<InspectorObject>&& parameters);
void setAutoCaptureEnabled(long requestId, RefPtr<InspectorObject>&& parameters);
void setInstruments(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateTimelineBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateTimelineBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
TimelineBackendDispatcher(BackendDispatcher&, TimelineBackendDispatcherHandler*);
TimelineBackendDispatcherHandler* m_agent { nullptr };
};
class JS_EXPORT_PRIVATE WorkerBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<WorkerBackendDispatcher> create(BackendDispatcher&, WorkerBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void enable(long requestId, RefPtr<InspectorObject>&& parameters);
void disable(long requestId, RefPtr<InspectorObject>&& parameters);
void initialized(long requestId, RefPtr<InspectorObject>&& parameters);
void sendMessageToWorker(long requestId, RefPtr<InspectorObject>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateWorkerBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateWorkerBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
WorkerBackendDispatcher(BackendDispatcher&, WorkerBackendDispatcherHandler*);
WorkerBackendDispatcherHandler* m_agent { nullptr };
};
} // namespace Inspector

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,299 @@
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from CombinedDomains.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#include "InspectorProtocolObjects.h"
#include <inspector/InspectorValues.h>
#include <wtf/text/WTFString.h>
namespace Inspector {
class FrontendRouter;
class JS_EXPORT_PRIVATE ApplicationCacheFrontendDispatcher {
public:
ApplicationCacheFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void applicationCacheStatusUpdated(const Inspector::Protocol::Network::FrameId& frameId, const String& manifestURL, int status);
void networkStateUpdated(bool isNowOnline);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE CSSFrontendDispatcher {
public:
CSSFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void mediaQueryResultChanged();
void styleSheetChanged(const Inspector::Protocol::CSS::StyleSheetId& styleSheetId);
void styleSheetAdded(RefPtr<Inspector::Protocol::CSS::CSSStyleSheetHeader> header);
void styleSheetRemoved(const Inspector::Protocol::CSS::StyleSheetId& styleSheetId);
void namedFlowCreated(RefPtr<Inspector::Protocol::CSS::NamedFlow> namedFlow);
void namedFlowRemoved(int documentNodeId, const String& flowName);
void regionOversetChanged(RefPtr<Inspector::Protocol::CSS::NamedFlow> namedFlow);
void registeredNamedFlowContentElement(int documentNodeId, const String& flowName, int contentNodeId, int nextContentNodeId);
void unregisteredNamedFlowContentElement(int documentNodeId, const String& flowName, int contentNodeId);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE CanvasFrontendDispatcher {
public:
CanvasFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void canvasAdded(RefPtr<Inspector::Protocol::Canvas::Canvas> canvas);
void canvasRemoved(const Inspector::Protocol::Canvas::CanvasId& canvasId);
void canvasMemoryChanged(const Inspector::Protocol::Canvas::CanvasId& canvasId, double memoryCost);
void cssCanvasClientNodesChanged(const Inspector::Protocol::Canvas::CanvasId& canvasId);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE ConsoleFrontendDispatcher {
public:
ConsoleFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void messageAdded(RefPtr<Inspector::Protocol::Console::ConsoleMessage> message);
void messageRepeatCountUpdated(int count);
void messagesCleared();
void heapSnapshot(double timestamp, const Inspector::Protocol::Heap::HeapSnapshotData& snapshotData, const String* const title);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE DOMFrontendDispatcher {
public:
DOMFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void documentUpdated();
void setChildNodes(int parentId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::Node>> nodes);
void attributeModified(int nodeId, const String& name, const String& value);
void attributeRemoved(int nodeId, const String& name);
void inlineStyleInvalidated(RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::NodeId>> nodeIds);
void characterDataModified(int nodeId, const String& characterData);
void childNodeCountUpdated(int nodeId, int childNodeCount);
void childNodeInserted(int parentNodeId, int previousNodeId, RefPtr<Inspector::Protocol::DOM::Node> node);
void childNodeRemoved(int parentNodeId, int nodeId);
void shadowRootPushed(int hostId, RefPtr<Inspector::Protocol::DOM::Node> root);
void shadowRootPopped(int hostId, int rootId);
// Named after parameter 'customElementState' while generating command/event customElementStateChanged.
enum class CustomElementState {
Builtin = 51,
Custom = 52,
Waiting = 53,
Failed = 54,
}; // enum class CustomElementState
void customElementStateChanged(int nodeId, Inspector::Protocol::DOM::CustomElementState customElementState);
void pseudoElementAdded(int parentId, RefPtr<Inspector::Protocol::DOM::Node> pseudoElement);
void pseudoElementRemoved(int parentId, int pseudoElementId);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE DOMStorageFrontendDispatcher {
public:
DOMStorageFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void domStorageItemsCleared(RefPtr<Inspector::Protocol::DOMStorage::StorageId> storageId);
void domStorageItemRemoved(RefPtr<Inspector::Protocol::DOMStorage::StorageId> storageId, const String& key);
void domStorageItemAdded(RefPtr<Inspector::Protocol::DOMStorage::StorageId> storageId, const String& key, const String& newValue);
void domStorageItemUpdated(RefPtr<Inspector::Protocol::DOMStorage::StorageId> storageId, const String& key, const String& oldValue, const String& newValue);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE DatabaseFrontendDispatcher {
public:
DatabaseFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void addDatabase(RefPtr<Inspector::Protocol::Database::Database> database);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE DebuggerFrontendDispatcher {
public:
DebuggerFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void globalObjectCleared();
void scriptParsed(const Inspector::Protocol::Debugger::ScriptId& scriptId, const String& url, int startLine, int startColumn, int endLine, int endColumn, const bool* const isContentScript, const String* const sourceURL, const String* const sourceMapURL, const bool* const module);
void scriptFailedToParse(const String& url, const String& scriptSource, int startLine, int errorLine, const String& errorMessage);
void breakpointResolved(const Inspector::Protocol::Debugger::BreakpointId& breakpointId, RefPtr<Inspector::Protocol::Debugger::Location> location);
// Named after parameter 'reason' while generating command/event paused.
enum class Reason {
XHR = 104,
DOM = 158,
EventListener = 159,
Exception = 160,
Assert = 43,
CSPViolation = 161,
DebuggerStatement = 162,
Breakpoint = 163,
PauseOnNextStatement = 164,
Other = 29,
}; // enum class Reason
void paused(RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Debugger::CallFrame>> callFrames, Reason reason, RefPtr<Inspector::InspectorObject> data, RefPtr<Inspector::Protocol::Console::StackTrace> asyncStackTrace);
void resumed();
void didSampleProbe(RefPtr<Inspector::Protocol::Debugger::ProbeSample> sample);
void playBreakpointActionSound(int breakpointActionId);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE HeapFrontendDispatcher {
public:
HeapFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void garbageCollected(RefPtr<Inspector::Protocol::Heap::GarbageCollection> collection);
void trackingStart(double timestamp, const Inspector::Protocol::Heap::HeapSnapshotData& snapshotData);
void trackingComplete(double timestamp, const Inspector::Protocol::Heap::HeapSnapshotData& snapshotData);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE InspectorFrontendDispatcher {
public:
InspectorFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void evaluateForTestInFrontend(const String& script);
void inspect(RefPtr<Inspector::Protocol::Runtime::RemoteObject> object, RefPtr<Inspector::InspectorObject> hints);
void activateExtraDomains(RefPtr<Inspector::Protocol::Array<String>> domains);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE LayerTreeFrontendDispatcher {
public:
LayerTreeFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void layerTreeDidChange();
private:
FrontendRouter& m_frontendRouter;
};
#if ENABLE(RESOURCE_USAGE)
class JS_EXPORT_PRIVATE MemoryFrontendDispatcher {
public:
MemoryFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
// Named after parameter 'severity' while generating command/event memoryPressure.
enum class Severity {
Critical = 165,
NonCritical = 166,
}; // enum class Severity
void memoryPressure(double timestamp, Severity severity);
void trackingStart(double timestamp);
void trackingUpdate(RefPtr<Inspector::Protocol::Memory::Event> event);
void trackingComplete();
private:
FrontendRouter& m_frontendRouter;
};
#endif // ENABLE(RESOURCE_USAGE)
class JS_EXPORT_PRIVATE NetworkFrontendDispatcher {
public:
NetworkFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
// Named after parameter 'type' while generating command/event requestWillBeSent.
enum class Type {
Document = 99,
Stylesheet = 100,
Image = 101,
Font = 102,
Script = 103,
XHR = 104,
Fetch = 105,
WebSocket = 106,
Other = 107,
}; // enum class Type
void requestWillBeSent(const Inspector::Protocol::Network::RequestId& requestId, const Inspector::Protocol::Network::FrameId& frameId, const Inspector::Protocol::Network::LoaderId& loaderId, const String& documentURL, RefPtr<Inspector::Protocol::Network::Request> request, double timestamp, RefPtr<Inspector::Protocol::Network::Initiator> initiator, RefPtr<Inspector::Protocol::Network::Response> redirectResponse, Inspector::Protocol::Page::ResourceType* type, const String* const targetId);
void responseReceived(const Inspector::Protocol::Network::RequestId& requestId, const Inspector::Protocol::Network::FrameId& frameId, const Inspector::Protocol::Network::LoaderId& loaderId, double timestamp, Inspector::Protocol::Page::ResourceType type, RefPtr<Inspector::Protocol::Network::Response> response);
void dataReceived(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, int dataLength, int encodedDataLength);
void loadingFinished(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, const String* const sourceMapURL, RefPtr<Inspector::Protocol::Network::Metrics> metrics);
void loadingFailed(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, const String& errorText, const bool* const canceled);
void requestServedFromMemoryCache(const Inspector::Protocol::Network::RequestId& requestId, const Inspector::Protocol::Network::FrameId& frameId, const Inspector::Protocol::Network::LoaderId& loaderId, const String& documentURL, double timestamp, RefPtr<Inspector::Protocol::Network::Initiator> initiator, RefPtr<Inspector::Protocol::Network::CachedResource> resource);
void webSocketWillSendHandshakeRequest(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, double walltime, RefPtr<Inspector::Protocol::Network::WebSocketRequest> request);
void webSocketHandshakeResponseReceived(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, RefPtr<Inspector::Protocol::Network::WebSocketResponse> response);
void webSocketCreated(const Inspector::Protocol::Network::RequestId& requestId, const String& url);
void webSocketClosed(const Inspector::Protocol::Network::RequestId& requestId, double timestamp);
void webSocketFrameReceived(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, RefPtr<Inspector::Protocol::Network::WebSocketFrame> response);
void webSocketFrameError(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, const String& errorMessage);
void webSocketFrameSent(const Inspector::Protocol::Network::RequestId& requestId, double timestamp, RefPtr<Inspector::Protocol::Network::WebSocketFrame> response);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE PageFrontendDispatcher {
public:
PageFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void domContentEventFired(double timestamp);
void loadEventFired(double timestamp);
void frameNavigated(RefPtr<Inspector::Protocol::Page::Frame> frame);
void frameDetached(const Inspector::Protocol::Network::FrameId& frameId);
void frameStartedLoading(const Inspector::Protocol::Network::FrameId& frameId);
void frameStoppedLoading(const Inspector::Protocol::Network::FrameId& frameId);
void frameScheduledNavigation(const Inspector::Protocol::Network::FrameId& frameId, double delay);
void frameClearedScheduledNavigation(const Inspector::Protocol::Network::FrameId& frameId);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE RuntimeFrontendDispatcher {
public:
RuntimeFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void executionContextCreated(RefPtr<Inspector::Protocol::Runtime::ExecutionContextDescription> context);
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE ScriptProfilerFrontendDispatcher {
public:
ScriptProfilerFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void trackingStart(double timestamp);
void trackingUpdate(RefPtr<Inspector::Protocol::ScriptProfiler::Event> event);
void trackingComplete(RefPtr<Inspector::Protocol::ScriptProfiler::Samples> samples);
void programmaticCaptureStarted();
void programmaticCaptureStopped();
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE TimelineFrontendDispatcher {
public:
TimelineFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void eventRecorded(RefPtr<Inspector::Protocol::Timeline::TimelineEvent> record);
void recordingStarted(double startTime);
void recordingStopped(double endTime);
void autoCaptureStarted();
void programmaticCaptureStarted();
void programmaticCaptureStopped();
private:
FrontendRouter& m_frontendRouter;
};
class JS_EXPORT_PRIVATE WorkerFrontendDispatcher {
public:
WorkerFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
void workerCreated(const String& workerId, const String& url);
void workerTerminated(const String& workerId);
void dispatchMessageFromWorker(const String& workerId, const String& message);
private:
FrontendRouter& m_frontendRouter;
};
} // namespace Inspector

View File

@ -0,0 +1,29 @@
// Automatically generated from JavaScriptCore/runtime/InspectorInstrumentationObject.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex inspectorInstrumentationObjectTableIndex[9] = {
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, 8 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ 2, -1 },
};
static const struct HashTableValue inspectorInstrumentationObjectTableValues[3] = {
{ "log", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(inspectorInstrumentationObjectLog), (intptr_t)(1) } },
{ "promiseFulfilled", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(inspectorInstrumentationObjectPromiseFulfilledCodeGenerator), (intptr_t)3 } },
{ "promiseRejected", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(inspectorInstrumentationObjectPromiseRejectedCodeGenerator), (intptr_t)3 } },
};
static const struct HashTable inspectorInstrumentationObjectTable =
{ 3, 7, false, inspectorInstrumentationObjectTableValues, inspectorInstrumentationObjectTableIndex };
} // namespace JSC

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
// Automatically generated from JavaScriptCore/runtime/IntlCollatorConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex collatorConstructorTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue collatorConstructorTableValues[1] = {
{ "supportedLocalesOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlCollatorConstructorFuncSupportedLocalesOf), (intptr_t)(1) } },
};
static const struct HashTable collatorConstructorTable =
{ 1, 1, false, collatorConstructorTableValues, collatorConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/IntlCollatorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex collatorPrototypeTableIndex[4] = {
{ 0, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
};
static const struct HashTableValue collatorPrototypeTableValues[2] = {
{ "compare", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlCollatorPrototypeGetterCompare), (intptr_t)static_cast<NativeFunction>(nullptr) } },
{ "resolvedOptions", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlCollatorPrototypeFuncResolvedOptions), (intptr_t)(0) } },
};
static const struct HashTable collatorPrototypeTable =
{ 2, 3, true, collatorPrototypeTableValues, collatorPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,19 @@
// Automatically generated from JavaScriptCore/runtime/IntlDateTimeFormatConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex dateTimeFormatConstructorTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue dateTimeFormatConstructorTableValues[1] = {
{ "supportedLocalesOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlDateTimeFormatConstructorFuncSupportedLocalesOf), (intptr_t)(1) } },
};
static const struct HashTable dateTimeFormatConstructorTable =
{ 1, 1, false, dateTimeFormatConstructorTableValues, dateTimeFormatConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex dateTimeFormatPrototypeTableIndex[4] = {
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ 1, -1 },
};
static const struct HashTableValue dateTimeFormatPrototypeTableValues[2] = {
{ "format", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlDateTimeFormatPrototypeGetterFormat), (intptr_t)static_cast<NativeFunction>(nullptr) } },
{ "resolvedOptions", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlDateTimeFormatPrototypeFuncResolvedOptions), (intptr_t)(0) } },
};
static const struct HashTable dateTimeFormatPrototypeTable =
{ 2, 3, true, dateTimeFormatPrototypeTableValues, dateTimeFormatPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,19 @@
// Automatically generated from JavaScriptCore/runtime/IntlNumberFormatConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex numberFormatConstructorTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue numberFormatConstructorTableValues[1] = {
{ "supportedLocalesOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlNumberFormatConstructorFuncSupportedLocalesOf), (intptr_t)(1) } },
};
static const struct HashTable numberFormatConstructorTable =
{ 1, 1, false, numberFormatConstructorTableValues, numberFormatConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex numberFormatPrototypeTableIndex[4] = {
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ 1, -1 },
};
static const struct HashTableValue numberFormatPrototypeTableValues[2] = {
{ "format", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlNumberFormatPrototypeGetterFormat), (intptr_t)static_cast<NativeFunction>(nullptr) } },
{ "resolvedOptions", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(IntlNumberFormatPrototypeFuncResolvedOptions), (intptr_t)(0) } },
};
static const struct HashTable numberFormatPrototypeTable =
{ 2, 3, true, numberFormatPrototypeTableValues, numberFormatPrototypeTableIndex };
} // namespace JSC

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,103 @@
// Automatically generated from JavaScriptCore/runtime/JSDataViewPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex dataViewTableIndex[68] = {
{ -1, -1 },
{ -1, -1 },
{ 18, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 10, -1 },
{ -1, -1 },
{ 16, -1 },
{ -1, -1 },
{ 17, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 9, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, 66 },
{ -1, -1 },
{ 1, 67 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 6, -1 },
{ -1, -1 },
{ -1, -1 },
{ 13, -1 },
{ 2, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 5, 64 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 12, -1 },
{ 3, 65 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 4, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ 7, -1 },
{ 8, -1 },
{ 14, -1 },
{ 15, -1 },
};
static const struct HashTableValue dataViewTableValues[19] = {
{ "getInt8", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetInt8), (intptr_t)(1) } },
{ "getUint8", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetUint8), (intptr_t)(1) } },
{ "getInt16", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetInt16), (intptr_t)(1) } },
{ "getUint16", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetUint16), (intptr_t)(1) } },
{ "getInt32", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetInt32), (intptr_t)(1) } },
{ "getUint32", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetUint32), (intptr_t)(1) } },
{ "getFloat32", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetFloat32), (intptr_t)(1) } },
{ "getFloat64", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncGetFloat64), (intptr_t)(1) } },
{ "setInt8", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetInt8), (intptr_t)(2) } },
{ "setUint8", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetUint8), (intptr_t)(2) } },
{ "setInt16", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetInt16), (intptr_t)(2) } },
{ "setUint16", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetUint16), (intptr_t)(2) } },
{ "setInt32", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetInt32), (intptr_t)(2) } },
{ "setUint32", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetUint32), (intptr_t)(2) } },
{ "setFloat32", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetFloat32), (intptr_t)(2) } },
{ "setFloat64", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoFuncSetFloat64), (intptr_t)(2) } },
{ "buffer", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoGetterBuffer), (intptr_t)static_cast<NativeFunction>(nullptr) } },
{ "byteLength", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoGetterByteLength), (intptr_t)static_cast<NativeFunction>(nullptr) } },
{ "byteOffset", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(dataViewProtoGetterByteOffset), (intptr_t)static_cast<NativeFunction>(nullptr) } },
};
static const struct HashTable dataViewTable =
{ 19, 63, true, dataViewTableValues, dataViewTableIndex };
} // namespace JSC

View File

@ -0,0 +1,120 @@
// Automatically generated from JavaScriptCore/runtime/JSGlobalObject.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex globalObjectTableIndex[71] = {
{ 24, -1 },
{ 7, -1 },
{ 5, 67 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 28, -1 },
{ -1, -1 },
{ 20, -1 },
{ -1, -1 },
{ 9, -1 },
{ -1, -1 },
{ 14, -1 },
{ 30, -1 },
{ -1, -1 },
{ 8, 66 },
{ 0, 64 },
{ 17, -1 },
{ -1, -1 },
{ 21, 70 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 19, -1 },
{ -1, -1 },
{ -1, -1 },
{ 29, -1 },
{ -1, -1 },
{ 27, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 12, 69 },
{ -1, -1 },
{ 3, 65 },
{ -1, -1 },
{ -1, -1 },
{ 1, 68 },
{ 31, -1 },
{ 22, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 10, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 23, -1 },
{ 13, -1 },
{ 25, -1 },
{ 6, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
{ 4, -1 },
{ 11, -1 },
{ 15, -1 },
{ 16, -1 },
{ 18, -1 },
{ 26, -1 },
};
static const struct HashTableValue globalObjectTableValues[32] = {
{ "isNaN", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(globalObjectIsNaNCodeGenerator), (intptr_t)1 } },
{ "isFinite", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(globalObjectIsFiniteCodeGenerator), (intptr_t)1 } },
{ "escape", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(globalFuncEscape), (intptr_t)(1) } },
{ "unescape", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(globalFuncUnescape), (intptr_t)(1) } },
{ "decodeURI", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(globalFuncDecodeURI), (intptr_t)(1) } },
{ "decodeURIComponent", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(globalFuncDecodeURIComponent), (intptr_t)(1) } },
{ "encodeURI", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(globalFuncEncodeURI), (intptr_t)(1) } },
{ "encodeURIComponent", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(globalFuncEncodeURIComponent), (intptr_t)(1) } },
{ "EvalError", DontEnum|CellProperty, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_evalErrorConstructor)), (intptr_t)(0) } },
{ "ReferenceError", DontEnum|CellProperty, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_referenceErrorConstructor)), (intptr_t)(0) } },
{ "SyntaxError", DontEnum|CellProperty, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_syntaxErrorConstructor)), (intptr_t)(0) } },
{ "URIError", DontEnum|CellProperty, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_URIErrorConstructor)), (intptr_t)(0) } },
{ "Proxy", DontEnum|PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createProxyProperty), (intptr_t)(0) } },
{ "JSON", DontEnum|PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSONProperty), (intptr_t)(0) } },
{ "Math", DontEnum|PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createMathProperty), (intptr_t)(0) } },
{ "Atomics", DontEnum|PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createAtomicsProperty), (intptr_t)(0) } },
{ "console", DontEnum|PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createConsoleProperty), (intptr_t)(0) } },
{ "Int8Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayInt8)), (intptr_t)(0) } },
{ "Int16Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayInt16)), (intptr_t)(0) } },
{ "Int32Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayInt32)), (intptr_t)(0) } },
{ "Uint8Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayUint8)), (intptr_t)(0) } },
{ "Uint8ClampedArray", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayUint8Clamped)), (intptr_t)(0) } },
{ "Uint16Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayUint16)), (intptr_t)(0) } },
{ "Uint32Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayUint32)), (intptr_t)(0) } },
{ "Float32Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayFloat32)), (intptr_t)(0) } },
{ "Float64Array", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayFloat64)), (intptr_t)(0) } },
{ "DataView", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_typedArrayDataView)), (intptr_t)(0) } },
{ "Date", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_dateStructure)), (intptr_t)(0) } },
{ "Boolean", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_booleanObjectStructure)), (intptr_t)(0) } },
{ "Number", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_numberObjectStructure)), (intptr_t)(0) } },
{ "WeakMap", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_weakMapStructure)), (intptr_t)(0) } },
{ "WeakSet", DontEnum|ClassStructure, NoIntrinsic, { (intptr_t)(OBJECT_OFFSETOF(JSGlobalObject, m_weakSetStructure)), (intptr_t)(0) } },
};
static const struct HashTable globalObjectTable =
{ 32, 63, false, globalObjectTableValues, globalObjectTableIndex };
} // namespace JSC

View File

@ -0,0 +1,20 @@
// Automatically generated from JavaScriptCore/runtime/JSInternalPromiseConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex internalPromiseConstructorTableIndex[2] = {
{ 0, -1 },
{ -1, -1 },
};
static const struct HashTableValue internalPromiseConstructorTableValues[1] = {
{ "internalAll", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(internalPromiseConstructorInternalAllCodeGenerator), (intptr_t)1 } },
};
static const struct HashTable internalPromiseConstructorTable =
{ 1, 1, false, internalPromiseConstructorTableValues, internalPromiseConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/JSONObject.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex jsonTableIndex[4] = {
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ 1, -1 },
};
static const struct HashTableValue jsonTableValues[2] = {
{ "parse", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(JSONProtoFuncParse), (intptr_t)(2) } },
{ "stringify", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(JSONProtoFuncStringify), (intptr_t)(3) } },
};
static const struct HashTable jsonTable =
{ 2, 3, false, jsonTableValues, jsonTableIndex };
} // namespace JSC

View File

@ -0,0 +1,30 @@
// Automatically generated from JavaScriptCore/runtime/JSPromiseConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex promiseConstructorTableIndex[9] = {
{ 2, -1 },
{ -1, -1 },
{ 0, 8 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 3, -1 },
};
static const struct HashTableValue promiseConstructorTableValues[4] = {
{ "resolve", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(promiseConstructorResolveCodeGenerator), (intptr_t)1 } },
{ "reject", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(promiseConstructorRejectCodeGenerator), (intptr_t)1 } },
{ "race", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(promiseConstructorRaceCodeGenerator), (intptr_t)1 } },
{ "all", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(promiseConstructorAllCodeGenerator), (intptr_t)1 } },
};
static const struct HashTable promiseConstructorTable =
{ 4, 7, false, promiseConstructorTableValues, promiseConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,23 @@
// Automatically generated from JavaScriptCore/runtime/JSPromisePrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex promisePrototypeTableIndex[4] = {
{ 0, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
};
static const struct HashTableValue promisePrototypeTableValues[2] = {
{ "then", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(promisePrototypeThenCodeGenerator), (intptr_t)2 } },
{ "catch", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(promisePrototypeCatchCodeGenerator), (intptr_t)1 } },
};
static const struct HashTable promisePrototypeTable =
{ 2, 3, false, promisePrototypeTableValues, promisePrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,851 @@
// This file was generated by KeywordLookupGenerator.py. Do not edit.
#if CPU(NEEDS_ALIGNED_ACCESS)
#define COMPARE_2CHARS(address, char1, char2) \
(((address)[0] == char1) && ((address)[1] == char2))
#define COMPARE_4CHARS(address, char1, char2, char3, char4) \
(COMPARE_2CHARS(address, char1, char2) && COMPARE_2CHARS((address) + 2, char3, char4))
#define COMPARE_2UCHARS(address, char1, char2) \
(((address)[0] == char1) && ((address)[1] == char2))
#define COMPARE_4UCHARS(address, char1, char2, char3, char4) \
(COMPARE_2UCHARS(address, char1, char2) && COMPARE_2UCHARS((address) + 2, char3, char4))
#else // CPU(NEEDS_ALIGNED_ACCESS)
#if CPU(BIG_ENDIAN)
#define CHARPAIR_TOUINT16(a, b) \
((((uint16_t)(a)) << 8) + (uint16_t)(b))
#define CHARQUAD_TOUINT32(a, b, c, d) \
((((uint32_t)(CHARPAIR_TOUINT16(a, b))) << 16) + CHARPAIR_TOUINT16(c, d))
#define UCHARPAIR_TOUINT32(a, b) \
((((uint32_t)(a)) << 16) + (uint32_t)(b))
#define UCHARQUAD_TOUINT64(a, b, c, d) \
((((uint64_t)(UCHARQUAD_TOUINT64(a, b))) << 32) + UCHARPAIR_TOUINT32(c, d))
#else // CPU(BIG_ENDIAN)
#define CHARPAIR_TOUINT16(a, b) \
((((uint16_t)(b)) << 8) + (uint16_t)(a))
#define CHARQUAD_TOUINT32(a, b, c, d) \
((((uint32_t)(CHARPAIR_TOUINT16(c, d))) << 16) + CHARPAIR_TOUINT16(a, b))
#define UCHARPAIR_TOUINT32(a, b) \
((((uint32_t)(b)) << 16) + (uint32_t)(a))
#define UCHARQUAD_TOUINT64(a, b, c, d) \
((((uint64_t)(UCHARPAIR_TOUINT32(c, d))) << 32) + UCHARPAIR_TOUINT32(a, b))
#endif // CPU(BIG_ENDIAN)
#define COMPARE_2CHARS(address, char1, char2) \
((reinterpret_cast<const uint16_t*>(address))[0] == CHARPAIR_TOUINT16(char1, char2))
#define COMPARE_2UCHARS(address, char1, char2) \
((reinterpret_cast<const uint32_t*>(address))[0] == UCHARPAIR_TOUINT32(char1, char2))
#if CPU(X86_64)
#define COMPARE_4CHARS(address, char1, char2, char3, char4) \
((reinterpret_cast<const uint32_t*>(address))[0] == CHARQUAD_TOUINT32(char1, char2, char3, char4))
#define COMPARE_4UCHARS(address, char1, char2, char3, char4) \
((reinterpret_cast<const uint64_t*>(address))[0] == UCHARQUAD_TOUINT64(char1, char2, char3, char4))
#else // CPU(X86_64)
#define COMPARE_4CHARS(address, char1, char2, char3, char4) \
(COMPARE_2CHARS(address, char1, char2) && COMPARE_2CHARS((address) + 2, char3, char4))
#define COMPARE_4UCHARS(address, char1, char2, char3, char4) \
(COMPARE_2UCHARS(address, char1, char2) && COMPARE_2UCHARS((address) + 2, char3, char4))
#endif // CPU(X86_64)
#endif // CPU(NEEDS_ALIGNED_ACCESS)
#define COMPARE_3CHARS(address, char1, char2, char3) \
(COMPARE_2CHARS(address, char1, char2) && ((address)[2] == (char3)))
#define COMPARE_3UCHARS(address, char1, char2, char3) \
(COMPARE_2UCHARS(address, char1, char2) && ((address)[2] == (char3)))
#define COMPARE_5CHARS(address, char1, char2, char3, char4, char5) \
(COMPARE_4CHARS(address, char1, char2, char3, char4) && ((address)[4] == (char5)))
#define COMPARE_5UCHARS(address, char1, char2, char3, char4, char5) \
(COMPARE_4UCHARS(address, char1, char2, char3, char4) && ((address)[4] == (char5)))
#define COMPARE_6CHARS(address, char1, char2, char3, char4, char5, char6) \
(COMPARE_4CHARS(address, char1, char2, char3, char4) && COMPARE_2CHARS(address + 4, char5, char6))
#define COMPARE_6UCHARS(address, char1, char2, char3, char4, char5, char6) \
(COMPARE_4UCHARS(address, char1, char2, char3, char4) && COMPARE_2UCHARS(address + 4, char5, char6))
#define COMPARE_7CHARS(address, char1, char2, char3, char4, char5, char6, char7) \
(COMPARE_4CHARS(address, char1, char2, char3, char4) && COMPARE_4CHARS(address + 3, char4, char5, char6, char7))
#define COMPARE_7UCHARS(address, char1, char2, char3, char4, char5, char6, char7) \
(COMPARE_4UCHARS(address, char1, char2, char3, char4) && COMPARE_4UCHARS(address + 3, char4, char5, char6, char7))
#define COMPARE_8CHARS(address, char1, char2, char3, char4, char5, char6, char7, char8) \
(COMPARE_4CHARS(address, char1, char2, char3, char4) && COMPARE_4CHARS(address + 4, char5, char6, char7, char8))
#define COMPARE_8UCHARS(address, char1, char2, char3, char4, char5, char6, char7, char8) \
(COMPARE_4UCHARS(address, char1, char2, char3, char4) && COMPARE_4UCHARS(address + 4, char5, char6, char7, char8))
namespace JSC {
static ALWAYS_INLINE bool isIdentPartIncludingEscape(const LChar* code, const LChar* codeEnd);
static ALWAYS_INLINE bool isIdentPartIncludingEscape(const UChar* code, const UChar* codeEnd);
static const int maxTokenLength = 11;
template <>
template <bool shouldCreateIdentifier> ALWAYS_INLINE JSTokenType Lexer<UChar>::parseKeyword(JSTokenData* data)
{
ASSERT(m_codeEnd - m_code >= maxTokenLength);
const UChar* code = m_code;
if (code[0] == 'f') {
if (COMPARE_7UCHARS(code + 1, 'u', 'n', 'c', 't', 'i', 'o', 'n')) {
if (!isIdentPartIncludingEscape(code+8, m_codeEnd)) {
internalShift<8>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->functionKeyword;
return FUNCTION;
}
} else if (COMPARE_2UCHARS(code + 1, 'o', 'r')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->forKeyword;
return FOR;
}
} else if (COMPARE_4UCHARS(code + 1, 'a', 'l', 's', 'e')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->falseKeyword;
return FALSETOKEN;
}
} else if (COMPARE_6UCHARS(code + 1, 'i', 'n', 'a', 'l', 'l', 'y')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->finallyKeyword;
return FINALLY;
}
}
} else if (code[0] == 't') {
if (code[1] == 'h') {
if (COMPARE_2UCHARS(code + 2, 'i', 's')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->thisKeyword;
return THISTOKEN;
}
} else if (COMPARE_4UCHARS(code + 1, 'h', 'r', 'o', 'w')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->throwKeyword;
return THROW;
}
}
} else if (code[1] == 'r') {
if (COMPARE_2UCHARS(code + 2, 'u', 'e')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->trueKeyword;
return TRUETOKEN;
}
} else if (code[2] == 'y') {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->tryKeyword;
return TRY;
}
}
} else if (COMPARE_5UCHARS(code + 1, 'y', 'p', 'e', 'o', 'f')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->typeofKeyword;
return TYPEOF;
}
}
} else if (code[0] == 'i') {
if (code[1] == 'f') {
if (!isIdentPartIncludingEscape(code+2, m_codeEnd)) {
internalShift<2>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->ifKeyword;
return IF;
}
} else if (code[1] == 'n') {
if (!isIdentPartIncludingEscape(code+2, m_codeEnd)) {
internalShift<2>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->inKeyword;
return INTOKEN;
}
if (COMPARE_7UCHARS(code + 2, 't', 'e', 'r', 'f', 'a', 'c', 'e')) {
if (!isIdentPartIncludingEscape(code+9, m_codeEnd)) {
internalShift<9>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->interfaceKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_8UCHARS(code + 2, 's', 't', 'a', 'n', 'c', 'e', 'o', 'f')) {
if (!isIdentPartIncludingEscape(code+10, m_codeEnd)) {
internalShift<10>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->instanceofKeyword;
return INSTANCEOF;
}
}
} else if (COMPARE_2UCHARS(code + 1, 'm', 'p')) {
if (COMPARE_4UCHARS(code + 2, 'p', 'o', 'r', 't')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->importKeyword;
return IMPORT;
}
} else if (COMPARE_7UCHARS(code + 3, 'l', 'e', 'm', 'e', 'n', 't', 's')) {
if (!isIdentPartIncludingEscape(code+10, m_codeEnd)) {
internalShift<10>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->implementsKeyword;
return RESERVED_IF_STRICT;
}
}
}
} else if (code[0] == 'v') {
if (COMPARE_2UCHARS(code + 1, 'a', 'r')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->varKeyword;
return VAR;
}
} else if (COMPARE_4UCHARS(code, 'v', 'o', 'i', 'd')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->voidKeyword;
return VOIDTOKEN;
}
}
} else if (COMPARE_6UCHARS(code, 'r', 'e', 't', 'u', 'r', 'n')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->returnKeyword;
return RETURN;
}
} else if (code[0] == 'n') {
if (COMPARE_4UCHARS(code, 'n', 'u', 'l', 'l')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->nullKeyword;
return NULLTOKEN;
}
} else if (COMPARE_2UCHARS(code + 1, 'e', 'w')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->newKeyword;
return NEW;
}
}
} else if (code[0] == 'e') {
if (COMPARE_4UCHARS(code, 'e', 'l', 's', 'e')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->elseKeyword;
return ELSE;
}
} else if (code[1] == 'x') {
if (COMPARE_4UCHARS(code + 2, 'p', 'o', 'r', 't')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->exportKeyword;
return EXPORT;
}
} else if (COMPARE_5UCHARS(code + 2, 't', 'e', 'n', 'd', 's')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->extendsKeyword;
return EXTENDS;
}
}
} else if (COMPARE_4UCHARS(code, 'e', 'n', 'u', 'm')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->enumKeyword;
return RESERVED;
}
}
} else if (code[0] == 'c') {
if (code[1] == 'a') {
if (COMPARE_4UCHARS(code + 1, 'a', 't', 'c', 'h')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->catchKeyword;
return CATCH;
}
} else if (COMPARE_2UCHARS(code + 2, 's', 'e')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->caseKeyword;
return CASE;
}
}
} else if (COMPARE_2UCHARS(code + 1, 'o', 'n')) {
if (COMPARE_5UCHARS(code + 3, 't', 'i', 'n', 'u', 'e')) {
if (!isIdentPartIncludingEscape(code+8, m_codeEnd)) {
internalShift<8>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->continueKeyword;
return CONTINUE;
}
} else if (COMPARE_2UCHARS(code + 3, 's', 't')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->constKeyword;
return CONSTTOKEN;
}
}
} else if (COMPARE_4UCHARS(code + 1, 'l', 'a', 's', 's')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->classKeyword;
return CLASSTOKEN;
}
}
} else if (COMPARE_5UCHARS(code, 'b', 'r', 'e', 'a', 'k')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->breakKeyword;
return BREAK;
}
} else if (code[0] == 'w') {
if (COMPARE_4UCHARS(code + 1, 'h', 'i', 'l', 'e')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->whileKeyword;
return WHILE;
}
} else if (COMPARE_4UCHARS(code, 'w', 'i', 't', 'h')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->withKeyword;
return WITH;
}
}
} else if (code[0] == 'a') {
if (COMPARE_4UCHARS(code + 1, 's', 'y', 'n', 'c')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->asyncKeyword;
return ASYNC;
}
} else if (COMPARE_4UCHARS(code + 1, 'w', 'a', 'i', 't')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->awaitKeyword;
return AWAIT;
}
}
} else if (code[0] == 'd') {
if (code[1] == 'e') {
if (COMPARE_5UCHARS(code + 2, 'f', 'a', 'u', 'l', 't')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->defaultKeyword;
return DEFAULT;
}
} else if (COMPARE_6UCHARS(code + 2, 'b', 'u', 'g', 'g', 'e', 'r')) {
if (!isIdentPartIncludingEscape(code+8, m_codeEnd)) {
internalShift<8>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->debuggerKeyword;
return DEBUGGER;
}
} else if (COMPARE_4UCHARS(code + 2, 'l', 'e', 't', 'e')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->deleteKeyword;
return DELETETOKEN;
}
}
} else if (code[1] == 'o') {
if (!isIdentPartIncludingEscape(code+2, m_codeEnd)) {
internalShift<2>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->doKeyword;
return DO;
}
}
} else if (COMPARE_5UCHARS(code, 'y', 'i', 'e', 'l', 'd')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->yieldKeyword;
return YIELD;
}
} else if (code[0] == 'p') {
if (code[1] == 'r') {
if (COMPARE_5UCHARS(code + 2, 'i', 'v', 'a', 't', 'e')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->privateKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_7UCHARS(code + 2, 'o', 't', 'e', 'c', 't', 'e', 'd')) {
if (!isIdentPartIncludingEscape(code+9, m_codeEnd)) {
internalShift<9>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->protectedKeyword;
return RESERVED_IF_STRICT;
}
}
} else if (COMPARE_5UCHARS(code + 1, 'u', 'b', 'l', 'i', 'c')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->publicKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_6UCHARS(code + 1, 'a', 'c', 'k', 'a', 'g', 'e')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->packageKeyword;
return RESERVED_IF_STRICT;
}
}
} else if (code[0] == 's') {
if (COMPARE_5UCHARS(code + 1, 'w', 'i', 't', 'c', 'h')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->switchKeyword;
return SWITCH;
}
} else if (COMPARE_5UCHARS(code + 1, 't', 'a', 't', 'i', 'c')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->staticKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_4UCHARS(code + 1, 'u', 'p', 'e', 'r')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->superKeyword;
return SUPER;
}
}
} else if (COMPARE_3UCHARS(code, 'l', 'e', 't')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->letKeyword;
return LET;
}
}
return IDENT;
}
template <>
template <bool shouldCreateIdentifier> ALWAYS_INLINE JSTokenType Lexer<LChar>::parseKeyword(JSTokenData* data)
{
ASSERT(m_codeEnd - m_code >= maxTokenLength);
const LChar* code = m_code;
if (code[0] == 'f') {
if (COMPARE_7CHARS(code + 1, 'u', 'n', 'c', 't', 'i', 'o', 'n')) {
if (!isIdentPartIncludingEscape(code+8, m_codeEnd)) {
internalShift<8>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->functionKeyword;
return FUNCTION;
}
} else if (COMPARE_2CHARS(code + 1, 'o', 'r')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->forKeyword;
return FOR;
}
} else if (COMPARE_4CHARS(code + 1, 'a', 'l', 's', 'e')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->falseKeyword;
return FALSETOKEN;
}
} else if (COMPARE_6CHARS(code + 1, 'i', 'n', 'a', 'l', 'l', 'y')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->finallyKeyword;
return FINALLY;
}
}
} else if (code[0] == 't') {
if (code[1] == 'h') {
if (COMPARE_2CHARS(code + 2, 'i', 's')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->thisKeyword;
return THISTOKEN;
}
} else if (COMPARE_4CHARS(code + 1, 'h', 'r', 'o', 'w')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->throwKeyword;
return THROW;
}
}
} else if (code[1] == 'r') {
if (COMPARE_2CHARS(code + 2, 'u', 'e')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->trueKeyword;
return TRUETOKEN;
}
} else if (code[2] == 'y') {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->tryKeyword;
return TRY;
}
}
} else if (COMPARE_5CHARS(code + 1, 'y', 'p', 'e', 'o', 'f')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->typeofKeyword;
return TYPEOF;
}
}
} else if (code[0] == 'i') {
if (code[1] == 'f') {
if (!isIdentPartIncludingEscape(code+2, m_codeEnd)) {
internalShift<2>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->ifKeyword;
return IF;
}
} else if (code[1] == 'n') {
if (!isIdentPartIncludingEscape(code+2, m_codeEnd)) {
internalShift<2>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->inKeyword;
return INTOKEN;
}
if (COMPARE_7CHARS(code + 2, 't', 'e', 'r', 'f', 'a', 'c', 'e')) {
if (!isIdentPartIncludingEscape(code+9, m_codeEnd)) {
internalShift<9>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->interfaceKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_8CHARS(code + 2, 's', 't', 'a', 'n', 'c', 'e', 'o', 'f')) {
if (!isIdentPartIncludingEscape(code+10, m_codeEnd)) {
internalShift<10>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->instanceofKeyword;
return INSTANCEOF;
}
}
} else if (COMPARE_2CHARS(code + 1, 'm', 'p')) {
if (COMPARE_4CHARS(code + 2, 'p', 'o', 'r', 't')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->importKeyword;
return IMPORT;
}
} else if (COMPARE_7CHARS(code + 3, 'l', 'e', 'm', 'e', 'n', 't', 's')) {
if (!isIdentPartIncludingEscape(code+10, m_codeEnd)) {
internalShift<10>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->implementsKeyword;
return RESERVED_IF_STRICT;
}
}
}
} else if (code[0] == 'v') {
if (COMPARE_2CHARS(code + 1, 'a', 'r')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->varKeyword;
return VAR;
}
} else if (COMPARE_4CHARS(code, 'v', 'o', 'i', 'd')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->voidKeyword;
return VOIDTOKEN;
}
}
} else if (COMPARE_6CHARS(code, 'r', 'e', 't', 'u', 'r', 'n')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->returnKeyword;
return RETURN;
}
} else if (code[0] == 'n') {
if (COMPARE_4CHARS(code, 'n', 'u', 'l', 'l')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->nullKeyword;
return NULLTOKEN;
}
} else if (COMPARE_2CHARS(code + 1, 'e', 'w')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->newKeyword;
return NEW;
}
}
} else if (code[0] == 'e') {
if (COMPARE_4CHARS(code, 'e', 'l', 's', 'e')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->elseKeyword;
return ELSE;
}
} else if (code[1] == 'x') {
if (COMPARE_4CHARS(code + 2, 'p', 'o', 'r', 't')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->exportKeyword;
return EXPORT;
}
} else if (COMPARE_5CHARS(code + 2, 't', 'e', 'n', 'd', 's')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->extendsKeyword;
return EXTENDS;
}
}
} else if (COMPARE_4CHARS(code, 'e', 'n', 'u', 'm')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->enumKeyword;
return RESERVED;
}
}
} else if (code[0] == 'c') {
if (code[1] == 'a') {
if (COMPARE_4CHARS(code + 1, 'a', 't', 'c', 'h')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->catchKeyword;
return CATCH;
}
} else if (COMPARE_2CHARS(code + 2, 's', 'e')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->caseKeyword;
return CASE;
}
}
} else if (COMPARE_2CHARS(code + 1, 'o', 'n')) {
if (COMPARE_5CHARS(code + 3, 't', 'i', 'n', 'u', 'e')) {
if (!isIdentPartIncludingEscape(code+8, m_codeEnd)) {
internalShift<8>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->continueKeyword;
return CONTINUE;
}
} else if (COMPARE_2CHARS(code + 3, 's', 't')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->constKeyword;
return CONSTTOKEN;
}
}
} else if (COMPARE_4CHARS(code + 1, 'l', 'a', 's', 's')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->classKeyword;
return CLASSTOKEN;
}
}
} else if (COMPARE_5CHARS(code, 'b', 'r', 'e', 'a', 'k')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->breakKeyword;
return BREAK;
}
} else if (code[0] == 'w') {
if (COMPARE_4CHARS(code + 1, 'h', 'i', 'l', 'e')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->whileKeyword;
return WHILE;
}
} else if (COMPARE_4CHARS(code, 'w', 'i', 't', 'h')) {
if (!isIdentPartIncludingEscape(code+4, m_codeEnd)) {
internalShift<4>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->withKeyword;
return WITH;
}
}
} else if (code[0] == 'a') {
if (COMPARE_4CHARS(code + 1, 's', 'y', 'n', 'c')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->asyncKeyword;
return ASYNC;
}
} else if (COMPARE_4CHARS(code + 1, 'w', 'a', 'i', 't')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->awaitKeyword;
return AWAIT;
}
}
} else if (code[0] == 'd') {
if (code[1] == 'e') {
if (COMPARE_5CHARS(code + 2, 'f', 'a', 'u', 'l', 't')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->defaultKeyword;
return DEFAULT;
}
} else if (COMPARE_6CHARS(code + 2, 'b', 'u', 'g', 'g', 'e', 'r')) {
if (!isIdentPartIncludingEscape(code+8, m_codeEnd)) {
internalShift<8>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->debuggerKeyword;
return DEBUGGER;
}
} else if (COMPARE_4CHARS(code + 2, 'l', 'e', 't', 'e')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->deleteKeyword;
return DELETETOKEN;
}
}
} else if (code[1] == 'o') {
if (!isIdentPartIncludingEscape(code+2, m_codeEnd)) {
internalShift<2>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->doKeyword;
return DO;
}
}
} else if (COMPARE_5CHARS(code, 'y', 'i', 'e', 'l', 'd')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->yieldKeyword;
return YIELD;
}
} else if (code[0] == 'p') {
if (code[1] == 'r') {
if (COMPARE_5CHARS(code + 2, 'i', 'v', 'a', 't', 'e')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->privateKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_7CHARS(code + 2, 'o', 't', 'e', 'c', 't', 'e', 'd')) {
if (!isIdentPartIncludingEscape(code+9, m_codeEnd)) {
internalShift<9>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->protectedKeyword;
return RESERVED_IF_STRICT;
}
}
} else if (COMPARE_5CHARS(code + 1, 'u', 'b', 'l', 'i', 'c')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->publicKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_6CHARS(code + 1, 'a', 'c', 'k', 'a', 'g', 'e')) {
if (!isIdentPartIncludingEscape(code+7, m_codeEnd)) {
internalShift<7>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->packageKeyword;
return RESERVED_IF_STRICT;
}
}
} else if (code[0] == 's') {
if (COMPARE_5CHARS(code + 1, 'w', 'i', 't', 'c', 'h')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->switchKeyword;
return SWITCH;
}
} else if (COMPARE_5CHARS(code + 1, 't', 'a', 't', 'i', 'c')) {
if (!isIdentPartIncludingEscape(code+6, m_codeEnd)) {
internalShift<6>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->staticKeyword;
return RESERVED_IF_STRICT;
}
} else if (COMPARE_4CHARS(code + 1, 'u', 'p', 'e', 'r')) {
if (!isIdentPartIncludingEscape(code+5, m_codeEnd)) {
internalShift<5>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->superKeyword;
return SUPER;
}
}
} else if (COMPARE_3CHARS(code, 'l', 'e', 't')) {
if (!isIdentPartIncludingEscape(code+3, m_codeEnd)) {
internalShift<3>();
if (shouldCreateIdentifier)
data->ident = &m_vm->propertyNames->letKeyword;
return LET;
}
}
return IDENT;
}
} // namespace JSC

File diff suppressed because it is too large Load Diff

198
DerrivedSources/Lexer.lut.h Normal file
View File

@ -0,0 +1,198 @@
// Automatically generated from JavaScriptCore/parser/Keywords.table using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex mainTableIndex[135] = {
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 42, -1 },
{ 39, -1 },
{ 32, -1 },
{ 15, -1 },
{ 0, -1 },
{ -1, -1 },
{ 17, -1 },
{ -1, -1 },
{ 13, -1 },
{ 16, -1 },
{ -1, -1 },
{ 22, -1 },
{ -1, -1 },
{ 45, -1 },
{ 41, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 33, -1 },
{ -1, -1 },
{ 9, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 26, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 44, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 36, -1 },
{ 37, -1 },
{ 25, -1 },
{ -1, -1 },
{ 28, -1 },
{ -1, -1 },
{ 21, -1 },
{ -1, -1 },
{ 12, 131 },
{ -1, -1 },
{ 3, 129 },
{ -1, -1 },
{ 14, -1 },
{ -1, -1 },
{ 34, -1 },
{ 31, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, 128 },
{ 43, -1 },
{ 19, -1 },
{ -1, -1 },
{ 30, -1 },
{ 4, 130 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 7, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 29, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 24, -1 },
{ -1, -1 },
{ 46, -1 },
{ -1, -1 },
{ -1, -1 },
{ 40, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 6, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 18, -1 },
{ 27, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 8, 132 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
{ 5, 133 },
{ 10, -1 },
{ 20, -1 },
{ 23, -1 },
{ 35, 134 },
{ 38, -1 },
};
static const struct HashTableValue mainTableValues[47] = {
{ "null", 0, NoIntrinsic, { (intptr_t)(NULLTOKEN), (intptr_t)(0) } },
{ "true", 0, NoIntrinsic, { (intptr_t)(TRUETOKEN), (intptr_t)(0) } },
{ "false", 0, NoIntrinsic, { (intptr_t)(FALSETOKEN), (intptr_t)(0) } },
{ "async", 0, NoIntrinsic, { (intptr_t)(ASYNC), (intptr_t)(0) } },
{ "await", 0, NoIntrinsic, { (intptr_t)(AWAIT), (intptr_t)(0) } },
{ "break", 0, NoIntrinsic, { (intptr_t)(BREAK), (intptr_t)(0) } },
{ "case", 0, NoIntrinsic, { (intptr_t)(CASE), (intptr_t)(0) } },
{ "catch", 0, NoIntrinsic, { (intptr_t)(CATCH), (intptr_t)(0) } },
{ "class", 0, NoIntrinsic, { (intptr_t)(CLASSTOKEN), (intptr_t)(0) } },
{ "const", 0, NoIntrinsic, { (intptr_t)(CONSTTOKEN), (intptr_t)(0) } },
{ "default", 0, NoIntrinsic, { (intptr_t)(DEFAULT), (intptr_t)(0) } },
{ "extends", 0, NoIntrinsic, { (intptr_t)(EXTENDS), (intptr_t)(0) } },
{ "finally", 0, NoIntrinsic, { (intptr_t)(FINALLY), (intptr_t)(0) } },
{ "for", 0, NoIntrinsic, { (intptr_t)(FOR), (intptr_t)(0) } },
{ "instanceof", 0, NoIntrinsic, { (intptr_t)(INSTANCEOF), (intptr_t)(0) } },
{ "new", 0, NoIntrinsic, { (intptr_t)(NEW), (intptr_t)(0) } },
{ "var", 0, NoIntrinsic, { (intptr_t)(VAR), (intptr_t)(0) } },
{ "let", 0, NoIntrinsic, { (intptr_t)(LET), (intptr_t)(0) } },
{ "continue", 0, NoIntrinsic, { (intptr_t)(CONTINUE), (intptr_t)(0) } },
{ "function", 0, NoIntrinsic, { (intptr_t)(FUNCTION), (intptr_t)(0) } },
{ "return", 0, NoIntrinsic, { (intptr_t)(RETURN), (intptr_t)(0) } },
{ "void", 0, NoIntrinsic, { (intptr_t)(VOIDTOKEN), (intptr_t)(0) } },
{ "delete", 0, NoIntrinsic, { (intptr_t)(DELETETOKEN), (intptr_t)(0) } },
{ "if", 0, NoIntrinsic, { (intptr_t)(IF), (intptr_t)(0) } },
{ "this", 0, NoIntrinsic, { (intptr_t)(THISTOKEN), (intptr_t)(0) } },
{ "do", 0, NoIntrinsic, { (intptr_t)(DO), (intptr_t)(0) } },
{ "while", 0, NoIntrinsic, { (intptr_t)(WHILE), (intptr_t)(0) } },
{ "else", 0, NoIntrinsic, { (intptr_t)(ELSE), (intptr_t)(0) } },
{ "in", 0, NoIntrinsic, { (intptr_t)(INTOKEN), (intptr_t)(0) } },
{ "super", 0, NoIntrinsic, { (intptr_t)(SUPER), (intptr_t)(0) } },
{ "switch", 0, NoIntrinsic, { (intptr_t)(SWITCH), (intptr_t)(0) } },
{ "throw", 0, NoIntrinsic, { (intptr_t)(THROW), (intptr_t)(0) } },
{ "try", 0, NoIntrinsic, { (intptr_t)(TRY), (intptr_t)(0) } },
{ "typeof", 0, NoIntrinsic, { (intptr_t)(TYPEOF), (intptr_t)(0) } },
{ "with", 0, NoIntrinsic, { (intptr_t)(WITH), (intptr_t)(0) } },
{ "debugger", 0, NoIntrinsic, { (intptr_t)(DEBUGGER), (intptr_t)(0) } },
{ "yield", 0, NoIntrinsic, { (intptr_t)(YIELD), (intptr_t)(0) } },
{ "enum", 0, NoIntrinsic, { (intptr_t)(RESERVED), (intptr_t)(0) } },
{ "export", 0, NoIntrinsic, { (intptr_t)(EXPORT), (intptr_t)(0) } },
{ "import", 0, NoIntrinsic, { (intptr_t)(IMPORT), (intptr_t)(0) } },
{ "implements", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
{ "interface", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
{ "package", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
{ "private", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
{ "protected", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
{ "public", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
{ "static", 0, NoIntrinsic, { (intptr_t)(RESERVED_IF_STRICT), (intptr_t)(0) } },
};
static const struct HashTable mainTable =
{ 47, 127, false, mainTableValues, mainTableIndex };
} // namespace JSC

View File

@ -0,0 +1,20 @@
// Automatically generated from JavaScriptCore/runtime/MapPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex mapPrototypeTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue mapPrototypeTableValues[1] = {
{ "forEach", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(mapPrototypeForEachCodeGenerator), (intptr_t)0 } },
};
static const struct HashTable mapPrototypeTable =
{ 1, 1, false, mapPrototypeTableValues, mapPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,113 @@
// Automatically generated from JavaScriptCore/runtime/ModuleLoaderPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex moduleLoaderPrototypeTableIndex[70] = {
{ 18, -1 },
{ 22, -1 },
{ -1, -1 },
{ 14, -1 },
{ 3, 66 },
{ -1, -1 },
{ -1, -1 },
{ 16, 67 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ 5, 68 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 6, -1 },
{ -1, -1 },
{ -1, -1 },
{ 15, -1 },
{ -1, -1 },
{ 17, -1 },
{ 9, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 4, 65 },
{ -1, -1 },
{ -1, -1 },
{ 12, -1 },
{ 10, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 24, -1 },
{ -1, -1 },
{ 0, 64 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 13, -1 },
{ 8, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 2, 69 },
{ 7, -1 },
{ 19, -1 },
{ 20, -1 },
{ 21, -1 },
{ 23, -1 },
{ 25, -1 },
};
static const struct HashTableValue moduleLoaderPrototypeTableValues[26] = {
{ "ensureRegistered", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeEnsureRegisteredCodeGenerator), (intptr_t)1 } },
{ "forceFulfillPromise", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeForceFulfillPromiseCodeGenerator), (intptr_t)2 } },
{ "fulfillFetch", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeFulfillFetchCodeGenerator), (intptr_t)2 } },
{ "fulfillInstantiate", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeFulfillInstantiateCodeGenerator), (intptr_t)2 } },
{ "commitInstantiated", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeCommitInstantiatedCodeGenerator), (intptr_t)3 } },
{ "instantiation", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeInstantiationCodeGenerator), (intptr_t)3 } },
{ "requestFetch", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeRequestFetchCodeGenerator), (intptr_t)2 } },
{ "requestInstantiate", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeRequestInstantiateCodeGenerator), (intptr_t)2 } },
{ "requestSatisfy", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeRequestSatisfyCodeGenerator), (intptr_t)2 } },
{ "requestLink", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeRequestLinkCodeGenerator), (intptr_t)2 } },
{ "requestReady", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeRequestReadyCodeGenerator), (intptr_t)2 } },
{ "link", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeLinkCodeGenerator), (intptr_t)2 } },
{ "moduleDeclarationInstantiation", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeModuleDeclarationInstantiation), (intptr_t)(2) } },
{ "moduleEvaluation", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeModuleEvaluationCodeGenerator), (intptr_t)2 } },
{ "evaluate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeEvaluate), (intptr_t)(3) } },
{ "provide", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeProvideCodeGenerator), (intptr_t)3 } },
{ "loadAndEvaluateModule", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeLoadAndEvaluateModuleCodeGenerator), (intptr_t)3 } },
{ "loadModule", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeLoadModuleCodeGenerator), (intptr_t)3 } },
{ "linkAndEvaluateModule", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeLinkAndEvaluateModuleCodeGenerator), (intptr_t)2 } },
{ "requestImportModule", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(moduleLoaderPrototypeRequestImportModuleCodeGenerator), (intptr_t)2 } },
{ "getModuleNamespaceObject", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeGetModuleNamespaceObject), (intptr_t)(1) } },
{ "parseModule", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeParseModule), (intptr_t)(2) } },
{ "requestedModules", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeRequestedModules), (intptr_t)(1) } },
{ "resolve", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeResolve), (intptr_t)(2) } },
{ "fetch", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeFetch), (intptr_t)(2) } },
{ "instantiate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(moduleLoaderPrototypeInstantiate), (intptr_t)(3) } },
};
static const struct HashTable moduleLoaderPrototypeTable =
{ 26, 63, false, moduleLoaderPrototypeTableValues, moduleLoaderPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,30 @@
// Automatically generated from JavaScriptCore/runtime/NumberConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex numberConstructorTableIndex[9] = {
{ -1, -1 },
{ 3, -1 },
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ 1, 8 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
};
static const struct HashTableValue numberConstructorTableValues[4] = {
{ "isFinite", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(numberConstructorIsFiniteCodeGenerator), (intptr_t)1 } },
{ "isInteger", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberConstructorFuncIsInteger), (intptr_t)(1) } },
{ "isNaN", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(numberConstructorIsNaNCodeGenerator), (intptr_t)1 } },
{ "isSafeInteger", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberConstructorFuncIsSafeInteger), (intptr_t)(1) } },
};
static const struct HashTable numberConstructorTable =
{ 4, 7, false, numberConstructorTableValues, numberConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,39 @@
// Automatically generated from JavaScriptCore/runtime/NumberPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex numberPrototypeTableIndex[17] = {
{ -1, -1 },
{ -1, -1 },
{ 2, 16 },
{ 5, -1 },
{ 4, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 3, -1 },
};
static const struct HashTableValue numberPrototypeTableValues[6] = {
{ "toString", DontEnum|Function, NumberPrototypeToStringIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberProtoFuncToString), (intptr_t)(1) } },
{ "toLocaleString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberProtoFuncToLocaleString), (intptr_t)(0) } },
{ "valueOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberProtoFuncValueOf), (intptr_t)(0) } },
{ "toFixed", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberProtoFuncToFixed), (intptr_t)(1) } },
{ "toExponential", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberProtoFuncToExponential), (intptr_t)(1) } },
{ "toPrecision", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(numberProtoFuncToPrecision), (intptr_t)(1) } },
};
static const struct HashTable numberPrototypeTable =
{ 6, 15, false, numberPrototypeTableValues, numberPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,104 @@
// Automatically generated from JavaScriptCore/runtime/ObjectConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex objectConstructorTableIndex[67] = {
{ 1, 66 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 16, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 13, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ -1, -1 },
{ 8, -1 },
{ 19, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, -1 },
{ 15, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 5, 65 },
{ -1, -1 },
{ 10, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 9, -1 },
{ -1, -1 },
{ 17, -1 },
{ -1, -1 },
{ 12, -1 },
{ -1, -1 },
{ 3, -1 },
{ -1, -1 },
{ 14, -1 },
{ 7, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 2, 64 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 4, -1 },
{ 6, -1 },
{ 18, -1 },
};
static const struct HashTableValue objectConstructorTableValues[20] = {
{ "getPrototypeOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorGetPrototypeOf), (intptr_t)(1) } },
{ "setPrototypeOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorSetPrototypeOf), (intptr_t)(2) } },
{ "getOwnPropertyDescriptor", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorGetOwnPropertyDescriptor), (intptr_t)(2) } },
{ "getOwnPropertyDescriptors", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorGetOwnPropertyDescriptors), (intptr_t)(1) } },
{ "getOwnPropertyNames", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorGetOwnPropertyNames), (intptr_t)(1) } },
{ "getOwnPropertySymbols", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorGetOwnPropertySymbols), (intptr_t)(1) } },
{ "keys", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorKeys), (intptr_t)(1) } },
{ "defineProperty", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorDefineProperty), (intptr_t)(3) } },
{ "defineProperties", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorDefineProperties), (intptr_t)(2) } },
{ "create", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorCreate), (intptr_t)(2) } },
{ "seal", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorSeal), (intptr_t)(1) } },
{ "freeze", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorFreeze), (intptr_t)(1) } },
{ "preventExtensions", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorPreventExtensions), (intptr_t)(1) } },
{ "isSealed", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorIsSealed), (intptr_t)(1) } },
{ "isFrozen", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorIsFrozen), (intptr_t)(1) } },
{ "isExtensible", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorIsExtensible), (intptr_t)(1) } },
{ "is", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorIs), (intptr_t)(2) } },
{ "assign", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorAssign), (intptr_t)(2) } },
{ "values", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(objectConstructorValues), (intptr_t)(1) } },
{ "entries", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(objectConstructorEntriesCodeGenerator), (intptr_t)1 } },
};
static const struct HashTable objectConstructorTable =
{ 20, 63, false, objectConstructorTableValues, objectConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,65 @@
// Automatically generated from JavaScriptCore/runtime/ReflectObject.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex reflectObjectTableIndex[35] = {
{ 12, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 4, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 10, -1 },
{ 7, 34 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 2, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 5, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 3, 32 },
{ 0, 33 },
{ -1, -1 },
{ 6, -1 },
{ 8, -1 },
{ 9, -1 },
};
static const struct HashTableValue reflectObjectTableValues[13] = {
{ "apply", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(reflectObjectApplyCodeGenerator), (intptr_t)3 } },
{ "construct", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectConstruct), (intptr_t)(2) } },
{ "defineProperty", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectDefineProperty), (intptr_t)(3) } },
{ "deleteProperty", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(reflectObjectDeletePropertyCodeGenerator), (intptr_t)2 } },
{ "get", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectGet), (intptr_t)(2) } },
{ "getOwnPropertyDescriptor", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectGetOwnPropertyDescriptor), (intptr_t)(2) } },
{ "getPrototypeOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectGetPrototypeOf), (intptr_t)(1) } },
{ "has", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(reflectObjectHasCodeGenerator), (intptr_t)2 } },
{ "isExtensible", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectIsExtensible), (intptr_t)(1) } },
{ "ownKeys", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectOwnKeys), (intptr_t)(1) } },
{ "preventExtensions", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectPreventExtensions), (intptr_t)(1) } },
{ "set", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectSet), (intptr_t)(3) } },
{ "setPrototypeOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(reflectObjectSetPrototypeOf), (intptr_t)(2) } },
};
static const struct HashTable reflectObjectTable =
{ 13, 31, false, reflectObjectTableValues, reflectObjectTableIndex };
} // namespace JSC

View File

@ -0,0 +1,102 @@
// Automatically generated from JavaScriptCore/runtime/RegExpConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex regExpConstructorTableIndex[65] = {
{ -1, -1 },
{ 8, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 12, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 10, -1 },
{ -1, -1 },
{ -1, -1 },
{ 7, -1 },
{ 2, -1 },
{ 9, -1 },
{ 16, -1 },
{ -1, -1 },
{ -1, -1 },
{ 19, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 3, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 4, -1 },
{ -1, -1 },
{ -1, -1 },
{ 5, 64 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 17, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 14, -1 },
{ -1, -1 },
{ 11, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 6, -1 },
{ -1, -1 },
{ 15, -1 },
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ 18, -1 },
{ 20, -1 },
{ 13, -1 },
};
static const struct HashTableValue regExpConstructorTableValues[21] = {
{ "input", None, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorInput), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(setRegExpConstructorInput) } },
{ "$_", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorInput), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(setRegExpConstructorInput) } },
{ "multiline", None, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorMultiline), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(setRegExpConstructorMultiline) } },
{ "$*", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorMultiline), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(setRegExpConstructorMultiline) } },
{ "lastMatch", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorLastMatch), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$&", DontDelete|ReadOnly|DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorLastMatch), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "lastParen", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorLastParen), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$+", DontDelete|ReadOnly|DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorLastParen), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "leftContext", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorLeftContext), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$`", DontDelete|ReadOnly|DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorLeftContext), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "rightContext", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorRightContext), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$'", DontDelete|ReadOnly|DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorRightContext), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$1", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<1>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$2", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<2>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$3", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<3>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$4", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<4>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$5", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<5>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$6", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<6>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$7", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<7>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$8", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<8>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "$9", DontDelete|ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(regExpConstructorDollar<9>), (intptr_t)static_cast<PutPropertySlot::PutValueFunc>(0) } },
};
static const struct HashTable regExpConstructorTable =
{ 21, 63, true, regExpConstructorTableValues, regExpConstructorTableIndex };
} // namespace JSC

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
// Automatically generated from JavaScriptCore/runtime/SetPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex setPrototypeTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue setPrototypeTableValues[1] = {
{ "forEach", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(setPrototypeForEachCodeGenerator), (intptr_t)0 } },
};
static const struct HashTable setPrototypeTable =
{ 1, 1, false, setPrototypeTableValues, setPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,28 @@
// Automatically generated from JavaScriptCore/runtime/StringConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex stringConstructorTableIndex[8] = {
{ -1, -1 },
{ 2, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue stringConstructorTableValues[3] = {
{ "fromCharCode", DontEnum|Function, FromCharCodeIntrinsic, { (intptr_t)static_cast<NativeFunction>(stringFromCharCode), (intptr_t)(1) } },
{ "fromCodePoint", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(stringFromCodePoint), (intptr_t)(1) } },
{ "raw", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringConstructorRawCodeGenerator), (intptr_t)1 } },
};
static const struct HashTable stringConstructorTable =
{ 3, 7, false, stringConstructorTableValues, stringConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,20 @@
// Automatically generated from JavaScriptCore/runtime/StringIteratorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex stringIteratorPrototypeTableIndex[2] = {
{ -1, -1 },
{ 0, -1 },
};
static const struct HashTableValue stringIteratorPrototypeTableValues[1] = {
{ "next", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringIteratorPrototypeNextCodeGenerator), (intptr_t)0 } },
};
static const struct HashTable stringIteratorPrototypeTable =
{ 1, 1, false, stringIteratorPrototypeTableValues, stringIteratorPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,106 @@
// Automatically generated from JavaScriptCore/runtime/StringPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "JSCBuiltins.h"
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex stringPrototypeTableIndex[68] = {
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 6, -1 },
{ 9, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 13, -1 },
{ 19, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 5, -1 },
{ 17, -1 },
{ 2, -1 },
{ 14, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 15, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 3, 64 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, 66 },
{ -1, -1 },
{ -1, -1 },
{ 7, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 10, 65 },
{ 4, -1 },
{ -1, -1 },
{ -1, -1 },
{ 16, -1 },
{ -1, -1 },
{ -1, -1 },
{ 8, -1 },
{ -1, -1 },
{ 11, 67 },
{ 12, -1 },
{ 18, -1 },
{ 20, -1 },
};
static const struct HashTableValue stringPrototypeTableValues[21] = {
{ "concat", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeConcatCodeGenerator), (intptr_t)1 } },
{ "match", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeMatchCodeGenerator), (intptr_t)1 } },
{ "padStart", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypePadStartCodeGenerator), (intptr_t)1 } },
{ "padEnd", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypePadEndCodeGenerator), (intptr_t)1 } },
{ "repeat", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeRepeatCodeGenerator), (intptr_t)1 } },
{ "replace", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeReplaceCodeGenerator), (intptr_t)2 } },
{ "search", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeSearchCodeGenerator), (intptr_t)1 } },
{ "split", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeSplitCodeGenerator), (intptr_t)1 } },
{ "anchor", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeAnchorCodeGenerator), (intptr_t)1 } },
{ "big", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeBigCodeGenerator), (intptr_t)0 } },
{ "bold", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeBoldCodeGenerator), (intptr_t)0 } },
{ "blink", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeBlinkCodeGenerator), (intptr_t)0 } },
{ "fixed", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeFixedCodeGenerator), (intptr_t)0 } },
{ "fontcolor", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeFontcolorCodeGenerator), (intptr_t)1 } },
{ "fontsize", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeFontsizeCodeGenerator), (intptr_t)1 } },
{ "italics", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeItalicsCodeGenerator), (intptr_t)0 } },
{ "link", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeLinkCodeGenerator), (intptr_t)1 } },
{ "small", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeSmallCodeGenerator), (intptr_t)0 } },
{ "strike", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeStrikeCodeGenerator), (intptr_t)0 } },
{ "sub", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeSubCodeGenerator), (intptr_t)0 } },
{ "sup", ((DontEnum|Function) & ~Function) | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(stringPrototypeSupCodeGenerator), (intptr_t)0 } },
};
static const struct HashTable stringPrototypeTable =
{ 21, 63, false, stringPrototypeTableValues, stringPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/SymbolConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex symbolConstructorTableIndex[4] = {
{ 0, -1 },
{ -1, -1 },
{ -1, -1 },
{ 1, -1 },
};
static const struct HashTableValue symbolConstructorTableValues[2] = {
{ "for", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(symbolConstructorFor), (intptr_t)(1) } },
{ "keyFor", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(symbolConstructorKeyFor), (intptr_t)(1) } },
};
static const struct HashTable symbolConstructorTable =
{ 2, 3, false, symbolConstructorTableValues, symbolConstructorTableIndex };
} // namespace JSC

View File

@ -0,0 +1,22 @@
// Automatically generated from JavaScriptCore/runtime/SymbolPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex symbolPrototypeTableIndex[4] = {
{ 0, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
};
static const struct HashTableValue symbolPrototypeTableValues[2] = {
{ "toString", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(symbolProtoFuncToString), (intptr_t)(0) } },
{ "valueOf", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(symbolProtoFuncValueOf), (intptr_t)(0) } },
};
static const struct HashTable symbolPrototypeTable =
{ 2, 3, false, symbolPrototypeTableValues, symbolPrototypeTableIndex };
} // namespace JSC

View File

@ -0,0 +1,675 @@
/*
* Copyright (C) 2016-2017 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NO EDIT! - This file was generated by JavaScriptCore/wasm/generateWasmB3IRGeneratorInlinesHeader.py
#pragma once
#if ENABLE(WEBASSEMBLY)
namespace JSC { namespace Wasm {
template<> auto B3IRGenerator::addOp<OpType::F32Ceil>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Ceil, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Mul>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Mul, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Sub>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Sub, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Le>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32DemoteF64>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::DoubleToFloat, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Min>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
Value* temp7 = m_currentBlock->appendNew<Value>(m_proc, B3::BitOr, origin(), arg0, arg1);
Value* temp14 = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
Value* temp12 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp14, arg0, arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp2, temp7, temp12);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Ne>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::NotEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Lt>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Max>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
Value* temp7 = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), arg0, arg1);
Value* temp14 = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
Value* temp12 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp14, arg1, arg0);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp2, temp7, temp12);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Mul>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Mul, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Div>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Div, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Clz>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Clz, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Copysign>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp6 = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg1);
Value* temp12 = constant(Int32, 0x80000000);
Value* temp4 = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), temp6, temp12);
Value* temp17 = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg0);
Value* temp23 = constant(Int32, 0x7fffffff);
Value* temp15 = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), temp17, temp23);
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::BitOr, origin(), temp4, temp15);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), temp2);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64ConvertUI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::ZExt32, origin(), arg0);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::IToD, origin(), temp2);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32ReinterpretI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64And>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Ne>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::NotEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Gt>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Sqrt>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Sqrt, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Ge>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64GtS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64GtU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Above, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Eqz>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
Value* temp4 = constant(Int64, 0);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), temp4, arg0);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Div>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Div, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Add>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Add, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Or>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitOr, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32LeU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BelowEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32LeS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Ne>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::NotEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Clz>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Clz, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Neg>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Neg, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32And>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32LtU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Below, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Rotr>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp3 = m_currentBlock->appendNew<Value>(m_proc, B3::Trunc, origin(), arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::RotR, origin(), arg0, temp3);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Abs>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Abs, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32LtS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Eq>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Copysign>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp6 = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg1);
Value* temp12 = constant(Int64, 0x8000000000000000);
Value* temp4 = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), temp6, temp12);
Value* temp17 = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg0);
Value* temp23 = constant(Int64, 0x7fffffffffffffff);
Value* temp15 = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), temp17, temp23);
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::BitOr, origin(), temp4, temp15);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), temp2);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32ConvertSI64>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::IToF, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Rotl>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp3 = m_currentBlock->appendNew<Value>(m_proc, B3::Trunc, origin(), arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::RotL, origin(), arg0, temp3);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Lt>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64ConvertSI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::IToD, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Eq>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Le>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Ge>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32ShrU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::ZShr, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32ConvertUI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::ZExt32, origin(), arg0);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::IToF, origin(), temp2);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32ShrS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::SShr, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32GeU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::AboveEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Ceil>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Ceil, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32GeS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Shl>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Shl, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Floor>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Floor, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Xor>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitXor, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Abs>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Abs, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Min>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
Value* temp7 = m_currentBlock->appendNew<Value>(m_proc, B3::BitOr, origin(), arg0, arg1);
Value* temp14 = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
Value* temp12 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp14, arg0, arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp2, temp7, temp12);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Mul>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Mul, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Sub>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Sub, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32ReinterpretF32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Add>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Add, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Sub>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Sub, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Or>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitOr, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64LtU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Below, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64LtS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64ConvertSI64>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::IToD, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Xor>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitXor, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64GeU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::AboveEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Mul>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Mul, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Sub>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Sub, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64PromoteF32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::FloatToDouble, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Add>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Add, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64GeS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64ExtendUI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::ZExt32, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Ne>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::NotEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64ReinterpretI64>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Eq>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Eq>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Floor>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Floor, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32ConvertSI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::IToF, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Eqz>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
Value* temp4 = constant(Int32, 0);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), temp4, arg0);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64ReinterpretF64>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BitwiseCast, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64ShrS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp3 = m_currentBlock->appendNew<Value>(m_proc, B3::Trunc, origin(), arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::SShr, origin(), arg0, temp3);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64ShrU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp3 = m_currentBlock->appendNew<Value>(m_proc, B3::Trunc, origin(), arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::ZShr, origin(), arg0, temp3);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Sqrt>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Sqrt, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Shl>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp3 = m_currentBlock->appendNew<Value>(m_proc, B3::Trunc, origin(), arg1);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Shl, origin(), arg0, temp3);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F32Gt>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32WrapI64>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Trunc, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Rotl>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::RotL, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32Rotr>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::RotR, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32GtU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Above, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64ExtendSI32>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::SExt32, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I32GtS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::GreaterThan, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Neg>(ExpressionType arg0, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Neg, origin(), arg0);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::F64Max>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
Value* temp2 = m_currentBlock->appendNew<Value>(m_proc, B3::Equal, origin(), arg0, arg1);
Value* temp7 = m_currentBlock->appendNew<Value>(m_proc, B3::BitAnd, origin(), arg0, arg1);
Value* temp14 = m_currentBlock->appendNew<Value>(m_proc, B3::LessThan, origin(), arg0, arg1);
Value* temp12 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp14, arg1, arg0);
Value* temp0 = m_currentBlock->appendNew<Value>(m_proc, B3::Select, origin(), temp2, temp7, temp12);
result = temp0;
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64LeU>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::BelowEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64LeS>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::LessEqual, origin(), arg0, arg1);
return { };
}
template<> auto B3IRGenerator::addOp<OpType::I64Add>(ExpressionType arg0, ExpressionType arg1, ExpressionType& result) -> PartialResult
{
result = m_currentBlock->appendNew<Value>(m_proc, B3::Add, origin(), arg0, arg1);
return { };
}
} } // namespace JSC::Wasm
#endif // ENABLE(WEBASSEMBLY)

429
DerrivedSources/WasmOps.h Normal file
View File

@ -0,0 +1,429 @@
/*
* Copyright (C) 2016-2017 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NO EDIT! - This file was generated by JavaScriptCore/wasm/generateWasmOpsHeader.py
#pragma once
#if ENABLE(WEBASSEMBLY)
#include <cstdint>
namespace JSC { namespace Wasm {
static constexpr unsigned expectedVersionNumber = 1;
static constexpr unsigned numTypes = 7;
#define FOR_EACH_WASM_TYPE(macro) \
macro(Anyfunc, -0x10, B3::Void, 0) \
macro(I32, -0x1, B3::Int32, 1) \
macro(Void, -0x40, B3::Void, 2) \
macro(I64, -0x2, B3::Int64, 3) \
macro(F32, -0x3, B3::Float, 4) \
macro(Func, -0x20, B3::Void, 5) \
macro(F64, -0x4, B3::Double, 6)
#define CREATE_ENUM_VALUE(name, id, b3type, inc) name = id,
enum Type : int8_t {
FOR_EACH_WASM_TYPE(CREATE_ENUM_VALUE)
};
#undef CREATE_ENUM_VALUE
#define CREATE_CASE(name, id, b3type, inc) case id: return true;
template <typename Int>
inline bool isValidType(Int i)
{
switch (i) {
default: return false;
FOR_EACH_WASM_TYPE(CREATE_CASE)
}
RELEASE_ASSERT_NOT_REACHED();
return false;
}
#undef CREATE_CASE
#define CREATE_CASE(name, id, b3type, inc) case name: return b3type;
inline B3::Type toB3Type(Type type)
{
switch (type) {
FOR_EACH_WASM_TYPE(CREATE_CASE)
}
RELEASE_ASSERT_NOT_REACHED();
return B3::Void;
}
#undef CREATE_CASE
#define CREATE_CASE(name, id, b3type, inc) case name: return #name;
inline const char* makeString(Type type)
{
switch (type) {
FOR_EACH_WASM_TYPE(CREATE_CASE)
}
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
#undef CREATE_CASE
#define CREATE_CASE(name, id, b3type, inc) case id: return inc;
inline int linearizeType(Type type)
{
switch (type) {
FOR_EACH_WASM_TYPE(CREATE_CASE)
}
RELEASE_ASSERT_NOT_REACHED();
return 0;
}
#undef CREATE_CASE
#define CREATE_CASE(name, id, b3type, inc) case inc: return name;
inline Type linearizedToType(int i)
{
switch (i) {
FOR_EACH_WASM_TYPE(CREATE_CASE)
}
RELEASE_ASSERT_NOT_REACHED();
return Void;
}
#undef CREATE_CASE
#define FOR_EACH_WASM_SPECIAL_OP(macro) \
macro(F64Const, 0x44, Oops, 0) \
macro(GrowMemory, 0x40, Oops, 1) \
macro(I64Const, 0x42, Oops, 2) \
macro(TeeLocal, 0x22, Oops, 3) \
macro(SetLocal, 0x21, Oops, 4) \
macro(I32Const, 0x41, Oops, 5) \
macro(CurrentMemory, 0x3f, Oops, 6) \
macro(F32Const, 0x43, Oops, 7) \
macro(SetGlobal, 0x24, Oops, 8) \
macro(GetGlobal, 0x23, Oops, 9) \
macro(Call, 0x10, Oops, 10) \
macro(GetLocal, 0x20, Oops, 11) \
macro(CallIndirect, 0x11, Oops, 12)
#define FOR_EACH_WASM_CONTROL_FLOW_OP(macro) \
macro(Return, 0xf, Oops, 0) \
macro(Nop, 0x1, Oops, 1) \
macro(Drop, 0x1a, Oops, 2) \
macro(BrIf, 0xd, Oops, 3) \
macro(Br, 0xc, Oops, 4) \
macro(Select, 0x1b, Oops, 5) \
macro(Unreachable, 0x0, Oops, 6) \
macro(Else, 0x5, Oops, 7) \
macro(BrTable, 0xe, Oops, 8) \
macro(Loop, 0x3, Oops, 9) \
macro(If, 0x4, Oops, 10) \
macro(End, 0xb, Oops, 11) \
macro(Block, 0x2, Oops, 12)
#define FOR_EACH_WASM_SIMPLE_UNARY_OP(macro) \
macro(F32Ceil, 0x8d, Ceil, 0) \
macro(F32DemoteF64, 0xb6, DoubleToFloat, 1) \
macro(I32Clz, 0x67, Clz, 2) \
macro(F64ConvertUI32, 0xb8, IToD(ZExt32(@0)), 3) \
macro(F32ReinterpretI32, 0xbe, BitwiseCast, 4) \
macro(F32Sqrt, 0x91, Sqrt, 5) \
macro(I64Eqz, 0x50, Equal(i64(0), @0), 6) \
macro(I64Clz, 0x79, Clz, 7) \
macro(F32Neg, 0x8c, Neg, 8) \
macro(F64Abs, 0x99, Abs, 9) \
macro(F32ConvertSI64, 0xb4, IToF, 10) \
macro(F64ConvertSI32, 0xb7, IToD, 11) \
macro(F32ConvertUI32, 0xb3, IToF(ZExt32(@0)), 12) \
macro(F64Ceil, 0x9b, Ceil, 13) \
macro(F64Floor, 0x9c, Floor, 14) \
macro(F32Abs, 0x8b, Abs, 15) \
macro(I32ReinterpretF32, 0xbc, BitwiseCast, 16) \
macro(F64ConvertSI64, 0xb9, IToD, 17) \
macro(F64PromoteF32, 0xbb, FloatToDouble, 18) \
macro(I64ExtendUI32, 0xad, ZExt32, 19) \
macro(F64ReinterpretI64, 0xbf, BitwiseCast, 20) \
macro(F32Floor, 0x8e, Floor, 21) \
macro(F32ConvertSI32, 0xb2, IToF, 22) \
macro(I32Eqz, 0x45, Equal(i32(0), @0), 23) \
macro(I64ReinterpretF64, 0xbd, BitwiseCast, 24) \
macro(F64Sqrt, 0x9f, Sqrt, 25) \
macro(I32WrapI64, 0xa7, Trunc, 26) \
macro(I64ExtendSI32, 0xac, SExt32, 27) \
macro(F64Neg, 0x9a, Neg, 28)
#define FOR_EACH_WASM_UNARY_OP(macro) \
FOR_EACH_WASM_SIMPLE_UNARY_OP(macro) \
macro(I64TruncSF32, 0xae, Oops, 0) \
macro(F32ConvertUI64, 0xb5, Oops, 1) \
macro(I32Ctz, 0x68, Oops, 2) \
macro(I32TruncSF64, 0xaa, Oops, 3) \
macro(I32TruncUF64, 0xab, Oops, 4) \
macro(I32Popcnt, 0x69, Oops, 5) \
macro(I64Popcnt, 0x7b, Oops, 6) \
macro(I64Ctz, 0x7a, Oops, 7) \
macro(I32TruncSF32, 0xa8, Oops, 8) \
macro(I64TruncUF64, 0xb1, Oops, 9) \
macro(I64TruncSF64, 0xb0, Oops, 10) \
macro(F64ConvertUI64, 0xba, Oops, 11) \
macro(F64Nearest, 0x9e, Oops, 12) \
macro(F64Trunc, 0x9d, Oops, 13) \
macro(F32Trunc, 0x8f, Oops, 14) \
macro(I32TruncUF32, 0xa9, Oops, 15) \
macro(I64TruncUF32, 0xaf, Oops, 16) \
macro(F32Nearest, 0x90, Oops, 17)
#define FOR_EACH_WASM_SIMPLE_BINARY_OP(macro) \
macro(I32Mul, 0x6c, Mul, 0) \
macro(I32Sub, 0x6b, Sub, 1) \
macro(F64Le, 0x65, LessEqual, 2) \
macro(F32Min, 0x96, Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1)), 3) \
macro(F64Ne, 0x62, NotEqual, 4) \
macro(F64Lt, 0x63, LessThan, 5) \
macro(F32Max, 0x97, Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0)), 6) \
macro(F64Mul, 0xa2, Mul, 7) \
macro(F32Div, 0x95, Div, 8) \
macro(F32Copysign, 0x98, BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i32(0x80000000)), BitAnd(BitwiseCast(@0), i32(0x7fffffff)))), 9) \
macro(I64And, 0x83, BitAnd, 10) \
macro(F32Ne, 0x5c, NotEqual, 11) \
macro(F64Gt, 0x64, GreaterThan, 12) \
macro(F64Ge, 0x66, GreaterEqual, 13) \
macro(I64GtS, 0x55, GreaterThan, 14) \
macro(I64GtU, 0x56, Above, 15) \
macro(F64Div, 0xa3, Div, 16) \
macro(F32Add, 0x92, Add, 17) \
macro(I64Or, 0x84, BitOr, 18) \
macro(I32LeU, 0x4d, BelowEqual, 19) \
macro(I32LeS, 0x4c, LessEqual, 20) \
macro(I64Ne, 0x52, NotEqual, 21) \
macro(I32And, 0x71, BitAnd, 22) \
macro(I32LtU, 0x49, Below, 23) \
macro(I64Rotr, 0x8a, RotR(@0, Trunc(@1)), 24) \
macro(I32LtS, 0x48, LessThan, 25) \
macro(I32Eq, 0x46, Equal, 26) \
macro(F64Copysign, 0xa6, BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i64(0x8000000000000000)), BitAnd(BitwiseCast(@0), i64(0x7fffffffffffffff)))), 27) \
macro(I64Rotl, 0x89, RotL(@0, Trunc(@1)), 28) \
macro(F32Lt, 0x5d, LessThan, 29) \
macro(F64Eq, 0x61, Equal, 30) \
macro(F32Le, 0x5f, LessEqual, 31) \
macro(F32Ge, 0x60, GreaterEqual, 32) \
macro(I32ShrU, 0x76, ZShr, 33) \
macro(I32ShrS, 0x75, SShr, 34) \
macro(I32GeU, 0x4f, AboveEqual, 35) \
macro(I32GeS, 0x4e, GreaterEqual, 36) \
macro(I32Shl, 0x74, Shl, 37) \
macro(I32Xor, 0x73, BitXor, 38) \
macro(F64Min, 0xa4, Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1)), 39) \
macro(F32Mul, 0x94, Mul, 40) \
macro(I64Sub, 0x7d, Sub, 41) \
macro(I32Add, 0x6a, Add, 42) \
macro(F64Sub, 0xa1, Sub, 43) \
macro(I32Or, 0x72, BitOr, 44) \
macro(I64LtU, 0x54, Below, 45) \
macro(I64LtS, 0x53, LessThan, 46) \
macro(I64Xor, 0x85, BitXor, 47) \
macro(I64GeU, 0x5a, AboveEqual, 48) \
macro(I64Mul, 0x7e, Mul, 49) \
macro(F32Sub, 0x93, Sub, 50) \
macro(F64Add, 0xa0, Add, 51) \
macro(I64GeS, 0x59, GreaterEqual, 52) \
macro(I32Ne, 0x47, NotEqual, 53) \
macro(F32Eq, 0x5b, Equal, 54) \
macro(I64Eq, 0x51, Equal, 55) \
macro(I64ShrS, 0x87, SShr(@0, Trunc(@1)), 56) \
macro(I64ShrU, 0x88, ZShr(@0, Trunc(@1)), 57) \
macro(I64Shl, 0x86, Shl(@0, Trunc(@1)), 58) \
macro(F32Gt, 0x5e, GreaterThan, 59) \
macro(I32Rotl, 0x77, RotL, 60) \
macro(I32Rotr, 0x78, RotR, 61) \
macro(I32GtU, 0x4b, Above, 62) \
macro(I32GtS, 0x4a, GreaterThan, 63) \
macro(F64Max, 0xa5, Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0)), 64) \
macro(I64LeU, 0x58, BelowEqual, 65) \
macro(I64LeS, 0x57, LessEqual, 66) \
macro(I64Add, 0x7c, Add, 67)
#define FOR_EACH_WASM_BINARY_OP(macro) \
FOR_EACH_WASM_SIMPLE_BINARY_OP(macro) \
macro(I32DivU, 0x6e, Oops, 0) \
macro(I32DivS, 0x6d, Oops, 1) \
macro(I32RemU, 0x70, Oops, 2) \
macro(I32RemS, 0x6f, Oops, 3) \
macro(I64RemS, 0x81, Oops, 4) \
macro(I64RemU, 0x82, Oops, 5) \
macro(I64DivU, 0x80, Oops, 6) \
macro(I64DivS, 0x7f, Oops, 7)
#define FOR_EACH_WASM_MEMORY_LOAD_OP(macro) \
macro(I64Load32U, 0x35, Oops, 0) \
macro(I64Load32S, 0x34, Oops, 1) \
macro(I32Load16S, 0x2e, Oops, 2) \
macro(I32Load16U, 0x2f, Oops, 3) \
macro(I64Load, 0x29, Oops, 4) \
macro(F64Load, 0x2b, Oops, 5) \
macro(I32Load8S, 0x2c, Oops, 6) \
macro(I32Load8U, 0x2d, Oops, 7) \
macro(I32Load, 0x28, Oops, 8) \
macro(F32Load, 0x2a, Oops, 9) \
macro(I64Load8U, 0x31, Oops, 10) \
macro(I64Load8S, 0x30, Oops, 11) \
macro(I64Load16S, 0x32, Oops, 12) \
macro(I64Load16U, 0x33, Oops, 13)
#define FOR_EACH_WASM_MEMORY_STORE_OP(macro) \
macro(I64Store16, 0x3d, Oops, 0) \
macro(I64Store8, 0x3c, Oops, 1) \
macro(I32Store, 0x36, Oops, 2) \
macro(I32Store16, 0x3b, Oops, 3) \
macro(F32Store, 0x38, Oops, 4) \
macro(I64Store, 0x37, Oops, 5) \
macro(F64Store, 0x39, Oops, 6) \
macro(I32Store8, 0x3a, Oops, 7) \
macro(I64Store32, 0x3e, Oops, 8)
#define FOR_EACH_WASM_OP(macro) \
FOR_EACH_WASM_SPECIAL_OP(macro) \
FOR_EACH_WASM_CONTROL_FLOW_OP(macro) \
FOR_EACH_WASM_UNARY_OP(macro) \
FOR_EACH_WASM_BINARY_OP(macro) \
FOR_EACH_WASM_MEMORY_LOAD_OP(macro) \
FOR_EACH_WASM_MEMORY_STORE_OP(macro)
#define CREATE_ENUM_VALUE(name, id, b3op, inc) name = id,
enum OpType : uint8_t {
FOR_EACH_WASM_OP(CREATE_ENUM_VALUE)
};
template<typename Int>
inline bool isValidOpType(Int i)
{
// Bitset of valid ops.
static const uint8_t valid[] = { 0x3f, 0xf8, 0x3, 0xc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
return 0 <= i && i <= 191 && (valid[i / 8] & (1 << (i % 8)));
}
enum class BinaryOpType : uint8_t {
FOR_EACH_WASM_BINARY_OP(CREATE_ENUM_VALUE)
};
enum class UnaryOpType : uint8_t {
FOR_EACH_WASM_UNARY_OP(CREATE_ENUM_VALUE)
};
enum class LoadOpType : uint8_t {
FOR_EACH_WASM_MEMORY_LOAD_OP(CREATE_ENUM_VALUE)
};
enum class StoreOpType : uint8_t {
FOR_EACH_WASM_MEMORY_STORE_OP(CREATE_ENUM_VALUE)
};
#undef CREATE_ENUM_VALUE
inline bool isControlOp(OpType op)
{
switch (op) {
#define CREATE_CASE(name, id, b3op, inc) case OpType::name:
FOR_EACH_WASM_CONTROL_FLOW_OP(CREATE_CASE)
return true;
#undef CREATE_CASE
default:
break;
}
return false;
}
inline bool isSimple(UnaryOpType op)
{
switch (op) {
#define CREATE_CASE(name, id, b3op, inc) case UnaryOpType::name:
FOR_EACH_WASM_SIMPLE_UNARY_OP(CREATE_CASE)
return true;
#undef CREATE_CASE
default:
break;
}
return false;
}
inline bool isSimple(BinaryOpType op)
{
switch (op) {
#define CREATE_CASE(name, id, b3op, inc) case BinaryOpType::name:
FOR_EACH_WASM_SIMPLE_BINARY_OP(CREATE_CASE)
return true;
#undef CREATE_CASE
default:
break;
}
return false;
}
inline uint32_t memoryLog2Alignment(OpType op)
{
switch (op) {
case I64Load32U: return 2;
case I64Load32S: return 2;
case I32Load16S: return 1;
case I32Load16U: return 1;
case I64Load: return 3;
case F64Load: return 3;
case I32Load8S: return 0;
case I32Load8U: return 0;
case I32Load: return 2;
case F32Load: return 2;
case I64Load8U: return 0;
case I64Load8S: return 0;
case I64Load16S: return 1;
case I64Load16U: return 1;
case I64Store16: return 1;
case I64Store8: return 0;
case I32Store: return 2;
case I32Store16: return 1;
case F32Store: return 2;
case I64Store: return 3;
case F64Store: return 3;
case I32Store8: return 0;
case I64Store32: return 2;
default:
break;
}
RELEASE_ASSERT_NOT_REACHED();
return 0;
}
#define CREATE_CASE(name, id, b3type, inc) case name: return #name;
inline const char* makeString(OpType op)
{
switch (op) {
FOR_EACH_WASM_OP(CREATE_CASE)
}
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
#undef CREATE_CASE
} } // namespace JSC::Wasm
#endif // ENABLE(WEBASSEMBLY)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyCompileErrorIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyCompileErrorValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable constructorTableWebAssemblyCompileError =
{ 0, 0, false, constructorTableWebAssemblyCompileErrorValues, constructorTableWebAssemblyCompileErrorIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyCompileErrorIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyCompileErrorValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable prototypeTableWebAssemblyCompileError =
{ 0, 0, false, prototypeTableWebAssemblyCompileErrorValues, prototypeTableWebAssemblyCompileErrorIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyInstanceIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyInstanceValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable constructorTableWebAssemblyInstance =
{ 0, 0, false, constructorTableWebAssemblyInstanceValues, constructorTableWebAssemblyInstanceIndex };
} // namespace JSC

View File

@ -0,0 +1,19 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyInstanceIndex[2] = {
{ 0, -1 },
{ -1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyInstanceValues[1] = {
{ "exports", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyInstanceProtoFuncExports), (intptr_t)static_cast<NativeFunction>(nullptr) } },
};
static const struct HashTable prototypeTableWebAssemblyInstance =
{ 1, 1, true, prototypeTableWebAssemblyInstanceValues, prototypeTableWebAssemblyInstanceIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyLinkErrorIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyLinkErrorValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable constructorTableWebAssemblyLinkError =
{ 0, 0, false, constructorTableWebAssemblyLinkErrorValues, constructorTableWebAssemblyLinkErrorIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyLinkErrorIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyLinkErrorValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable prototypeTableWebAssemblyLinkError =
{ 0, 0, false, prototypeTableWebAssemblyLinkErrorValues, prototypeTableWebAssemblyLinkErrorIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyMemoryIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyMemoryValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable constructorTableWebAssemblyMemory =
{ 0, 0, false, constructorTableWebAssemblyMemoryValues, constructorTableWebAssemblyMemoryIndex };
} // namespace JSC

View File

@ -0,0 +1,23 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyMemoryPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyMemoryIndex[5] = {
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, 4 },
{ 1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyMemoryValues[2] = {
{ "grow", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyMemoryProtoFuncGrow), (intptr_t)(1) } },
{ "buffer", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyMemoryProtoFuncBuffer), (intptr_t)static_cast<NativeFunction>(nullptr) } },
};
static const struct HashTable prototypeTableWebAssemblyMemory =
{ 2, 3, true, prototypeTableWebAssemblyMemoryValues, prototypeTableWebAssemblyMemoryIndex };
} // namespace JSC

View File

@ -0,0 +1,27 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyModuleConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyModuleIndex[8] = {
{ 2, -1 },
{ 0, -1 },
{ 1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyModuleValues[3] = {
{ "customSections", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyModuleCustomSections), (intptr_t)(2) } },
{ "imports", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyModuleImports), (intptr_t)(1) } },
{ "exports", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyModuleExports), (intptr_t)(1) } },
};
static const struct HashTable constructorTableWebAssemblyModule =
{ 3, 7, false, constructorTableWebAssemblyModuleValues, constructorTableWebAssemblyModuleIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyModuleIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyModuleValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable prototypeTableWebAssemblyModule =
{ 0, 0, false, prototypeTableWebAssemblyModuleValues, prototypeTableWebAssemblyModuleIndex };
} // namespace JSC

View File

@ -0,0 +1,27 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyIndex[8] = {
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ -1, -1 },
{ 0, -1 },
{ 2, -1 },
{ 1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyValues[3] = {
{ "compile", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyCompileFunc), (intptr_t)(1) } },
{ "instantiate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyInstantiateFunc), (intptr_t)(1) } },
{ "validate", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyValidateFunc), (intptr_t)(1) } },
};
static const struct HashTable prototypeTableWebAssembly =
{ 3, 7, false, prototypeTableWebAssemblyValues, prototypeTableWebAssemblyIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyRuntimeErrorIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyRuntimeErrorValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable constructorTableWebAssemblyRuntimeError =
{ 0, 0, false, constructorTableWebAssemblyRuntimeErrorValues, constructorTableWebAssemblyRuntimeErrorIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyRuntimeErrorIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyRuntimeErrorValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable prototypeTableWebAssemblyRuntimeError =
{ 0, 0, false, prototypeTableWebAssemblyRuntimeErrorValues, prototypeTableWebAssemblyRuntimeErrorIndex };
} // namespace JSC

View File

@ -0,0 +1,18 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex constructorTableWebAssemblyTableIndex[1] = {
{ -1, -1 },
};
static const struct HashTableValue constructorTableWebAssemblyTableValues[1] = {
{ nullptr, 0, NoIntrinsic, { 0, 0 } }
};
static const struct HashTable constructorTableWebAssemblyTable =
{ 0, 0, false, constructorTableWebAssemblyTableValues, constructorTableWebAssemblyTableIndex };
} // namespace JSC

View File

@ -0,0 +1,28 @@
// Automatically generated from JavaScriptCore/wasm/js/WebAssemblyTablePrototype.cpp using JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
namespace JSC {
static const struct CompactHashIndex prototypeTableWebAssemblyTableIndex[8] = {
{ -1, -1 },
{ 0, -1 },
{ -1, -1 },
{ 1, -1 },
{ -1, -1 },
{ 2, -1 },
{ -1, -1 },
{ 3, -1 },
};
static const struct HashTableValue prototypeTableWebAssemblyTableValues[4] = {
{ "length", DontEnum|Accessor, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyTableProtoFuncLength), (intptr_t)static_cast<NativeFunction>(nullptr) } },
{ "grow", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyTableProtoFuncGrow), (intptr_t)(1) } },
{ "get", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyTableProtoFuncGet), (intptr_t)(1) } },
{ "set", DontEnum|Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(webAssemblyTableProtoFuncSet), (intptr_t)(2) } },
};
static const struct HashTable prototypeTableWebAssemblyTable =
{ 4, 7, true, prototypeTableWebAssemblyTableValues, prototypeTableWebAssemblyTableIndex };
} // namespace JSC

View File

@ -0,0 +1,532 @@
/*
* Copyright (C) 2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NO EDIT! - This file was generated by generateYarrCanonicalizeUnicode
#include "config.h"
#include "YarrCanonicalize.h"
namespace JSC { namespace Yarr {
const UChar32 unicodeCharacterSet0[] = { 0x004b, 0x006b, 0x212a, 0 };
const UChar32 unicodeCharacterSet1[] = { 0x0053, 0x0073, 0x017f, 0 };
const UChar32 unicodeCharacterSet2[] = { 0x00c5, 0x00e5, 0x212b, 0 };
const UChar32 unicodeCharacterSet3[] = { 0x01c4, 0x01c5, 0x01c6, 0 };
const UChar32 unicodeCharacterSet4[] = { 0x01c7, 0x01c8, 0x01c9, 0 };
const UChar32 unicodeCharacterSet5[] = { 0x01ca, 0x01cb, 0x01cc, 0 };
const UChar32 unicodeCharacterSet6[] = { 0x01f1, 0x01f2, 0x01f3, 0 };
const UChar32 unicodeCharacterSet7[] = { 0x0392, 0x03b2, 0x03d0, 0 };
const UChar32 unicodeCharacterSet8[] = { 0x0395, 0x03b5, 0x03f5, 0 };
const UChar32 unicodeCharacterSet9[] = { 0x0398, 0x03b8, 0x03d1, 0x03f4, 0 };
const UChar32 unicodeCharacterSet10[] = { 0x0345, 0x0399, 0x03b9, 0x1fbe, 0 };
const UChar32 unicodeCharacterSet11[] = { 0x039a, 0x03ba, 0x03f0, 0 };
const UChar32 unicodeCharacterSet12[] = { 0x00b5, 0x039c, 0x03bc, 0 };
const UChar32 unicodeCharacterSet13[] = { 0x03a0, 0x03c0, 0x03d6, 0 };
const UChar32 unicodeCharacterSet14[] = { 0x03a1, 0x03c1, 0x03f1, 0 };
const UChar32 unicodeCharacterSet15[] = { 0x03a3, 0x03c2, 0x03c3, 0 };
const UChar32 unicodeCharacterSet16[] = { 0x03a6, 0x03c6, 0x03d5, 0 };
const UChar32 unicodeCharacterSet17[] = { 0x03a9, 0x03c9, 0x2126, 0 };
const UChar32 unicodeCharacterSet18[] = { 0x1e60, 0x1e61, 0x1e9b, 0 };
static const size_t UNICODE_CANONICALIZATION_SETS = 19;
const UChar32* const unicodeCharacterSetInfo[UNICODE_CANONICALIZATION_SETS] = {
unicodeCharacterSet0,
unicodeCharacterSet1,
unicodeCharacterSet2,
unicodeCharacterSet3,
unicodeCharacterSet4,
unicodeCharacterSet5,
unicodeCharacterSet6,
unicodeCharacterSet7,
unicodeCharacterSet8,
unicodeCharacterSet9,
unicodeCharacterSet10,
unicodeCharacterSet11,
unicodeCharacterSet12,
unicodeCharacterSet13,
unicodeCharacterSet14,
unicodeCharacterSet15,
unicodeCharacterSet16,
unicodeCharacterSet17,
unicodeCharacterSet18,
};
const size_t UNICODE_CANONICALIZATION_RANGES = 452;
const CanonicalizationRange unicodeRangeInfo[UNICODE_CANONICALIZATION_RANGES] = {
{ 0x0000, 0x0040, 0x0000, CanonicalizeUnique },
{ 0x0041, 0x004a, 0x0020, CanonicalizeRangeLo },
{ 0x004b, 0x004b, 0x0000, CanonicalizeSet },
{ 0x004c, 0x0052, 0x0020, CanonicalizeRangeLo },
{ 0x0053, 0x0053, 0x0001, CanonicalizeSet },
{ 0x0054, 0x005a, 0x0020, CanonicalizeRangeLo },
{ 0x005b, 0x0060, 0x0000, CanonicalizeUnique },
{ 0x0061, 0x006a, 0x0020, CanonicalizeRangeHi },
{ 0x006b, 0x006b, 0x0000, CanonicalizeSet },
{ 0x006c, 0x0072, 0x0020, CanonicalizeRangeHi },
{ 0x0073, 0x0073, 0x0001, CanonicalizeSet },
{ 0x0074, 0x007a, 0x0020, CanonicalizeRangeHi },
{ 0x007b, 0x00b4, 0x0000, CanonicalizeUnique },
{ 0x00b5, 0x00b5, 0x000c, CanonicalizeSet },
{ 0x00b6, 0x00bf, 0x0000, CanonicalizeUnique },
{ 0x00c0, 0x00c4, 0x0020, CanonicalizeRangeLo },
{ 0x00c5, 0x00c5, 0x0002, CanonicalizeSet },
{ 0x00c6, 0x00d6, 0x0020, CanonicalizeRangeLo },
{ 0x00d7, 0x00d7, 0x0000, CanonicalizeUnique },
{ 0x00d8, 0x00de, 0x0020, CanonicalizeRangeLo },
{ 0x00df, 0x00df, 0x1dbf, CanonicalizeRangeLo },
{ 0x00e0, 0x00e4, 0x0020, CanonicalizeRangeHi },
{ 0x00e5, 0x00e5, 0x0002, CanonicalizeSet },
{ 0x00e6, 0x00f6, 0x0020, CanonicalizeRangeHi },
{ 0x00f7, 0x00f7, 0x0000, CanonicalizeUnique },
{ 0x00f8, 0x00fe, 0x0020, CanonicalizeRangeHi },
{ 0x00ff, 0x00ff, 0x0079, CanonicalizeRangeLo },
{ 0x0100, 0x012f, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0130, 0x0131, 0x0000, CanonicalizeUnique },
{ 0x0132, 0x0137, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0138, 0x0138, 0x0000, CanonicalizeUnique },
{ 0x0139, 0x0148, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x0149, 0x0149, 0x0000, CanonicalizeUnique },
{ 0x014a, 0x0177, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0178, 0x0178, 0x0079, CanonicalizeRangeHi },
{ 0x0179, 0x017e, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x017f, 0x017f, 0x0001, CanonicalizeSet },
{ 0x0180, 0x0180, 0x00c3, CanonicalizeRangeLo },
{ 0x0181, 0x0181, 0x00d2, CanonicalizeRangeLo },
{ 0x0182, 0x0185, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0186, 0x0186, 0x00ce, CanonicalizeRangeLo },
{ 0x0187, 0x0188, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x0189, 0x018a, 0x00cd, CanonicalizeRangeLo },
{ 0x018b, 0x018c, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x018d, 0x018d, 0x0000, CanonicalizeUnique },
{ 0x018e, 0x018e, 0x004f, CanonicalizeRangeLo },
{ 0x018f, 0x018f, 0x00ca, CanonicalizeRangeLo },
{ 0x0190, 0x0190, 0x00cb, CanonicalizeRangeLo },
{ 0x0191, 0x0192, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x0193, 0x0193, 0x00cd, CanonicalizeRangeLo },
{ 0x0194, 0x0194, 0x00cf, CanonicalizeRangeLo },
{ 0x0195, 0x0195, 0x0061, CanonicalizeRangeLo },
{ 0x0196, 0x0196, 0x00d3, CanonicalizeRangeLo },
{ 0x0197, 0x0197, 0x00d1, CanonicalizeRangeLo },
{ 0x0198, 0x0199, 0x0000, CanonicalizeAlternatingAligned },
{ 0x019a, 0x019a, 0x00a3, CanonicalizeRangeLo },
{ 0x019b, 0x019b, 0x0000, CanonicalizeUnique },
{ 0x019c, 0x019c, 0x00d3, CanonicalizeRangeLo },
{ 0x019d, 0x019d, 0x00d5, CanonicalizeRangeLo },
{ 0x019e, 0x019e, 0x0082, CanonicalizeRangeLo },
{ 0x019f, 0x019f, 0x00d6, CanonicalizeRangeLo },
{ 0x01a0, 0x01a5, 0x0000, CanonicalizeAlternatingAligned },
{ 0x01a6, 0x01a6, 0x00da, CanonicalizeRangeLo },
{ 0x01a7, 0x01a8, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x01a9, 0x01a9, 0x00da, CanonicalizeRangeLo },
{ 0x01aa, 0x01ab, 0x0000, CanonicalizeUnique },
{ 0x01ac, 0x01ad, 0x0000, CanonicalizeAlternatingAligned },
{ 0x01ae, 0x01ae, 0x00da, CanonicalizeRangeLo },
{ 0x01af, 0x01b0, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x01b1, 0x01b2, 0x00d9, CanonicalizeRangeLo },
{ 0x01b3, 0x01b6, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x01b7, 0x01b7, 0x00db, CanonicalizeRangeLo },
{ 0x01b8, 0x01b9, 0x0000, CanonicalizeAlternatingAligned },
{ 0x01ba, 0x01bb, 0x0000, CanonicalizeUnique },
{ 0x01bc, 0x01bd, 0x0000, CanonicalizeAlternatingAligned },
{ 0x01be, 0x01be, 0x0000, CanonicalizeUnique },
{ 0x01bf, 0x01bf, 0x0038, CanonicalizeRangeLo },
{ 0x01c0, 0x01c3, 0x0000, CanonicalizeUnique },
{ 0x01c4, 0x01c6, 0x0003, CanonicalizeSet },
{ 0x01c7, 0x01c9, 0x0004, CanonicalizeSet },
{ 0x01ca, 0x01cc, 0x0005, CanonicalizeSet },
{ 0x01cd, 0x01dc, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x01dd, 0x01dd, 0x004f, CanonicalizeRangeHi },
{ 0x01de, 0x01ef, 0x0000, CanonicalizeAlternatingAligned },
{ 0x01f0, 0x01f0, 0x0000, CanonicalizeUnique },
{ 0x01f1, 0x01f3, 0x0006, CanonicalizeSet },
{ 0x01f4, 0x01f5, 0x0000, CanonicalizeAlternatingAligned },
{ 0x01f6, 0x01f6, 0x0061, CanonicalizeRangeHi },
{ 0x01f7, 0x01f7, 0x0038, CanonicalizeRangeHi },
{ 0x01f8, 0x021f, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0220, 0x0220, 0x0082, CanonicalizeRangeHi },
{ 0x0221, 0x0221, 0x0000, CanonicalizeUnique },
{ 0x0222, 0x0233, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0234, 0x0239, 0x0000, CanonicalizeUnique },
{ 0x023a, 0x023a, 0x2a2b, CanonicalizeRangeLo },
{ 0x023b, 0x023c, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x023d, 0x023d, 0x00a3, CanonicalizeRangeHi },
{ 0x023e, 0x023e, 0x2a28, CanonicalizeRangeLo },
{ 0x023f, 0x0240, 0x2a3f, CanonicalizeRangeLo },
{ 0x0241, 0x0242, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x0243, 0x0243, 0x00c3, CanonicalizeRangeHi },
{ 0x0244, 0x0244, 0x0045, CanonicalizeRangeLo },
{ 0x0245, 0x0245, 0x0047, CanonicalizeRangeLo },
{ 0x0246, 0x024f, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0250, 0x0250, 0x2a1f, CanonicalizeRangeLo },
{ 0x0251, 0x0251, 0x2a1c, CanonicalizeRangeLo },
{ 0x0252, 0x0252, 0x2a1e, CanonicalizeRangeLo },
{ 0x0253, 0x0253, 0x00d2, CanonicalizeRangeHi },
{ 0x0254, 0x0254, 0x00ce, CanonicalizeRangeHi },
{ 0x0255, 0x0255, 0x0000, CanonicalizeUnique },
{ 0x0256, 0x0257, 0x00cd, CanonicalizeRangeHi },
{ 0x0258, 0x0258, 0x0000, CanonicalizeUnique },
{ 0x0259, 0x0259, 0x00ca, CanonicalizeRangeHi },
{ 0x025a, 0x025a, 0x0000, CanonicalizeUnique },
{ 0x025b, 0x025b, 0x00cb, CanonicalizeRangeHi },
{ 0x025c, 0x025c, 0xa54f, CanonicalizeRangeLo },
{ 0x025d, 0x025f, 0x0000, CanonicalizeUnique },
{ 0x0260, 0x0260, 0x00cd, CanonicalizeRangeHi },
{ 0x0261, 0x0261, 0xa54b, CanonicalizeRangeLo },
{ 0x0262, 0x0262, 0x0000, CanonicalizeUnique },
{ 0x0263, 0x0263, 0x00cf, CanonicalizeRangeHi },
{ 0x0264, 0x0264, 0x0000, CanonicalizeUnique },
{ 0x0265, 0x0265, 0xa528, CanonicalizeRangeLo },
{ 0x0266, 0x0266, 0xa544, CanonicalizeRangeLo },
{ 0x0267, 0x0267, 0x0000, CanonicalizeUnique },
{ 0x0268, 0x0268, 0x00d1, CanonicalizeRangeHi },
{ 0x0269, 0x0269, 0x00d3, CanonicalizeRangeHi },
{ 0x026a, 0x026a, 0x0000, CanonicalizeUnique },
{ 0x026b, 0x026b, 0x29f7, CanonicalizeRangeLo },
{ 0x026c, 0x026c, 0xa541, CanonicalizeRangeLo },
{ 0x026d, 0x026e, 0x0000, CanonicalizeUnique },
{ 0x026f, 0x026f, 0x00d3, CanonicalizeRangeHi },
{ 0x0270, 0x0270, 0x0000, CanonicalizeUnique },
{ 0x0271, 0x0271, 0x29fd, CanonicalizeRangeLo },
{ 0x0272, 0x0272, 0x00d5, CanonicalizeRangeHi },
{ 0x0273, 0x0274, 0x0000, CanonicalizeUnique },
{ 0x0275, 0x0275, 0x00d6, CanonicalizeRangeHi },
{ 0x0276, 0x027c, 0x0000, CanonicalizeUnique },
{ 0x027d, 0x027d, 0x29e7, CanonicalizeRangeLo },
{ 0x027e, 0x027f, 0x0000, CanonicalizeUnique },
{ 0x0280, 0x0280, 0x00da, CanonicalizeRangeHi },
{ 0x0281, 0x0282, 0x0000, CanonicalizeUnique },
{ 0x0283, 0x0283, 0x00da, CanonicalizeRangeHi },
{ 0x0284, 0x0286, 0x0000, CanonicalizeUnique },
{ 0x0287, 0x0287, 0xa52a, CanonicalizeRangeLo },
{ 0x0288, 0x0288, 0x00da, CanonicalizeRangeHi },
{ 0x0289, 0x0289, 0x0045, CanonicalizeRangeHi },
{ 0x028a, 0x028b, 0x00d9, CanonicalizeRangeHi },
{ 0x028c, 0x028c, 0x0047, CanonicalizeRangeHi },
{ 0x028d, 0x0291, 0x0000, CanonicalizeUnique },
{ 0x0292, 0x0292, 0x00db, CanonicalizeRangeHi },
{ 0x0293, 0x029c, 0x0000, CanonicalizeUnique },
{ 0x029d, 0x029d, 0xa515, CanonicalizeRangeLo },
{ 0x029e, 0x029e, 0xa512, CanonicalizeRangeLo },
{ 0x029f, 0x0344, 0x0000, CanonicalizeUnique },
{ 0x0345, 0x0345, 0x000a, CanonicalizeSet },
{ 0x0346, 0x036f, 0x0000, CanonicalizeUnique },
{ 0x0370, 0x0373, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0374, 0x0375, 0x0000, CanonicalizeUnique },
{ 0x0376, 0x0377, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0378, 0x037a, 0x0000, CanonicalizeUnique },
{ 0x037b, 0x037d, 0x0082, CanonicalizeRangeLo },
{ 0x037e, 0x037e, 0x0000, CanonicalizeUnique },
{ 0x037f, 0x037f, 0x0074, CanonicalizeRangeLo },
{ 0x0380, 0x0385, 0x0000, CanonicalizeUnique },
{ 0x0386, 0x0386, 0x0026, CanonicalizeRangeLo },
{ 0x0387, 0x0387, 0x0000, CanonicalizeUnique },
{ 0x0388, 0x038a, 0x0025, CanonicalizeRangeLo },
{ 0x038b, 0x038b, 0x0000, CanonicalizeUnique },
{ 0x038c, 0x038c, 0x0040, CanonicalizeRangeLo },
{ 0x038d, 0x038d, 0x0000, CanonicalizeUnique },
{ 0x038e, 0x038f, 0x003f, CanonicalizeRangeLo },
{ 0x0390, 0x0390, 0x0000, CanonicalizeUnique },
{ 0x0391, 0x0391, 0x0020, CanonicalizeRangeLo },
{ 0x0392, 0x0392, 0x0007, CanonicalizeSet },
{ 0x0393, 0x0394, 0x0020, CanonicalizeRangeLo },
{ 0x0395, 0x0395, 0x0008, CanonicalizeSet },
{ 0x0396, 0x0397, 0x0020, CanonicalizeRangeLo },
{ 0x0398, 0x0398, 0x0009, CanonicalizeSet },
{ 0x0399, 0x0399, 0x000a, CanonicalizeSet },
{ 0x039a, 0x039a, 0x000b, CanonicalizeSet },
{ 0x039b, 0x039b, 0x0020, CanonicalizeRangeLo },
{ 0x039c, 0x039c, 0x000c, CanonicalizeSet },
{ 0x039d, 0x039f, 0x0020, CanonicalizeRangeLo },
{ 0x03a0, 0x03a0, 0x000d, CanonicalizeSet },
{ 0x03a1, 0x03a1, 0x000e, CanonicalizeSet },
{ 0x03a2, 0x03a2, 0x0000, CanonicalizeUnique },
{ 0x03a3, 0x03a3, 0x000f, CanonicalizeSet },
{ 0x03a4, 0x03a5, 0x0020, CanonicalizeRangeLo },
{ 0x03a6, 0x03a6, 0x0010, CanonicalizeSet },
{ 0x03a7, 0x03a8, 0x0020, CanonicalizeRangeLo },
{ 0x03a9, 0x03a9, 0x0011, CanonicalizeSet },
{ 0x03aa, 0x03ab, 0x0020, CanonicalizeRangeLo },
{ 0x03ac, 0x03ac, 0x0026, CanonicalizeRangeHi },
{ 0x03ad, 0x03af, 0x0025, CanonicalizeRangeHi },
{ 0x03b0, 0x03b0, 0x0000, CanonicalizeUnique },
{ 0x03b1, 0x03b1, 0x0020, CanonicalizeRangeHi },
{ 0x03b2, 0x03b2, 0x0007, CanonicalizeSet },
{ 0x03b3, 0x03b4, 0x0020, CanonicalizeRangeHi },
{ 0x03b5, 0x03b5, 0x0008, CanonicalizeSet },
{ 0x03b6, 0x03b7, 0x0020, CanonicalizeRangeHi },
{ 0x03b8, 0x03b8, 0x0009, CanonicalizeSet },
{ 0x03b9, 0x03b9, 0x000a, CanonicalizeSet },
{ 0x03ba, 0x03ba, 0x000b, CanonicalizeSet },
{ 0x03bb, 0x03bb, 0x0020, CanonicalizeRangeHi },
{ 0x03bc, 0x03bc, 0x000c, CanonicalizeSet },
{ 0x03bd, 0x03bf, 0x0020, CanonicalizeRangeHi },
{ 0x03c0, 0x03c0, 0x000d, CanonicalizeSet },
{ 0x03c1, 0x03c1, 0x000e, CanonicalizeSet },
{ 0x03c2, 0x03c3, 0x000f, CanonicalizeSet },
{ 0x03c4, 0x03c5, 0x0020, CanonicalizeRangeHi },
{ 0x03c6, 0x03c6, 0x0010, CanonicalizeSet },
{ 0x03c7, 0x03c8, 0x0020, CanonicalizeRangeHi },
{ 0x03c9, 0x03c9, 0x0011, CanonicalizeSet },
{ 0x03ca, 0x03cb, 0x0020, CanonicalizeRangeHi },
{ 0x03cc, 0x03cc, 0x0040, CanonicalizeRangeHi },
{ 0x03cd, 0x03ce, 0x003f, CanonicalizeRangeHi },
{ 0x03cf, 0x03cf, 0x0008, CanonicalizeRangeLo },
{ 0x03d0, 0x03d0, 0x0007, CanonicalizeSet },
{ 0x03d1, 0x03d1, 0x0009, CanonicalizeSet },
{ 0x03d2, 0x03d4, 0x0000, CanonicalizeUnique },
{ 0x03d5, 0x03d5, 0x0010, CanonicalizeSet },
{ 0x03d6, 0x03d6, 0x000d, CanonicalizeSet },
{ 0x03d7, 0x03d7, 0x0008, CanonicalizeRangeHi },
{ 0x03d8, 0x03ef, 0x0000, CanonicalizeAlternatingAligned },
{ 0x03f0, 0x03f0, 0x000b, CanonicalizeSet },
{ 0x03f1, 0x03f1, 0x000e, CanonicalizeSet },
{ 0x03f2, 0x03f2, 0x0007, CanonicalizeRangeLo },
{ 0x03f3, 0x03f3, 0x0074, CanonicalizeRangeHi },
{ 0x03f4, 0x03f4, 0x0009, CanonicalizeSet },
{ 0x03f5, 0x03f5, 0x0008, CanonicalizeSet },
{ 0x03f6, 0x03f6, 0x0000, CanonicalizeUnique },
{ 0x03f7, 0x03f8, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x03f9, 0x03f9, 0x0007, CanonicalizeRangeHi },
{ 0x03fa, 0x03fb, 0x0000, CanonicalizeAlternatingAligned },
{ 0x03fc, 0x03fc, 0x0000, CanonicalizeUnique },
{ 0x03fd, 0x03ff, 0x0082, CanonicalizeRangeHi },
{ 0x0400, 0x040f, 0x0050, CanonicalizeRangeLo },
{ 0x0410, 0x042f, 0x0020, CanonicalizeRangeLo },
{ 0x0430, 0x044f, 0x0020, CanonicalizeRangeHi },
{ 0x0450, 0x045f, 0x0050, CanonicalizeRangeHi },
{ 0x0460, 0x0481, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0482, 0x0489, 0x0000, CanonicalizeUnique },
{ 0x048a, 0x04bf, 0x0000, CanonicalizeAlternatingAligned },
{ 0x04c0, 0x04c0, 0x000f, CanonicalizeRangeLo },
{ 0x04c1, 0x04ce, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x04cf, 0x04cf, 0x000f, CanonicalizeRangeHi },
{ 0x04d0, 0x052f, 0x0000, CanonicalizeAlternatingAligned },
{ 0x0530, 0x0530, 0x0000, CanonicalizeUnique },
{ 0x0531, 0x0556, 0x0030, CanonicalizeRangeLo },
{ 0x0557, 0x0560, 0x0000, CanonicalizeUnique },
{ 0x0561, 0x0586, 0x0030, CanonicalizeRangeHi },
{ 0x0587, 0x109f, 0x0000, CanonicalizeUnique },
{ 0x10a0, 0x10c5, 0x1c60, CanonicalizeRangeLo },
{ 0x10c6, 0x10c6, 0x0000, CanonicalizeUnique },
{ 0x10c7, 0x10c7, 0x1c60, CanonicalizeRangeLo },
{ 0x10c8, 0x10cc, 0x0000, CanonicalizeUnique },
{ 0x10cd, 0x10cd, 0x1c60, CanonicalizeRangeLo },
{ 0x10ce, 0x139f, 0x0000, CanonicalizeUnique },
{ 0x13a0, 0x13ef, 0x97d0, CanonicalizeRangeLo },
{ 0x13f0, 0x13f5, 0x0008, CanonicalizeRangeLo },
{ 0x13f6, 0x13f7, 0x0000, CanonicalizeUnique },
{ 0x13f8, 0x13fd, 0x0008, CanonicalizeRangeHi },
{ 0x13fe, 0x1d78, 0x0000, CanonicalizeUnique },
{ 0x1d79, 0x1d79, 0x8a04, CanonicalizeRangeLo },
{ 0x1d7a, 0x1d7c, 0x0000, CanonicalizeUnique },
{ 0x1d7d, 0x1d7d, 0x0ee6, CanonicalizeRangeLo },
{ 0x1d7e, 0x1dff, 0x0000, CanonicalizeUnique },
{ 0x1e00, 0x1e5f, 0x0000, CanonicalizeAlternatingAligned },
{ 0x1e60, 0x1e61, 0x0012, CanonicalizeSet },
{ 0x1e62, 0x1e95, 0x0000, CanonicalizeAlternatingAligned },
{ 0x1e96, 0x1e9a, 0x0000, CanonicalizeUnique },
{ 0x1e9b, 0x1e9b, 0x0012, CanonicalizeSet },
{ 0x1e9c, 0x1e9d, 0x0000, CanonicalizeUnique },
{ 0x1e9e, 0x1e9e, 0x1dbf, CanonicalizeRangeHi },
{ 0x1e9f, 0x1e9f, 0x0000, CanonicalizeUnique },
{ 0x1ea0, 0x1eff, 0x0000, CanonicalizeAlternatingAligned },
{ 0x1f00, 0x1f07, 0x0008, CanonicalizeRangeLo },
{ 0x1f08, 0x1f0f, 0x0008, CanonicalizeRangeHi },
{ 0x1f10, 0x1f15, 0x0008, CanonicalizeRangeLo },
{ 0x1f16, 0x1f17, 0x0000, CanonicalizeUnique },
{ 0x1f18, 0x1f1d, 0x0008, CanonicalizeRangeHi },
{ 0x1f1e, 0x1f1f, 0x0000, CanonicalizeUnique },
{ 0x1f20, 0x1f27, 0x0008, CanonicalizeRangeLo },
{ 0x1f28, 0x1f2f, 0x0008, CanonicalizeRangeHi },
{ 0x1f30, 0x1f37, 0x0008, CanonicalizeRangeLo },
{ 0x1f38, 0x1f3f, 0x0008, CanonicalizeRangeHi },
{ 0x1f40, 0x1f45, 0x0008, CanonicalizeRangeLo },
{ 0x1f46, 0x1f47, 0x0000, CanonicalizeUnique },
{ 0x1f48, 0x1f4d, 0x0008, CanonicalizeRangeHi },
{ 0x1f4e, 0x1f50, 0x0000, CanonicalizeUnique },
{ 0x1f51, 0x1f51, 0x0008, CanonicalizeRangeLo },
{ 0x1f52, 0x1f52, 0x0000, CanonicalizeUnique },
{ 0x1f53, 0x1f53, 0x0008, CanonicalizeRangeLo },
{ 0x1f54, 0x1f54, 0x0000, CanonicalizeUnique },
{ 0x1f55, 0x1f55, 0x0008, CanonicalizeRangeLo },
{ 0x1f56, 0x1f56, 0x0000, CanonicalizeUnique },
{ 0x1f57, 0x1f57, 0x0008, CanonicalizeRangeLo },
{ 0x1f58, 0x1f58, 0x0000, CanonicalizeUnique },
{ 0x1f59, 0x1f59, 0x0008, CanonicalizeRangeHi },
{ 0x1f5a, 0x1f5a, 0x0000, CanonicalizeUnique },
{ 0x1f5b, 0x1f5b, 0x0008, CanonicalizeRangeHi },
{ 0x1f5c, 0x1f5c, 0x0000, CanonicalizeUnique },
{ 0x1f5d, 0x1f5d, 0x0008, CanonicalizeRangeHi },
{ 0x1f5e, 0x1f5e, 0x0000, CanonicalizeUnique },
{ 0x1f5f, 0x1f5f, 0x0008, CanonicalizeRangeHi },
{ 0x1f60, 0x1f67, 0x0008, CanonicalizeRangeLo },
{ 0x1f68, 0x1f6f, 0x0008, CanonicalizeRangeHi },
{ 0x1f70, 0x1f71, 0x004a, CanonicalizeRangeLo },
{ 0x1f72, 0x1f75, 0x0056, CanonicalizeRangeLo },
{ 0x1f76, 0x1f77, 0x0064, CanonicalizeRangeLo },
{ 0x1f78, 0x1f79, 0x0080, CanonicalizeRangeLo },
{ 0x1f7a, 0x1f7b, 0x0070, CanonicalizeRangeLo },
{ 0x1f7c, 0x1f7d, 0x007e, CanonicalizeRangeLo },
{ 0x1f7e, 0x1f7f, 0x0000, CanonicalizeUnique },
{ 0x1f80, 0x1f87, 0x0008, CanonicalizeRangeLo },
{ 0x1f88, 0x1f8f, 0x0008, CanonicalizeRangeHi },
{ 0x1f90, 0x1f97, 0x0008, CanonicalizeRangeLo },
{ 0x1f98, 0x1f9f, 0x0008, CanonicalizeRangeHi },
{ 0x1fa0, 0x1fa7, 0x0008, CanonicalizeRangeLo },
{ 0x1fa8, 0x1faf, 0x0008, CanonicalizeRangeHi },
{ 0x1fb0, 0x1fb1, 0x0008, CanonicalizeRangeLo },
{ 0x1fb2, 0x1fb2, 0x0000, CanonicalizeUnique },
{ 0x1fb3, 0x1fb3, 0x0009, CanonicalizeRangeLo },
{ 0x1fb4, 0x1fb7, 0x0000, CanonicalizeUnique },
{ 0x1fb8, 0x1fb9, 0x0008, CanonicalizeRangeHi },
{ 0x1fba, 0x1fbb, 0x004a, CanonicalizeRangeHi },
{ 0x1fbc, 0x1fbc, 0x0009, CanonicalizeRangeHi },
{ 0x1fbd, 0x1fbd, 0x0000, CanonicalizeUnique },
{ 0x1fbe, 0x1fbe, 0x000a, CanonicalizeSet },
{ 0x1fbf, 0x1fc2, 0x0000, CanonicalizeUnique },
{ 0x1fc3, 0x1fc3, 0x0009, CanonicalizeRangeLo },
{ 0x1fc4, 0x1fc7, 0x0000, CanonicalizeUnique },
{ 0x1fc8, 0x1fcb, 0x0056, CanonicalizeRangeHi },
{ 0x1fcc, 0x1fcc, 0x0009, CanonicalizeRangeHi },
{ 0x1fcd, 0x1fcf, 0x0000, CanonicalizeUnique },
{ 0x1fd0, 0x1fd1, 0x0008, CanonicalizeRangeLo },
{ 0x1fd2, 0x1fd7, 0x0000, CanonicalizeUnique },
{ 0x1fd8, 0x1fd9, 0x0008, CanonicalizeRangeHi },
{ 0x1fda, 0x1fdb, 0x0064, CanonicalizeRangeHi },
{ 0x1fdc, 0x1fdf, 0x0000, CanonicalizeUnique },
{ 0x1fe0, 0x1fe1, 0x0008, CanonicalizeRangeLo },
{ 0x1fe2, 0x1fe4, 0x0000, CanonicalizeUnique },
{ 0x1fe5, 0x1fe5, 0x0007, CanonicalizeRangeLo },
{ 0x1fe6, 0x1fe7, 0x0000, CanonicalizeUnique },
{ 0x1fe8, 0x1fe9, 0x0008, CanonicalizeRangeHi },
{ 0x1fea, 0x1feb, 0x0070, CanonicalizeRangeHi },
{ 0x1fec, 0x1fec, 0x0007, CanonicalizeRangeHi },
{ 0x1fed, 0x1ff2, 0x0000, CanonicalizeUnique },
{ 0x1ff3, 0x1ff3, 0x0009, CanonicalizeRangeLo },
{ 0x1ff4, 0x1ff7, 0x0000, CanonicalizeUnique },
{ 0x1ff8, 0x1ff9, 0x0080, CanonicalizeRangeHi },
{ 0x1ffa, 0x1ffb, 0x007e, CanonicalizeRangeHi },
{ 0x1ffc, 0x1ffc, 0x0009, CanonicalizeRangeHi },
{ 0x1ffd, 0x2125, 0x0000, CanonicalizeUnique },
{ 0x2126, 0x2126, 0x0011, CanonicalizeSet },
{ 0x2127, 0x2129, 0x0000, CanonicalizeUnique },
{ 0x212a, 0x212a, 0x0000, CanonicalizeSet },
{ 0x212b, 0x212b, 0x0002, CanonicalizeSet },
{ 0x212c, 0x2131, 0x0000, CanonicalizeUnique },
{ 0x2132, 0x2132, 0x001c, CanonicalizeRangeLo },
{ 0x2133, 0x214d, 0x0000, CanonicalizeUnique },
{ 0x214e, 0x214e, 0x001c, CanonicalizeRangeHi },
{ 0x214f, 0x215f, 0x0000, CanonicalizeUnique },
{ 0x2160, 0x216f, 0x0010, CanonicalizeRangeLo },
{ 0x2170, 0x217f, 0x0010, CanonicalizeRangeHi },
{ 0x2180, 0x2182, 0x0000, CanonicalizeUnique },
{ 0x2183, 0x2184, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x2185, 0x24b5, 0x0000, CanonicalizeUnique },
{ 0x24b6, 0x24cf, 0x001a, CanonicalizeRangeLo },
{ 0x24d0, 0x24e9, 0x001a, CanonicalizeRangeHi },
{ 0x24ea, 0x2bff, 0x0000, CanonicalizeUnique },
{ 0x2c00, 0x2c2e, 0x0030, CanonicalizeRangeLo },
{ 0x2c2f, 0x2c2f, 0x0000, CanonicalizeUnique },
{ 0x2c30, 0x2c5e, 0x0030, CanonicalizeRangeHi },
{ 0x2c5f, 0x2c5f, 0x0000, CanonicalizeUnique },
{ 0x2c60, 0x2c61, 0x0000, CanonicalizeAlternatingAligned },
{ 0x2c62, 0x2c62, 0x29f7, CanonicalizeRangeHi },
{ 0x2c63, 0x2c63, 0x0ee6, CanonicalizeRangeHi },
{ 0x2c64, 0x2c64, 0x29e7, CanonicalizeRangeHi },
{ 0x2c65, 0x2c65, 0x2a2b, CanonicalizeRangeHi },
{ 0x2c66, 0x2c66, 0x2a28, CanonicalizeRangeHi },
{ 0x2c67, 0x2c6c, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x2c6d, 0x2c6d, 0x2a1c, CanonicalizeRangeHi },
{ 0x2c6e, 0x2c6e, 0x29fd, CanonicalizeRangeHi },
{ 0x2c6f, 0x2c6f, 0x2a1f, CanonicalizeRangeHi },
{ 0x2c70, 0x2c70, 0x2a1e, CanonicalizeRangeHi },
{ 0x2c71, 0x2c71, 0x0000, CanonicalizeUnique },
{ 0x2c72, 0x2c73, 0x0000, CanonicalizeAlternatingAligned },
{ 0x2c74, 0x2c74, 0x0000, CanonicalizeUnique },
{ 0x2c75, 0x2c76, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x2c77, 0x2c7d, 0x0000, CanonicalizeUnique },
{ 0x2c7e, 0x2c7f, 0x2a3f, CanonicalizeRangeHi },
{ 0x2c80, 0x2ce3, 0x0000, CanonicalizeAlternatingAligned },
{ 0x2ce4, 0x2cea, 0x0000, CanonicalizeUnique },
{ 0x2ceb, 0x2cee, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0x2cef, 0x2cf1, 0x0000, CanonicalizeUnique },
{ 0x2cf2, 0x2cf3, 0x0000, CanonicalizeAlternatingAligned },
{ 0x2cf4, 0x2cff, 0x0000, CanonicalizeUnique },
{ 0x2d00, 0x2d25, 0x1c60, CanonicalizeRangeHi },
{ 0x2d26, 0x2d26, 0x0000, CanonicalizeUnique },
{ 0x2d27, 0x2d27, 0x1c60, CanonicalizeRangeHi },
{ 0x2d28, 0x2d2c, 0x0000, CanonicalizeUnique },
{ 0x2d2d, 0x2d2d, 0x1c60, CanonicalizeRangeHi },
{ 0x2d2e, 0xa63f, 0x0000, CanonicalizeUnique },
{ 0xa640, 0xa66d, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa66e, 0xa67f, 0x0000, CanonicalizeUnique },
{ 0xa680, 0xa69b, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa69c, 0xa721, 0x0000, CanonicalizeUnique },
{ 0xa722, 0xa72f, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa730, 0xa731, 0x0000, CanonicalizeUnique },
{ 0xa732, 0xa76f, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa770, 0xa778, 0x0000, CanonicalizeUnique },
{ 0xa779, 0xa77c, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0xa77d, 0xa77d, 0x8a04, CanonicalizeRangeHi },
{ 0xa77e, 0xa787, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa788, 0xa78a, 0x0000, CanonicalizeUnique },
{ 0xa78b, 0xa78c, 0x0000, CanonicalizeAlternatingUnaligned },
{ 0xa78d, 0xa78d, 0xa528, CanonicalizeRangeHi },
{ 0xa78e, 0xa78f, 0x0000, CanonicalizeUnique },
{ 0xa790, 0xa793, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa794, 0xa795, 0x0000, CanonicalizeUnique },
{ 0xa796, 0xa7a9, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa7aa, 0xa7aa, 0xa544, CanonicalizeRangeHi },
{ 0xa7ab, 0xa7ab, 0xa54f, CanonicalizeRangeHi },
{ 0xa7ac, 0xa7ac, 0xa54b, CanonicalizeRangeHi },
{ 0xa7ad, 0xa7ad, 0xa541, CanonicalizeRangeHi },
{ 0xa7ae, 0xa7af, 0x0000, CanonicalizeUnique },
{ 0xa7b0, 0xa7b0, 0xa512, CanonicalizeRangeHi },
{ 0xa7b1, 0xa7b1, 0xa52a, CanonicalizeRangeHi },
{ 0xa7b2, 0xa7b2, 0xa515, CanonicalizeRangeHi },
{ 0xa7b3, 0xa7b3, 0x03a0, CanonicalizeRangeLo },
{ 0xa7b4, 0xa7b7, 0x0000, CanonicalizeAlternatingAligned },
{ 0xa7b8, 0xab52, 0x0000, CanonicalizeUnique },
{ 0xab53, 0xab53, 0x03a0, CanonicalizeRangeHi },
{ 0xab54, 0xab6f, 0x0000, CanonicalizeUnique },
{ 0xab70, 0xabbf, 0x97d0, CanonicalizeRangeHi },
{ 0xabc0, 0xff20, 0x0000, CanonicalizeUnique },
{ 0xff21, 0xff3a, 0x0020, CanonicalizeRangeLo },
{ 0xff3b, 0xff40, 0x0000, CanonicalizeUnique },
{ 0xff41, 0xff5a, 0x0020, CanonicalizeRangeHi },
{ 0xff5b, 0x103ff, 0x0000, CanonicalizeUnique },
{ 0x10400, 0x10427, 0x0028, CanonicalizeRangeLo },
{ 0x10428, 0x1044f, 0x0028, CanonicalizeRangeHi },
{ 0x10450, 0x10c7f, 0x0000, CanonicalizeUnique },
{ 0x10c80, 0x10cb2, 0x0040, CanonicalizeRangeLo },
{ 0x10cb3, 0x10cbf, 0x0000, CanonicalizeUnique },
{ 0x10cc0, 0x10cf2, 0x0040, CanonicalizeRangeHi },
{ 0x10cf3, 0x1189f, 0x0000, CanonicalizeUnique },
{ 0x118a0, 0x118bf, 0x0020, CanonicalizeRangeLo },
{ 0x118c0, 0x118df, 0x0020, CanonicalizeRangeHi },
{ 0x118e0, 0x10ffff, 0x0000, CanonicalizeUnique },
};
} } // JSC::Yarr

View File

@ -0,0 +1,939 @@
#ifndef UD_ITAB_H
#define UD_ITAB_H
/* itab.h -- generated by udis86:scripts/ud_itab.py, do no edit */
/* ud_table_type -- lookup table types (see decode.c) */
enum ud_table_type {
UD_TAB__OPC_VEX,
UD_TAB__OPC_TABLE,
UD_TAB__OPC_X87,
UD_TAB__OPC_MOD,
UD_TAB__OPC_RM,
UD_TAB__OPC_OSIZE,
UD_TAB__OPC_MODE,
UD_TAB__OPC_VEX_L,
UD_TAB__OPC_3DNOW,
UD_TAB__OPC_REG,
UD_TAB__OPC_ASIZE,
UD_TAB__OPC_VEX_W,
UD_TAB__OPC_SSE,
UD_TAB__OPC_VENDOR
};
/* ud_mnemonic -- mnemonic constants */
enum ud_mnemonic_code {
UD_Iaaa,
UD_Iaad,
UD_Iaam,
UD_Iaas,
UD_Iadc,
UD_Iadd,
UD_Iaddpd,
UD_Iaddps,
UD_Iaddsd,
UD_Iaddss,
UD_Iaddsubpd,
UD_Iaddsubps,
UD_Iaesdec,
UD_Iaesdeclast,
UD_Iaesenc,
UD_Iaesenclast,
UD_Iaesimc,
UD_Iaeskeygenassist,
UD_Iand,
UD_Iandnpd,
UD_Iandnps,
UD_Iandpd,
UD_Iandps,
UD_Iarpl,
UD_Iblendpd,
UD_Iblendps,
UD_Iblendvpd,
UD_Iblendvps,
UD_Ibound,
UD_Ibsf,
UD_Ibsr,
UD_Ibswap,
UD_Ibt,
UD_Ibtc,
UD_Ibtr,
UD_Ibts,
UD_Icall,
UD_Icbw,
UD_Icdq,
UD_Icdqe,
UD_Iclc,
UD_Icld,
UD_Iclflush,
UD_Iclgi,
UD_Icli,
UD_Iclts,
UD_Icmc,
UD_Icmova,
UD_Icmovae,
UD_Icmovb,
UD_Icmovbe,
UD_Icmovg,
UD_Icmovge,
UD_Icmovl,
UD_Icmovle,
UD_Icmovno,
UD_Icmovnp,
UD_Icmovns,
UD_Icmovnz,
UD_Icmovo,
UD_Icmovp,
UD_Icmovs,
UD_Icmovz,
UD_Icmp,
UD_Icmppd,
UD_Icmpps,
UD_Icmpsb,
UD_Icmpsd,
UD_Icmpsq,
UD_Icmpss,
UD_Icmpsw,
UD_Icmpxchg,
UD_Icmpxchg16b,
UD_Icmpxchg8b,
UD_Icomisd,
UD_Icomiss,
UD_Icpuid,
UD_Icqo,
UD_Icrc32,
UD_Icvtdq2pd,
UD_Icvtdq2ps,
UD_Icvtpd2dq,
UD_Icvtpd2pi,
UD_Icvtpd2ps,
UD_Icvtpi2pd,
UD_Icvtpi2ps,
UD_Icvtps2dq,
UD_Icvtps2pd,
UD_Icvtps2pi,
UD_Icvtsd2si,
UD_Icvtsd2ss,
UD_Icvtsi2sd,
UD_Icvtsi2ss,
UD_Icvtss2sd,
UD_Icvtss2si,
UD_Icvttpd2dq,
UD_Icvttpd2pi,
UD_Icvttps2dq,
UD_Icvttps2pi,
UD_Icvttsd2si,
UD_Icvttss2si,
UD_Icwd,
UD_Icwde,
UD_Idaa,
UD_Idas,
UD_Idec,
UD_Idiv,
UD_Idivpd,
UD_Idivps,
UD_Idivsd,
UD_Idivss,
UD_Idppd,
UD_Idpps,
UD_Iemms,
UD_Ienter,
UD_Iextractps,
UD_If2xm1,
UD_Ifabs,
UD_Ifadd,
UD_Ifaddp,
UD_Ifbld,
UD_Ifbstp,
UD_Ifchs,
UD_Ifclex,
UD_Ifcmovb,
UD_Ifcmovbe,
UD_Ifcmove,
UD_Ifcmovnb,
UD_Ifcmovnbe,
UD_Ifcmovne,
UD_Ifcmovnu,
UD_Ifcmovu,
UD_Ifcom,
UD_Ifcom2,
UD_Ifcomi,
UD_Ifcomip,
UD_Ifcomp,
UD_Ifcomp3,
UD_Ifcomp5,
UD_Ifcompp,
UD_Ifcos,
UD_Ifdecstp,
UD_Ifdiv,
UD_Ifdivp,
UD_Ifdivr,
UD_Ifdivrp,
UD_Ifemms,
UD_Iffree,
UD_Iffreep,
UD_Ifiadd,
UD_Ificom,
UD_Ificomp,
UD_Ifidiv,
UD_Ifidivr,
UD_Ifild,
UD_Ifimul,
UD_Ifincstp,
UD_Ifist,
UD_Ifistp,
UD_Ifisttp,
UD_Ifisub,
UD_Ifisubr,
UD_Ifld,
UD_Ifld1,
UD_Ifldcw,
UD_Ifldenv,
UD_Ifldl2e,
UD_Ifldl2t,
UD_Ifldlg2,
UD_Ifldln2,
UD_Ifldpi,
UD_Ifldz,
UD_Ifmul,
UD_Ifmulp,
UD_Ifndisi,
UD_Ifneni,
UD_Ifninit,
UD_Ifnop,
UD_Ifnsave,
UD_Ifnsetpm,
UD_Ifnstcw,
UD_Ifnstenv,
UD_Ifnstsw,
UD_Ifpatan,
UD_Ifprem,
UD_Ifprem1,
UD_Ifptan,
UD_Ifrndint,
UD_Ifrstor,
UD_Ifrstpm,
UD_Ifscale,
UD_Ifsin,
UD_Ifsincos,
UD_Ifsqrt,
UD_Ifst,
UD_Ifstp,
UD_Ifstp1,
UD_Ifstp8,
UD_Ifstp9,
UD_Ifsub,
UD_Ifsubp,
UD_Ifsubr,
UD_Ifsubrp,
UD_Iftst,
UD_Ifucom,
UD_Ifucomi,
UD_Ifucomip,
UD_Ifucomp,
UD_Ifucompp,
UD_Ifxam,
UD_Ifxch,
UD_Ifxch4,
UD_Ifxch7,
UD_Ifxrstor,
UD_Ifxsave,
UD_Ifxtract,
UD_Ifyl2x,
UD_Ifyl2xp1,
UD_Igetsec,
UD_Ihaddpd,
UD_Ihaddps,
UD_Ihlt,
UD_Ihsubpd,
UD_Ihsubps,
UD_Iidiv,
UD_Iimul,
UD_Iin,
UD_Iinc,
UD_Iinsb,
UD_Iinsd,
UD_Iinsertps,
UD_Iinsw,
UD_Iint,
UD_Iint1,
UD_Iint3,
UD_Iinto,
UD_Iinvd,
UD_Iinvept,
UD_Iinvlpg,
UD_Iinvlpga,
UD_Iinvvpid,
UD_Iiretd,
UD_Iiretq,
UD_Iiretw,
UD_Ija,
UD_Ijae,
UD_Ijb,
UD_Ijbe,
UD_Ijcxz,
UD_Ijecxz,
UD_Ijg,
UD_Ijge,
UD_Ijl,
UD_Ijle,
UD_Ijmp,
UD_Ijno,
UD_Ijnp,
UD_Ijns,
UD_Ijnz,
UD_Ijo,
UD_Ijp,
UD_Ijrcxz,
UD_Ijs,
UD_Ijz,
UD_Ilahf,
UD_Ilar,
UD_Ilddqu,
UD_Ildmxcsr,
UD_Ilds,
UD_Ilea,
UD_Ileave,
UD_Iles,
UD_Ilfence,
UD_Ilfs,
UD_Ilgdt,
UD_Ilgs,
UD_Ilidt,
UD_Illdt,
UD_Ilmsw,
UD_Ilock,
UD_Ilodsb,
UD_Ilodsd,
UD_Ilodsq,
UD_Ilodsw,
UD_Iloop,
UD_Iloope,
UD_Iloopne,
UD_Ilsl,
UD_Ilss,
UD_Iltr,
UD_Imaskmovdqu,
UD_Imaskmovq,
UD_Imaxpd,
UD_Imaxps,
UD_Imaxsd,
UD_Imaxss,
UD_Imfence,
UD_Iminpd,
UD_Iminps,
UD_Iminsd,
UD_Iminss,
UD_Imonitor,
UD_Imontmul,
UD_Imov,
UD_Imovapd,
UD_Imovaps,
UD_Imovbe,
UD_Imovd,
UD_Imovddup,
UD_Imovdq2q,
UD_Imovdqa,
UD_Imovdqu,
UD_Imovhlps,
UD_Imovhpd,
UD_Imovhps,
UD_Imovlhps,
UD_Imovlpd,
UD_Imovlps,
UD_Imovmskpd,
UD_Imovmskps,
UD_Imovntdq,
UD_Imovntdqa,
UD_Imovnti,
UD_Imovntpd,
UD_Imovntps,
UD_Imovntq,
UD_Imovq,
UD_Imovq2dq,
UD_Imovsb,
UD_Imovsd,
UD_Imovshdup,
UD_Imovsldup,
UD_Imovsq,
UD_Imovss,
UD_Imovsw,
UD_Imovsx,
UD_Imovsxd,
UD_Imovupd,
UD_Imovups,
UD_Imovzx,
UD_Impsadbw,
UD_Imul,
UD_Imulpd,
UD_Imulps,
UD_Imulsd,
UD_Imulss,
UD_Imwait,
UD_Ineg,
UD_Inop,
UD_Inot,
UD_Ior,
UD_Iorpd,
UD_Iorps,
UD_Iout,
UD_Ioutsb,
UD_Ioutsd,
UD_Ioutsw,
UD_Ipabsb,
UD_Ipabsd,
UD_Ipabsw,
UD_Ipackssdw,
UD_Ipacksswb,
UD_Ipackusdw,
UD_Ipackuswb,
UD_Ipaddb,
UD_Ipaddd,
UD_Ipaddq,
UD_Ipaddsb,
UD_Ipaddsw,
UD_Ipaddusb,
UD_Ipaddusw,
UD_Ipaddw,
UD_Ipalignr,
UD_Ipand,
UD_Ipandn,
UD_Ipavgb,
UD_Ipavgusb,
UD_Ipavgw,
UD_Ipblendvb,
UD_Ipblendw,
UD_Ipclmulqdq,
UD_Ipcmpeqb,
UD_Ipcmpeqd,
UD_Ipcmpeqq,
UD_Ipcmpeqw,
UD_Ipcmpestri,
UD_Ipcmpestrm,
UD_Ipcmpgtb,
UD_Ipcmpgtd,
UD_Ipcmpgtq,
UD_Ipcmpgtw,
UD_Ipcmpistri,
UD_Ipcmpistrm,
UD_Ipextrb,
UD_Ipextrd,
UD_Ipextrq,
UD_Ipextrw,
UD_Ipf2id,
UD_Ipf2iw,
UD_Ipfacc,
UD_Ipfadd,
UD_Ipfcmpeq,
UD_Ipfcmpge,
UD_Ipfcmpgt,
UD_Ipfmax,
UD_Ipfmin,
UD_Ipfmul,
UD_Ipfnacc,
UD_Ipfpnacc,
UD_Ipfrcp,
UD_Ipfrcpit1,
UD_Ipfrcpit2,
UD_Ipfrsqit1,
UD_Ipfrsqrt,
UD_Ipfsub,
UD_Ipfsubr,
UD_Iphaddd,
UD_Iphaddsw,
UD_Iphaddw,
UD_Iphminposuw,
UD_Iphsubd,
UD_Iphsubsw,
UD_Iphsubw,
UD_Ipi2fd,
UD_Ipi2fw,
UD_Ipinsrb,
UD_Ipinsrd,
UD_Ipinsrq,
UD_Ipinsrw,
UD_Ipmaddubsw,
UD_Ipmaddwd,
UD_Ipmaxsb,
UD_Ipmaxsd,
UD_Ipmaxsw,
UD_Ipmaxub,
UD_Ipmaxud,
UD_Ipmaxuw,
UD_Ipminsb,
UD_Ipminsd,
UD_Ipminsw,
UD_Ipminub,
UD_Ipminud,
UD_Ipminuw,
UD_Ipmovmskb,
UD_Ipmovsxbd,
UD_Ipmovsxbq,
UD_Ipmovsxbw,
UD_Ipmovsxdq,
UD_Ipmovsxwd,
UD_Ipmovsxwq,
UD_Ipmovzxbd,
UD_Ipmovzxbq,
UD_Ipmovzxbw,
UD_Ipmovzxdq,
UD_Ipmovzxwd,
UD_Ipmovzxwq,
UD_Ipmuldq,
UD_Ipmulhrsw,
UD_Ipmulhrw,
UD_Ipmulhuw,
UD_Ipmulhw,
UD_Ipmulld,
UD_Ipmullw,
UD_Ipmuludq,
UD_Ipop,
UD_Ipopa,
UD_Ipopad,
UD_Ipopcnt,
UD_Ipopfd,
UD_Ipopfq,
UD_Ipopfw,
UD_Ipor,
UD_Iprefetch,
UD_Iprefetchnta,
UD_Iprefetcht0,
UD_Iprefetcht1,
UD_Iprefetcht2,
UD_Ipsadbw,
UD_Ipshufb,
UD_Ipshufd,
UD_Ipshufhw,
UD_Ipshuflw,
UD_Ipshufw,
UD_Ipsignb,
UD_Ipsignd,
UD_Ipsignw,
UD_Ipslld,
UD_Ipslldq,
UD_Ipsllq,
UD_Ipsllw,
UD_Ipsrad,
UD_Ipsraw,
UD_Ipsrld,
UD_Ipsrldq,
UD_Ipsrlq,
UD_Ipsrlw,
UD_Ipsubb,
UD_Ipsubd,
UD_Ipsubq,
UD_Ipsubsb,
UD_Ipsubsw,
UD_Ipsubusb,
UD_Ipsubusw,
UD_Ipsubw,
UD_Ipswapd,
UD_Iptest,
UD_Ipunpckhbw,
UD_Ipunpckhdq,
UD_Ipunpckhqdq,
UD_Ipunpckhwd,
UD_Ipunpcklbw,
UD_Ipunpckldq,
UD_Ipunpcklqdq,
UD_Ipunpcklwd,
UD_Ipush,
UD_Ipusha,
UD_Ipushad,
UD_Ipushfd,
UD_Ipushfq,
UD_Ipushfw,
UD_Ipxor,
UD_Ircl,
UD_Ircpps,
UD_Ircpss,
UD_Ircr,
UD_Irdmsr,
UD_Irdpmc,
UD_Irdrand,
UD_Irdtsc,
UD_Irdtscp,
UD_Irep,
UD_Irepne,
UD_Iret,
UD_Iretf,
UD_Irol,
UD_Iror,
UD_Iroundpd,
UD_Iroundps,
UD_Iroundsd,
UD_Iroundss,
UD_Irsm,
UD_Irsqrtps,
UD_Irsqrtss,
UD_Isahf,
UD_Isalc,
UD_Isar,
UD_Isbb,
UD_Iscasb,
UD_Iscasd,
UD_Iscasq,
UD_Iscasw,
UD_Iseta,
UD_Isetae,
UD_Isetb,
UD_Isetbe,
UD_Isetg,
UD_Isetge,
UD_Isetl,
UD_Isetle,
UD_Isetno,
UD_Isetnp,
UD_Isetns,
UD_Isetnz,
UD_Iseto,
UD_Isetp,
UD_Isets,
UD_Isetz,
UD_Isfence,
UD_Isgdt,
UD_Ishl,
UD_Ishld,
UD_Ishr,
UD_Ishrd,
UD_Ishufpd,
UD_Ishufps,
UD_Isidt,
UD_Iskinit,
UD_Isldt,
UD_Ismsw,
UD_Isqrtpd,
UD_Isqrtps,
UD_Isqrtsd,
UD_Isqrtss,
UD_Istc,
UD_Istd,
UD_Istgi,
UD_Isti,
UD_Istmxcsr,
UD_Istosb,
UD_Istosd,
UD_Istosq,
UD_Istosw,
UD_Istr,
UD_Isub,
UD_Isubpd,
UD_Isubps,
UD_Isubsd,
UD_Isubss,
UD_Iswapgs,
UD_Isyscall,
UD_Isysenter,
UD_Isysexit,
UD_Isysret,
UD_Itest,
UD_Iucomisd,
UD_Iucomiss,
UD_Iud2,
UD_Iunpckhpd,
UD_Iunpckhps,
UD_Iunpcklpd,
UD_Iunpcklps,
UD_Ivaddpd,
UD_Ivaddps,
UD_Ivaddsd,
UD_Ivaddss,
UD_Ivaddsubpd,
UD_Ivaddsubps,
UD_Ivaesdec,
UD_Ivaesdeclast,
UD_Ivaesenc,
UD_Ivaesenclast,
UD_Ivaesimc,
UD_Ivaeskeygenassist,
UD_Ivandnpd,
UD_Ivandnps,
UD_Ivandpd,
UD_Ivandps,
UD_Ivblendpd,
UD_Ivblendps,
UD_Ivblendvpd,
UD_Ivblendvps,
UD_Ivbroadcastsd,
UD_Ivbroadcastss,
UD_Ivcmppd,
UD_Ivcmpps,
UD_Ivcmpsd,
UD_Ivcmpss,
UD_Ivcomisd,
UD_Ivcomiss,
UD_Ivcvtdq2pd,
UD_Ivcvtdq2ps,
UD_Ivcvtpd2dq,
UD_Ivcvtpd2ps,
UD_Ivcvtps2dq,
UD_Ivcvtps2pd,
UD_Ivcvtsd2si,
UD_Ivcvtsd2ss,
UD_Ivcvtsi2sd,
UD_Ivcvtsi2ss,
UD_Ivcvtss2sd,
UD_Ivcvtss2si,
UD_Ivcvttpd2dq,
UD_Ivcvttps2dq,
UD_Ivcvttsd2si,
UD_Ivcvttss2si,
UD_Ivdivpd,
UD_Ivdivps,
UD_Ivdivsd,
UD_Ivdivss,
UD_Ivdppd,
UD_Ivdpps,
UD_Iverr,
UD_Iverw,
UD_Ivextractf128,
UD_Ivextractps,
UD_Ivhaddpd,
UD_Ivhaddps,
UD_Ivhsubpd,
UD_Ivhsubps,
UD_Ivinsertf128,
UD_Ivinsertps,
UD_Ivlddqu,
UD_Ivmaskmovdqu,
UD_Ivmaskmovpd,
UD_Ivmaskmovps,
UD_Ivmaxpd,
UD_Ivmaxps,
UD_Ivmaxsd,
UD_Ivmaxss,
UD_Ivmcall,
UD_Ivmclear,
UD_Ivminpd,
UD_Ivminps,
UD_Ivminsd,
UD_Ivminss,
UD_Ivmlaunch,
UD_Ivmload,
UD_Ivmmcall,
UD_Ivmovapd,
UD_Ivmovaps,
UD_Ivmovd,
UD_Ivmovddup,
UD_Ivmovdqa,
UD_Ivmovdqu,
UD_Ivmovhlps,
UD_Ivmovhpd,
UD_Ivmovhps,
UD_Ivmovlhps,
UD_Ivmovlpd,
UD_Ivmovlps,
UD_Ivmovmskpd,
UD_Ivmovmskps,
UD_Ivmovntdq,
UD_Ivmovntdqa,
UD_Ivmovntpd,
UD_Ivmovntps,
UD_Ivmovq,
UD_Ivmovsd,
UD_Ivmovshdup,
UD_Ivmovsldup,
UD_Ivmovss,
UD_Ivmovupd,
UD_Ivmovups,
UD_Ivmpsadbw,
UD_Ivmptrld,
UD_Ivmptrst,
UD_Ivmread,
UD_Ivmresume,
UD_Ivmrun,
UD_Ivmsave,
UD_Ivmulpd,
UD_Ivmulps,
UD_Ivmulsd,
UD_Ivmulss,
UD_Ivmwrite,
UD_Ivmxoff,
UD_Ivmxon,
UD_Ivorpd,
UD_Ivorps,
UD_Ivpabsb,
UD_Ivpabsd,
UD_Ivpabsw,
UD_Ivpackssdw,
UD_Ivpacksswb,
UD_Ivpackusdw,
UD_Ivpackuswb,
UD_Ivpaddb,
UD_Ivpaddd,
UD_Ivpaddq,
UD_Ivpaddsb,
UD_Ivpaddsw,
UD_Ivpaddusb,
UD_Ivpaddusw,
UD_Ivpaddw,
UD_Ivpalignr,
UD_Ivpand,
UD_Ivpandn,
UD_Ivpavgb,
UD_Ivpavgw,
UD_Ivpblendvb,
UD_Ivpblendw,
UD_Ivpclmulqdq,
UD_Ivpcmpeqb,
UD_Ivpcmpeqd,
UD_Ivpcmpeqq,
UD_Ivpcmpeqw,
UD_Ivpcmpestri,
UD_Ivpcmpestrm,
UD_Ivpcmpgtb,
UD_Ivpcmpgtd,
UD_Ivpcmpgtq,
UD_Ivpcmpgtw,
UD_Ivpcmpistri,
UD_Ivpcmpistrm,
UD_Ivperm2f128,
UD_Ivpermilpd,
UD_Ivpermilps,
UD_Ivpextrb,
UD_Ivpextrd,
UD_Ivpextrq,
UD_Ivpextrw,
UD_Ivphaddd,
UD_Ivphaddsw,
UD_Ivphaddw,
UD_Ivphminposuw,
UD_Ivphsubd,
UD_Ivphsubsw,
UD_Ivphsubw,
UD_Ivpinsrb,
UD_Ivpinsrd,
UD_Ivpinsrq,
UD_Ivpinsrw,
UD_Ivpmaddubsw,
UD_Ivpmaddwd,
UD_Ivpmaxsb,
UD_Ivpmaxsd,
UD_Ivpmaxsw,
UD_Ivpmaxub,
UD_Ivpmaxud,
UD_Ivpmaxuw,
UD_Ivpminsb,
UD_Ivpminsd,
UD_Ivpminsw,
UD_Ivpminub,
UD_Ivpminud,
UD_Ivpminuw,
UD_Ivpmovmskb,
UD_Ivpmovsxbd,
UD_Ivpmovsxbq,
UD_Ivpmovsxbw,
UD_Ivpmovsxwd,
UD_Ivpmovsxwq,
UD_Ivpmovzxbd,
UD_Ivpmovzxbq,
UD_Ivpmovzxbw,
UD_Ivpmovzxdq,
UD_Ivpmovzxwd,
UD_Ivpmovzxwq,
UD_Ivpmuldq,
UD_Ivpmulhrsw,
UD_Ivpmulhuw,
UD_Ivpmulhw,
UD_Ivpmulld,
UD_Ivpmullw,
UD_Ivpor,
UD_Ivpsadbw,
UD_Ivpshufb,
UD_Ivpshufd,
UD_Ivpshufhw,
UD_Ivpshuflw,
UD_Ivpsignb,
UD_Ivpsignd,
UD_Ivpsignw,
UD_Ivpslld,
UD_Ivpslldq,
UD_Ivpsllq,
UD_Ivpsllw,
UD_Ivpsrad,
UD_Ivpsraw,
UD_Ivpsrld,
UD_Ivpsrldq,
UD_Ivpsrlq,
UD_Ivpsrlw,
UD_Ivpsubb,
UD_Ivpsubd,
UD_Ivpsubq,
UD_Ivpsubsb,
UD_Ivpsubsw,
UD_Ivpsubusb,
UD_Ivpsubusw,
UD_Ivpsubw,
UD_Ivptest,
UD_Ivpunpckhbw,
UD_Ivpunpckhdq,
UD_Ivpunpckhqdq,
UD_Ivpunpckhwd,
UD_Ivpunpcklbw,
UD_Ivpunpckldq,
UD_Ivpunpcklqdq,
UD_Ivpunpcklwd,
UD_Ivpxor,
UD_Ivrcpps,
UD_Ivrcpss,
UD_Ivroundpd,
UD_Ivroundps,
UD_Ivroundsd,
UD_Ivroundss,
UD_Ivrsqrtps,
UD_Ivrsqrtss,
UD_Ivshufpd,
UD_Ivshufps,
UD_Ivsqrtpd,
UD_Ivsqrtps,
UD_Ivsqrtsd,
UD_Ivsqrtss,
UD_Ivstmxcsr,
UD_Ivsubpd,
UD_Ivsubps,
UD_Ivsubsd,
UD_Ivsubss,
UD_Ivtestpd,
UD_Ivtestps,
UD_Ivucomisd,
UD_Ivucomiss,
UD_Ivunpckhpd,
UD_Ivunpckhps,
UD_Ivunpcklpd,
UD_Ivunpcklps,
UD_Ivxorpd,
UD_Ivxorps,
UD_Ivzeroall,
UD_Ivzeroupper,
UD_Iwait,
UD_Iwbinvd,
UD_Iwrmsr,
UD_Ixadd,
UD_Ixchg,
UD_Ixcryptcbc,
UD_Ixcryptcfb,
UD_Ixcryptctr,
UD_Ixcryptecb,
UD_Ixcryptofb,
UD_Ixgetbv,
UD_Ixlatb,
UD_Ixor,
UD_Ixorpd,
UD_Ixorps,
UD_Ixrstor,
UD_Ixsave,
UD_Ixsetbv,
UD_Ixsha1,
UD_Ixsha256,
UD_Ixstore,
UD_Iinvalid,
UD_I3dnow,
UD_Inone,
UD_Idb,
UD_Ipause,
UD_MAX_MNEMONIC_CODE
};
extern const char * ud_mnemonics_str[];
#endif /* UD_ITAB_H */