Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
9개월 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
32 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
138 행
복사
72 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
172 행
복사
#include "hermes/VM/static_h.h"
#include "hermes/VM/static_h.h"
#include <stdlib.h>
#include <stdlib.h>
복사
복사됨
복사
복사됨
static uint32_t unit_index;
static uint32_t unit_index;
static inline SHSymbolID *get_symbols(SHUnit *);
static inline SHSymbolID *get_symbols(SHUnit *);
static inline SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *);
static inline SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *);
static inline SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *);
static inline SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *);
static inline SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *);
static inline SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *);
static const SHSrcLoc s_source_locations[];
static const SHSrcLoc s_source_locations[];
static SHNativeFuncInfo s_function_info_table[];
static SHNativeFuncInfo s_function_info_table[];
static SHLegacyValue _0_global(SHRuntime *shr);
static SHLegacyValue _0_global(SHRuntime *shr);
복사
복사됨
복사
복사됨
// index
.js:1:1
static SHLegacyValue _1_add(SHRuntime *shr);
// index
2
.js:1:1
static SHLegacyValue _0_global(SHRuntime *shr)
static SHLegacyValue _0_global(SHRuntime *shr)
{
{
_SH_MODEL();
_SH_MODEL();
struct
struct
{
{
SHLocals head;
SHLocals head;
SHLegacyValue t0;
SHLegacyValue t0;
SHLegacyValue t1;
SHLegacyValue t1;
} locals;
} locals;
_sh_check_native_stack_overflow(shr);
_sh_check_native_stack_overflow(shr);
SHLegacyValue *frame = _sh_enter(shr, &locals.head, 10);
SHLegacyValue *frame = _sh_enter(shr, &locals.head, 10);
locals.head.count = 2;
locals.head.count = 2;
SHUnit *shUnit = shr->units[unit_index];
SHUnit *shUnit = shr->units[unit_index];
locals.t0 = _sh_ljs_undefined();
locals.t0 = _sh_ljs_undefined();
locals.t1 = _sh_ljs_undefined();
locals.t1 = _sh_ljs_undefined();
SHLegacyValue np0 = _sh_ljs_undefined();
SHLegacyValue np0 = _sh_ljs_undefined();
SHLegacyValue np1 = _sh_ljs_undefined();
SHLegacyValue np1 = _sh_ljs_undefined();
L0:;
L0:;
복사
복사됨
복사
복사됨
locals.
t1
= _sh_ljs_get_global_object(shr);
_sh_ljs_declare_global_var(shr, get_symbols(shUnit)[1] /*add*/);
frame[3]
= _sh_ljs_
try_get
_by_id_
rjs(shr,
&locals.
t1
, get_symbols(shUnit)[1] /*
print
*/,
get_
read
_prop_cache(shUnit) + 0);
locals.
t0
= _sh_ljs_get_global_object(shr);
locals.t1 = _sh_ljs_try_get_by_id_rjs(shr, &locals.
t1
, get_symbols(shUnit)[2] /*
globalThis
*/, get_read_prop_cache(shUnit) +
1
);
locals.t1
= _sh_ljs_
create_closure(shr, NULL, _1_add, &s_function_info_table[1], shUnit);
locals.t1
= _sh_ljs_get_by_id_rjs(shr, &locals.
t1
, get_symbols(shUnit)[
3
] /*
value
*/, get_read_prop_cache(shUnit) +
2
);
_sh_ljs_put
_by_id_
loose_
rjs(shr,
shUnit,
&locals.
t0
, get_symbols(shUnit)[1] /*
add
*/,
&locals.t1,
get_
write
_prop_cache(shUnit) + 0);
np0
= _sh_ljs_double(1);
locals.t1 = _sh_ljs_try_get_by_id_rjs(shr, &locals.
t0
, get_symbols(shUnit)[2] /*
print
*/, get_read_prop_cache(shUnit) +
0
);
locals.t1 = _sh_ljs_add_rjs(shr, &np0, &locals.t1);
frame[3]
= _sh_ljs_get_by_id_rjs(shr, &locals.
t0
, get_symbols(shUnit)[
1
] /*
add
*/, get_read_prop_cache(shUnit) +
1
);
if (!(_sh_ljs_is_double(locals.t1)))
frame[1]
= _sh_ljs_double(1);
_sh_throw_type_error_ascii(shr, "Checked cast failed");
frame[1] = locals.t1;
np0 = _sh_ljs_undefined();
np0 = _sh_ljs_undefined();
frame[4] = _sh_ljs_undefined();
frame[4] = _sh_ljs_undefined();
frame[2] = _sh_ljs_undefined();
frame[2] = _sh_ljs_undefined();
복사
복사됨
복사
복사됨
frame[1] = _sh_ljs_call(shr, frame, 1);
frame[4] = _sh_ljs_undefined();
frame[3] = locals.t1;
frame[2] = _sh_ljs_undefined();
locals.t0 = _sh_ljs_call(shr, frame, 1);
locals.t0 = _sh_ljs_call(shr, frame, 1);
_sh_leave(shr, &locals.head, frame);
_sh_leave(shr, &locals.head, frame);
복사
복사됨
복사
복사됨
return
np0;
return
locals.t0;
}
// index2.js:1:1
static SHLegacyValue _1_add(SHRuntime *shr)
{
struct
{
SHLocals head;
SHLegacyValue t0;
SHLegacyValue t1;
} locals;
_sh_check_native_stack_overflow(shr);
SHLegacyValue *frame = _sh_enter(shr, &locals.head, 1);
locals.head.count = 2;
SHUnit *shUnit = shr->units[unit_index];
locals.t0 = _sh_ljs_undefined();
locals.t1 = _sh_ljs_undefined();
L0:;
locals.t0 = _sh_ljs_get_global_object(shr);
locals.t0 = _sh_ljs_try_get_by_id_rjs(shr, &locals.t0, get_symbols(shUnit)[3] /*globalThis*/, get_read_prop_cache(shUnit) + 2);
locals.t1 = _sh_ljs_get_by_id_rjs(shr, &locals.t0, get_symbols(shUnit)[4] /*value*/, get_read_prop_cache(shUnit) + 3);
locals.t0 = _sh_ljs_param(frame, 1);
locals.t0 = _sh_ljs_add_rjs(shr, &locals.t0, &locals.t1);
_sh_leave(shr, &locals.head, frame);
return locals.t0;
}
}
static unsigned char s_literal_val_buffer[0] = {};
static unsigned char s_literal_val_buffer[0] = {};
static unsigned char s_obj_key_buffer[0] = {};
static unsigned char s_obj_key_buffer[0] = {};
static const SHShapeTableEntry s_obj_shape_table[] = {};
static const SHShapeTableEntry s_obj_shape_table[] = {};
static const SHSrcLoc s_source_locations[] = {
static const SHSrcLoc s_source_locations[] = {
{.filename_idx = 0, .line = 0, .column = 0},
{.filename_idx = 0, .line = 0, .column = 0},
};
};
static SHNativeFuncInfo s_function_info_table[] = {
static SHNativeFuncInfo s_function_info_table[] = {
복사
복사됨
복사
복사됨
{.name_index =
4
, .arg_count = 0, .prohibit_invoke = 2, .kind = 0},
{.name_index =
5
, .arg_count = 0, .prohibit_invoke = 2, .kind = 0},
{.name_index = 1, .arg_count = 1, .prohibit_invoke = 2, .kind = 0},
};
};
static const char s_ascii_pool[] = {
static const char s_ascii_pool[] = {
'\0',
'\0',
복사
복사됨
복사
복사됨
'a',
'd',
'd',
'\0',
'p',
'p',
'r',
'r',
'i',
'i',
'n',
'n',
't',
't',
'\0',
'\0',
'g',
'g',
'l',
'l',
'o',
'o',
'b',
'b',
'a',
'a',
'l',
'l',
'T',
'T',
'h',
'h',
'i',
'i',
's',
's',
'\0',
'\0',
'v',
'v',
'a',
'a',
'l',
'l',
'u',
'u',
'e',
'e',
'\0',
'\0',
'g',
'g',
'l',
'l',
'o',
'o',
'b',
'b',
'a',
'a',
'l',
'l',
'\0',
'\0',
};
};
static const char16_t s_u16_pool[] = {};
static const char16_t s_u16_pool[] = {};
static const uint32_t s_strings[] = {
static const uint32_t s_strings[] = {
0,
0,
0,
0,
0,
0,
1,
1,
복사
복사됨
복사
복사됨
3,
1492819387,
5,
5,
5,
2794059355,
2794059355,
복사
복사됨
복사
복사됨
7
,
11
,
10,
10,
4077459857,
4077459857,
복사
복사됨
복사
복사됨
18
,
22
,
5,
5,
3746588989,
3746588989,
복사
복사됨
복사
복사됨
24
,
28
,
6,
6,
615793799,
615793799,
};
};
#define CREATE_THIS_UNIT sh_export_this_unit struct UnitData
#define CREATE_THIS_UNIT sh_export_this_unit struct UnitData
{
{
SHUnit unit;
SHUnit unit;
복사
복사됨
복사
복사됨
SHSymbolID symbol_data[
5
];
SHSymbolID symbol_data[
6
];
SHWritePropertyCacheEntry write_prop_cache_data[
0
];
SHWritePropertyCacheEntry write_prop_cache_data[
1
];
SHReadPropertyCacheEntry read_prop_cache_data[
3
];
SHReadPropertyCacheEntry read_prop_cache_data[
4
];
SHPrivateNameCacheEntry private_name_cache_data[0];
SHPrivateNameCacheEntry private_name_cache_data[0];
SHCompressedPointer object_literal_class_cache[0];
SHCompressedPointer object_literal_class_cache[0];
};
};
SHUnit *CREATE_THIS_UNIT(void)
SHUnit *CREATE_THIS_UNIT(void)
{
{
struct UnitData *unit_data = calloc(sizeof(struct UnitData), 1);
struct UnitData *unit_data = calloc(sizeof(struct UnitData), 1);
복사
복사됨
복사
복사됨
*unit_data = (struct UnitData){.unit = {.index = &unit_index, .num_symbols =
5
, .num_write_prop_cache_entries =
0
, .num_read_prop_cache_entries =
3
, .ascii_pool = s_ascii_pool, .u16_pool = s_u16_pool, .strings = s_strings, .symbols = unit_data->symbol_data, .write_prop_cache = unit_data->write_prop_cache_data, .read_prop_cache = unit_data->read_prop_cache_data, .private_name_cache = unit_data->private_name_cache_data, .obj_key_buffer = s_obj_key_buffer, .obj_key_buffer_size = 0, .literal_val_buffer = s_literal_val_buffer, .literal_val_buffer_size = 0, .obj_shape_table = s_obj_shape_table, .obj_shape_table_count = 0, .object_literal_class_cache = unit_data->object_literal_class_cache, .source_locations = s_source_locations, .source_locations_size = 1, .unit_main = _0_global, .unit_main_info = &s_function_info_table[0], .unit_name = "sh_compiled"}};
*unit_data = (struct UnitData){.unit = {.index = &unit_index, .num_symbols =
6
, .num_write_prop_cache_entries =
1
, .num_read_prop_cache_entries =
4
, .ascii_pool = s_ascii_pool, .u16_pool = s_u16_pool, .strings = s_strings, .symbols = unit_data->symbol_data, .write_prop_cache = unit_data->write_prop_cache_data, .read_prop_cache = unit_data->read_prop_cache_data, .private_name_cache = unit_data->private_name_cache_data, .obj_key_buffer = s_obj_key_buffer, .obj_key_buffer_size = 0, .literal_val_buffer = s_literal_val_buffer, .literal_val_buffer_size = 0, .obj_shape_table = s_obj_shape_table, .obj_shape_table_count = 0, .object_literal_class_cache = unit_data->object_literal_class_cache, .source_locations = s_source_locations, .source_locations_size = 1, .unit_main = _0_global, .unit_main_info = &s_function_info_table[0], .unit_name = "sh_compiled"}};
return (SHUnit *)unit_data;
return (SHUnit *)unit_data;
}
}
SHSymbolID *get_symbols(SHUnit *unit) { return ((struct UnitData *)unit)->symbol_data; }
SHSymbolID *get_symbols(SHUnit *unit) { return ((struct UnitData *)unit)->symbol_data; }
SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->write_prop_cache_data; }
SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->write_prop_cache_data; }
SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->read_prop_cache_data; }
SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->read_prop_cache_data; }
SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *unit) { return ((struct UnitData *)unit)->private_name_cache_data; }
SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *unit) { return ((struct UnitData *)unit)->private_name_cache_data; }
typedef struct SHConsoleContext SHConsoleContext;
typedef struct SHConsoleContext SHConsoleContext;
SHConsoleContext *init_console_bindings(SHRuntime *shr);
SHConsoleContext *init_console_bindings(SHRuntime *shr);
void free_console_context(SHConsoleContext *consoleContext);
void free_console_context(SHConsoleContext *consoleContext);
bool run_event_loop(SHRuntime *shr, SHConsoleContext *consoleContext);
bool run_event_loop(SHRuntime *shr, SHConsoleContext *consoleContext);
int main(int argc, char **argv)
int main(int argc, char **argv)
{
{
SHRuntime *shr = _sh_init(argc, argv);
SHRuntime *shr = _sh_init(argc, argv);
SHConsoleContext *consoleContext = init_console_bindings(shr);
SHConsoleContext *consoleContext = init_console_bindings(shr);
bool success = _sh_initialize_units(shr, 1, CREATE_THIS_UNIT) && run_event_loop(shr, consoleContext);
bool success = _sh_initialize_units(shr, 1, CREATE_THIS_UNIT) && run_event_loop(shr, consoleContext);
free_console_context(consoleContext);
free_console_context(consoleContext);
_sh_done(shr);
_sh_done(shr);
return success ? 0 : 1;
return success ? 0 : 1;
}
}
저장된 비교 결과
원본
파일 열기
#include "hermes/VM/static_h.h" #include <stdlib.h> static uint32_t unit_index; static inline SHSymbolID *get_symbols(SHUnit *); static inline SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *); static inline SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *); static inline SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *); static const SHSrcLoc s_source_locations[]; static SHNativeFuncInfo s_function_info_table[]; static SHLegacyValue _0_global(SHRuntime *shr); // index.js:1:1 static SHLegacyValue _0_global(SHRuntime *shr) { _SH_MODEL(); struct { SHLocals head; SHLegacyValue t0; SHLegacyValue t1; } locals; _sh_check_native_stack_overflow(shr); SHLegacyValue *frame = _sh_enter(shr, &locals.head, 10); locals.head.count = 2; SHUnit *shUnit = shr->units[unit_index]; locals.t0 = _sh_ljs_undefined(); locals.t1 = _sh_ljs_undefined(); SHLegacyValue np0 = _sh_ljs_undefined(); SHLegacyValue np1 = _sh_ljs_undefined(); L0:; locals.t1 = _sh_ljs_get_global_object(shr); frame[3] = _sh_ljs_try_get_by_id_rjs(shr, &locals.t1, get_symbols(shUnit)[1] /*print*/, get_read_prop_cache(shUnit) + 0); locals.t1 = _sh_ljs_try_get_by_id_rjs(shr, &locals.t1, get_symbols(shUnit)[2] /*globalThis*/, get_read_prop_cache(shUnit) + 1); locals.t1 = _sh_ljs_get_by_id_rjs(shr, &locals.t1, get_symbols(shUnit)[3] /*value*/, get_read_prop_cache(shUnit) + 2); np0 = _sh_ljs_double(1); locals.t1 = _sh_ljs_add_rjs(shr, &np0, &locals.t1); if (!(_sh_ljs_is_double(locals.t1))) _sh_throw_type_error_ascii(shr, "Checked cast failed"); frame[1] = locals.t1; np0 = _sh_ljs_undefined(); frame[4] = _sh_ljs_undefined(); frame[2] = _sh_ljs_undefined(); locals.t0 = _sh_ljs_call(shr, frame, 1); _sh_leave(shr, &locals.head, frame); return np0; } static unsigned char s_literal_val_buffer[0] = {}; static unsigned char s_obj_key_buffer[0] = {}; static const SHShapeTableEntry s_obj_shape_table[] = {}; static const SHSrcLoc s_source_locations[] = { {.filename_idx = 0, .line = 0, .column = 0}, }; static SHNativeFuncInfo s_function_info_table[] = { {.name_index = 4, .arg_count = 0, .prohibit_invoke = 2, .kind = 0}, }; static const char s_ascii_pool[] = { '\0', 'p', 'r', 'i', 'n', 't', '\0', 'g', 'l', 'o', 'b', 'a', 'l', 'T', 'h', 'i', 's', '\0', 'v', 'a', 'l', 'u', 'e', '\0', 'g', 'l', 'o', 'b', 'a', 'l', '\0', }; static const char16_t s_u16_pool[] = {}; static const uint32_t s_strings[] = { 0, 0, 0, 1, 5, 2794059355, 7, 10, 4077459857, 18, 5, 3746588989, 24, 6, 615793799, }; #define CREATE_THIS_UNIT sh_export_this_unit struct UnitData { SHUnit unit; SHSymbolID symbol_data[5]; SHWritePropertyCacheEntry write_prop_cache_data[0]; SHReadPropertyCacheEntry read_prop_cache_data[3]; SHPrivateNameCacheEntry private_name_cache_data[0]; SHCompressedPointer object_literal_class_cache[0]; }; SHUnit *CREATE_THIS_UNIT(void) { struct UnitData *unit_data = calloc(sizeof(struct UnitData), 1); *unit_data = (struct UnitData){.unit = {.index = &unit_index, .num_symbols = 5, .num_write_prop_cache_entries = 0, .num_read_prop_cache_entries = 3, .ascii_pool = s_ascii_pool, .u16_pool = s_u16_pool, .strings = s_strings, .symbols = unit_data->symbol_data, .write_prop_cache = unit_data->write_prop_cache_data, .read_prop_cache = unit_data->read_prop_cache_data, .private_name_cache = unit_data->private_name_cache_data, .obj_key_buffer = s_obj_key_buffer, .obj_key_buffer_size = 0, .literal_val_buffer = s_literal_val_buffer, .literal_val_buffer_size = 0, .obj_shape_table = s_obj_shape_table, .obj_shape_table_count = 0, .object_literal_class_cache = unit_data->object_literal_class_cache, .source_locations = s_source_locations, .source_locations_size = 1, .unit_main = _0_global, .unit_main_info = &s_function_info_table[0], .unit_name = "sh_compiled"}}; return (SHUnit *)unit_data; } SHSymbolID *get_symbols(SHUnit *unit) { return ((struct UnitData *)unit)->symbol_data; } SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->write_prop_cache_data; } SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->read_prop_cache_data; } SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *unit) { return ((struct UnitData *)unit)->private_name_cache_data; } typedef struct SHConsoleContext SHConsoleContext; SHConsoleContext *init_console_bindings(SHRuntime *shr); void free_console_context(SHConsoleContext *consoleContext); bool run_event_loop(SHRuntime *shr, SHConsoleContext *consoleContext); int main(int argc, char **argv) { SHRuntime *shr = _sh_init(argc, argv); SHConsoleContext *consoleContext = init_console_bindings(shr); bool success = _sh_initialize_units(shr, 1, CREATE_THIS_UNIT) && run_event_loop(shr, consoleContext); free_console_context(consoleContext); _sh_done(shr); return success ? 0 : 1; }
수정본
파일 열기
#include "hermes/VM/static_h.h" #include <stdlib.h> static uint32_t unit_index; static inline SHSymbolID *get_symbols(SHUnit *); static inline SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *); static inline SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *); static inline SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *); static const SHSrcLoc s_source_locations[]; static SHNativeFuncInfo s_function_info_table[]; static SHLegacyValue _0_global(SHRuntime *shr); static SHLegacyValue _1_add(SHRuntime *shr); // index2.js:1:1 static SHLegacyValue _0_global(SHRuntime *shr) { _SH_MODEL(); struct { SHLocals head; SHLegacyValue t0; SHLegacyValue t1; } locals; _sh_check_native_stack_overflow(shr); SHLegacyValue *frame = _sh_enter(shr, &locals.head, 10); locals.head.count = 2; SHUnit *shUnit = shr->units[unit_index]; locals.t0 = _sh_ljs_undefined(); locals.t1 = _sh_ljs_undefined(); SHLegacyValue np0 = _sh_ljs_undefined(); SHLegacyValue np1 = _sh_ljs_undefined(); L0:; _sh_ljs_declare_global_var(shr, get_symbols(shUnit)[1] /*add*/); locals.t0 = _sh_ljs_get_global_object(shr); locals.t1 = _sh_ljs_create_closure(shr, NULL, _1_add, &s_function_info_table[1], shUnit); _sh_ljs_put_by_id_loose_rjs(shr, shUnit, &locals.t0, get_symbols(shUnit)[1] /*add*/, &locals.t1, get_write_prop_cache(shUnit) + 0); locals.t1 = _sh_ljs_try_get_by_id_rjs(shr, &locals.t0, get_symbols(shUnit)[2] /*print*/, get_read_prop_cache(shUnit) + 0); frame[3] = _sh_ljs_get_by_id_rjs(shr, &locals.t0, get_symbols(shUnit)[1] /*add*/, get_read_prop_cache(shUnit) + 1); frame[1] = _sh_ljs_double(1); np0 = _sh_ljs_undefined(); frame[4] = _sh_ljs_undefined(); frame[2] = _sh_ljs_undefined(); frame[1] = _sh_ljs_call(shr, frame, 1); frame[4] = _sh_ljs_undefined(); frame[3] = locals.t1; frame[2] = _sh_ljs_undefined(); locals.t0 = _sh_ljs_call(shr, frame, 1); _sh_leave(shr, &locals.head, frame); return locals.t0; } // index2.js:1:1 static SHLegacyValue _1_add(SHRuntime *shr) { struct { SHLocals head; SHLegacyValue t0; SHLegacyValue t1; } locals; _sh_check_native_stack_overflow(shr); SHLegacyValue *frame = _sh_enter(shr, &locals.head, 1); locals.head.count = 2; SHUnit *shUnit = shr->units[unit_index]; locals.t0 = _sh_ljs_undefined(); locals.t1 = _sh_ljs_undefined(); L0:; locals.t0 = _sh_ljs_get_global_object(shr); locals.t0 = _sh_ljs_try_get_by_id_rjs(shr, &locals.t0, get_symbols(shUnit)[3] /*globalThis*/, get_read_prop_cache(shUnit) + 2); locals.t1 = _sh_ljs_get_by_id_rjs(shr, &locals.t0, get_symbols(shUnit)[4] /*value*/, get_read_prop_cache(shUnit) + 3); locals.t0 = _sh_ljs_param(frame, 1); locals.t0 = _sh_ljs_add_rjs(shr, &locals.t0, &locals.t1); _sh_leave(shr, &locals.head, frame); return locals.t0; } static unsigned char s_literal_val_buffer[0] = {}; static unsigned char s_obj_key_buffer[0] = {}; static const SHShapeTableEntry s_obj_shape_table[] = {}; static const SHSrcLoc s_source_locations[] = { {.filename_idx = 0, .line = 0, .column = 0}, }; static SHNativeFuncInfo s_function_info_table[] = { {.name_index = 5, .arg_count = 0, .prohibit_invoke = 2, .kind = 0}, {.name_index = 1, .arg_count = 1, .prohibit_invoke = 2, .kind = 0}, }; static const char s_ascii_pool[] = { '\0', 'a', 'd', 'd', '\0', 'p', 'r', 'i', 'n', 't', '\0', 'g', 'l', 'o', 'b', 'a', 'l', 'T', 'h', 'i', 's', '\0', 'v', 'a', 'l', 'u', 'e', '\0', 'g', 'l', 'o', 'b', 'a', 'l', '\0', }; static const char16_t s_u16_pool[] = {}; static const uint32_t s_strings[] = { 0, 0, 0, 1, 3, 1492819387, 5, 5, 2794059355, 11, 10, 4077459857, 22, 5, 3746588989, 28, 6, 615793799, }; #define CREATE_THIS_UNIT sh_export_this_unit struct UnitData { SHUnit unit; SHSymbolID symbol_data[6]; SHWritePropertyCacheEntry write_prop_cache_data[1]; SHReadPropertyCacheEntry read_prop_cache_data[4]; SHPrivateNameCacheEntry private_name_cache_data[0]; SHCompressedPointer object_literal_class_cache[0]; }; SHUnit *CREATE_THIS_UNIT(void) { struct UnitData *unit_data = calloc(sizeof(struct UnitData), 1); *unit_data = (struct UnitData){.unit = {.index = &unit_index, .num_symbols = 6, .num_write_prop_cache_entries = 1, .num_read_prop_cache_entries = 4, .ascii_pool = s_ascii_pool, .u16_pool = s_u16_pool, .strings = s_strings, .symbols = unit_data->symbol_data, .write_prop_cache = unit_data->write_prop_cache_data, .read_prop_cache = unit_data->read_prop_cache_data, .private_name_cache = unit_data->private_name_cache_data, .obj_key_buffer = s_obj_key_buffer, .obj_key_buffer_size = 0, .literal_val_buffer = s_literal_val_buffer, .literal_val_buffer_size = 0, .obj_shape_table = s_obj_shape_table, .obj_shape_table_count = 0, .object_literal_class_cache = unit_data->object_literal_class_cache, .source_locations = s_source_locations, .source_locations_size = 1, .unit_main = _0_global, .unit_main_info = &s_function_info_table[0], .unit_name = "sh_compiled"}}; return (SHUnit *)unit_data; } SHSymbolID *get_symbols(SHUnit *unit) { return ((struct UnitData *)unit)->symbol_data; } SHWritePropertyCacheEntry *get_write_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->write_prop_cache_data; } SHReadPropertyCacheEntry *get_read_prop_cache(SHUnit *unit) { return ((struct UnitData *)unit)->read_prop_cache_data; } SHPrivateNameCacheEntry *get_private_name_cache(SHUnit *unit) { return ((struct UnitData *)unit)->private_name_cache_data; } typedef struct SHConsoleContext SHConsoleContext; SHConsoleContext *init_console_bindings(SHRuntime *shr); void free_console_context(SHConsoleContext *consoleContext); bool run_event_loop(SHRuntime *shr, SHConsoleContext *consoleContext); int main(int argc, char **argv) { SHRuntime *shr = _sh_init(argc, argv); SHConsoleContext *consoleContext = init_console_bindings(shr); bool success = _sh_initialize_units(shr, 1, CREATE_THIS_UNIT) && run_event_loop(shr, consoleContext); free_console_context(consoleContext); _sh_done(shr); return success ? 0 : 1; }
비교하기