| /arkcompiler/runtime_core/libpandafile/tests/ |
| D | bytecode_instruction_tests.cpp | 31 const uint8_t bytecode[] = {0x00, 0xa1, 0xff}; in TEST() local 32 BytecodeInstruction inst(bytecode); in TEST() 39 const uint8_t bytecode[] = {0x00, 0x2f, 0xff}; in TEST() local 40 BytecodeInstruction inst(bytecode); in TEST() 51 const uint8_t bytecode[] = {0x00, 0xf2, 0xff}; in TEST() local 52 BytecodeInstruction inst(bytecode); in TEST() 58 const uint8_t bytecode[] = {0x00, 0x21, 0xff}; in TEST() local 59 BytecodeInstruction inst(bytecode); in TEST() 66 const uint8_t bytecode[] = {0x00, 0x12, 0xf2, 0xff}; in TEST() local 67 BytecodeInstruction inst(bytecode); in TEST() [all …]
|
| D | bytecode_imm_fetch_tests.cpp | 30 const uint8_t bytecode[] = {0x4f, 0x17}; in TEST() local 31 BytecodeInstruction inst(bytecode); in TEST() 42 const uint8_t bytecode[] = {0x4d, 0xea}; in TEST() local 43 BytecodeInstruction inst(bytecode); in TEST() 53 const uint8_t bytecode[] = {0x62, 0x1e, 0x00, 0x00, 0x00}; in TEST() local 54 BytecodeInstruction inst(bytecode); in TEST() 65 const uint8_t bytecode[] = {0x63, 0x1f, 0x85, 0xeb, 0x51, 0xb8, 0x1e, 0x09, 0x40}; in TEST() local 66 BytecodeInstruction inst(bytecode); in TEST() 78 const uint8_t bytecode[] = {0x2f, 0x8e, 0x00, 0x02, 0x03}; in TEST() local 79 BytecodeInstruction inst(bytecode); in TEST() [all …]
|
| D | bytecode_jump_range_tests.cpp | 30 const uint8_t bytecode[] = {0x4d, 0xea}; in TEST() local 31 BytecodeInstruction inst(bytecode); in TEST() 36 const uint8_t bytecode[] = {0x08, 0x0b, 0x03, 0x06}; in TEST() local 37 BytecodeInstruction inst(bytecode); in TEST() 46 const uint8_t bytecode[] = {0x08, 0x0b, 0x03, 0x06}; in TEST() local 47 BytecodeInstruction inst(bytecode); in TEST() 52 const uint8_t bytecode[] = {0x44, 0x58}; in TEST() local 53 BytecodeInstruction inst(bytecode); in TEST() 61 const uint8_t bytecode[] = {0x3f, 0x0a, 0x00, 0x00}; in TEST() local 62 BytecodeInstruction inst(bytecode); in TEST() [all …]
|
| D | bytecode_rerturn_throw_tests.cpp | 30 const uint8_t bytecode[] = {0x65}; in TEST() local 31 BytecodeInstruction inst(bytecode); in TEST() 36 const uint8_t bytecode[] = {0xfe}; in TEST() local 37 BytecodeInstruction inst(bytecode); in TEST() 42 const uint8_t bytecode[] = {0x3f, 0x00, 0x0c, 0x00}; in TEST() local 43 BytecodeInstruction inst(bytecode); in TEST()
|
| /arkcompiler/runtime_core/static_core/libpandafile/tests/ |
| D | bytecode_instruction_tests.cpp | 34 const uint8_t bytecode[] = {0x00, 0xa1, 0xff}; in TEST() local 35 BytecodeInstruction inst(bytecode); in TEST() 42 const uint8_t bytecode[] = {0x00, 0x2f, 0xff}; in TEST() local 43 BytecodeInstruction inst(bytecode); in TEST() 51 const uint8_t bytecode[] = {0x00, 0xf2, 0xff}; in TEST() local 52 BytecodeInstruction inst(bytecode); in TEST() 58 const uint8_t bytecode[] = {0x00, 0x21, 0xff}; in TEST() local 59 BytecodeInstruction inst(bytecode); in TEST() 66 const uint8_t bytecode[] = {0x00, 0x12, 0xf2, 0xff}; in TEST() local 67 BytecodeInstruction inst(bytecode); in TEST() [all …]
|
| /arkcompiler/runtime_core/docs/changelogs/ |
| D | 2023-12-31-isa-changelog.md | 6 * Bytecode instructions 11 ## Bytecode instructions 12 …97c205593c94d5/zh-cn/application-dev/arkts-utils/arkts-sendable.md), 12 bytecode instructions are … 14 …s which will use define semantic instead of set semantic, the following bytecode instructions are … 19 2. To support private properties in class and access to them, the following bytecode instructions a… 25 3. To support `#x in obj` syntax, the following bytecode instruction is added: 28 … and get a value which can be used as class property key, the following bytecode instruction is ad… 31 5. To improve the performance of class field initialization, the following bytecode instruction is … 34 6. To support sendable class, the following bytecode instructions are added:
|
| D | 2024-05-24-isa-changelog.md | 6 * Bytecode instructions 11 ## Bytecode instructions 12 …o improve the performance of "istrue" and "isfalse" bytecode instructions, the following two bytec… 16 …fieldbyname" bytecode's ic slot number when ic slot number overflows, which leads to a runtime err…
|
| D | 2024-08-29-isa&&file_format-changelog.md | 6 * Bytecode instructions 11 Bytecode version is updated from 12.0.6.0 to 13.0.0.0. 13 ## Bytecode instructions 14 ….0/#sec-default-constructor-functions) chapter in ES2021. The following bytecode instruction is ad…
|
| D | 2024-03-20-isa-changelog.md | 6 * Bytecode instructions 11 ## Bytecode instructions 12 To support lazy loading of module variables in sendable class, the following bytecode instructions …
|
| D | 2024-05-12-isa.changelog.md | 6 * Bytecode instructions 11 ## Bytecode instructions 12 …able, the sendable lexical environment is implemented and the following bytecode instructions are …
|
| /arkcompiler/runtime_core/disassembler/tests/ |
| D | disassembler_imm_tests.cpp | 31 const uint8_t bytecode[] = {0x4f, 0x17}; in TEST() local 32 BytecodeInstruction inst(bytecode); in TEST() 40 const uint8_t bytecode[] = {0x4d, 0xea}; in TEST() local 41 BytecodeInstruction inst(bytecode); in TEST() 49 const uint8_t bytecode[] = {0x62, 0x1e, 0x00, 0x00, 0x00}; in TEST() local 50 BytecodeInstruction inst(bytecode); in TEST() 58 const uint8_t bytecode[] = {0x63, 0x1f, 0x85, 0xeb, 0x51, 0xb8, 0x1e, 0x09, 0x40}; in TEST() local 59 BytecodeInstruction inst(bytecode); in TEST() 70 const uint8_t bytecode[] = {0x2f, 0x8e, 0x00, 0x02, 0x03}; in TEST() local 71 BytecodeInstruction inst(bytecode); in TEST() [all …]
|
| /arkcompiler/runtime_core/static_core/docs/ |
| D | rationale-for-bytecode.md | 1 # Rationale for Bytecode 5 This document sets up some context about bytecode design principles and provides rationales for 6 bytecode design in Panda Runtime. 8 ## Bytecode basics 10 Before discussing bytecode per se, let's take a look at an over-simplified picture of a real 26 Here comes the bytecode. Simply said, it is an attempt to build an abstract CPU on top of real 29 commands (or bytecode) and execute them. Of course, this implies additional performance overhead 35 Although bytecode represents some abstraction, it mirrors all the mentioned concepts from the 41 building bytecode. Following sections explain advantages and disadvantages of various approaches. 78 each bytecode instruction, execute it and move to the next one, running more instruction results in [all …]
|
| D | glossary.md | 12 compilation" are used to indicate that the source code or bytecode is compiled before actual 13 execution. In case of Panda Runtime, AOT compilation is used to compile Panda Bytecode into 14 native machine code to reduce runtime overhead from reading and compiling bytecode. 16 * **Bytecode**. See **Panda Bytecode**. 17 * **Compiler** is a tool that performs source code or bytecode translation, optimization and 22 * **ISA** stands for **Instruction Set Architecture**. See **Panda Bytecode** and 25 compilation" are used to indicate that the source code or bytecode is compiled during program 26 execution. In case of Panda Runtime, JIT compilation is used to compile Panda Bytecode into 27 native machine code to reduce overhead from interpreting bytecode. 32 correspondence between the instructions in the language and **Panda Bytecode** instructions. [all …]
|
| D | bytecode_profiling.md | 1 # Bytecode profiling in Dynamic languages 5 Each bytecode instruction, that supports profiling, contains additional field - profile index. It d… 15 …s a plain data of bytes, which content is determined by the language of a given bytecode. Core part 20 Each interpreter handler reads profiling field from bytecode instruction and update corresponding s…
|
| /arkcompiler/runtime_core/docs/ |
| D | rationale-for-bytecode.md | 1 # Rationale for Bytecode 5 This document sets up some context about bytecode design principles and provides rationales for 6 bytecode design in Panda Runtime. 8 ## Bytecode basics 10 Before discussing bytecode per se, let's take a look at an over-simplified picture of a real 26 Here comes the bytecode. Simply said, it is an attempt to build an abstract CPU on top of real 29 commands (or bytecode) and execute them. Of course, this implies additional performance overhead 35 Although bytecode represents some abstraction, it mirrors all the mentioned concepts from the 41 building bytecode. Following sections explain advantages and disadvantages of various approaches. 78 each bytecode instruction, execute it and move to the next one, running more instruction results in [all …]
|
| D | glossary.md | 12 compilation" are used to indicate that the source code or bytecode is compiled before actual 13 execution. In case of Panda Runtime, AOT compilation is used to compile Panda Bytecode into 14 native machine code to reduce runtime overhead from reading and compiling bytecode. 16 * **Bytecode**. See **Panda Bytecode**. 17 * **Compiler** is a tool that performs source code or bytecode translation, optimization and 22 * **ISA** stands for **Instruction Set Architecture**. See **Panda Bytecode** and 25 compilation" are used to indicate that the source code or bytecode is compiled during program 26 execution. In case of Panda Runtime, JIT compilation is used to compile Panda Bytecode into 27 native machine code to reduce overhead from interpreting bytecode. 32 correspondence between the instructions in the language and **Panda Bytecode** instructions. [all …]
|
| D | runtime-debug-api.md | 9 1. Runtime doesn't patch apps' bytecode on the fly. Instead of it notification about changing bytec… 15 1. As some low-end targets can store bytecode in ROM, runtime cannot patch app's bytecode on the fl… 27 * `BytecodePcChanged` - occurs when bytecode pc is changed during interpretation (only if runtime w…
|
| /arkcompiler/runtime_core/static_core/compiler/docs/ |
| D | ir_builder.md | 5 The IR builder pass constructs the Intermediate Representation (IR) from the Panda bytecode. 16 Due to specifics of the Panda bytecode, IR builder has responsibility to handle various situation t… 43 1. Iterate over all bytecode instructions and make basic block for all target instructions, i.e. in… 53 4. Get next bytecode instruction from the current basic block. 54 5. Build the Panda IR instruction from the bytecode instruction: 78 def Run(graph, bytecode): 79 BuildBasicBlocks(graph, bytecode) 83 for bc_inst in bytecode.instructions[bb.first_pc..bb.last_pc]: 90 def BuildBasicBlocks(graph, bytecode): 93 blocks.resize(bytecode.instructions.size()) [all …]
|
| /arkcompiler/runtime_core/compiler/docs/ |
| D | ir_builder.md | 5 The IR builder pass constructs the Intermediate Representation (IR) from the Panda bytecode. 16 Due to specifics of the Panda bytecode, IR builder has responsibility to handle various situation t… 43 1. Iterate over all bytecode instructions and make basic block for all target instructions, i.e. in… 53 4. Get next bytecode instruction from the current basic block. 54 5. Build the Panda IR instruction from the bytecode instruction: 78 def Run(graph, bytecode): 79 BuildBasicBlocks(graph, bytecode) 83 for bc_inst in bytecode.instructions[bb.first_pc..bb.last_pc]: 90 def BuildBasicBlocks(graph, bytecode): 93 blocks.resize(bytecode.instructions.size()) [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/regexp/ecmascript/ |
| D | regexp_executor.h | 72 bool ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd); 104 inline bool HandleOpChar(const DynChunk &byteCode, uint8_t opCode) in HandleOpChar() argument 108 expectedChar = byteCode.GetU32(GetCurrentPC() + 1); in HandleOpChar() 110 expectedChar = byteCode.GetU16(GetCurrentPC() + 1); in HandleOpChar() 190 inline void HandleOpSaveStart(const DynChunk &byteCode, uint8_t opCode) in HandleOpSaveStart() argument 192 uint32_t captureIndex = byteCode.GetU8(GetCurrentPC() + 1); in HandleOpSaveStart() 200 inline void HandleOpSaveEnd(const DynChunk &byteCode, uint8_t opCode) in HandleOpSaveEnd() argument 202 uint32_t captureIndex = byteCode.GetU8(GetCurrentPC() + 1); in HandleOpSaveEnd() 210 inline void HandleOpSaveReset(const DynChunk &byteCode, uint8_t opCode) in HandleOpSaveReset() argument 212 uint32_t catpureStartIndex = byteCode.GetU8(GetCurrentPC() + SAVE_RESET_START); in HandleOpSaveReset() [all …]
|
| /arkcompiler/runtime_core/ |
| D | README.md | 25 …ler # Assembler that converts an ARK bytecode file in text format (*.pa) into a byte… 26 ├── bytecode_optimizer # Bytecode optimizer, further optimize the ARK bytecode to generate opt… 28 … # Compiler including IR(intermediate representation) and passes for bytecode optimization. See… 30 … # Disassembler that converts an ARK bytecode file in binary format (*.abc) into an ARK … 35 ├── isa # Bytecode ISA description file YAML, Ruby scripts and templates. 37 ├── libark_defect_scan_aux # Vulnerability defect scanning tool for ARK bytecode file in binary fo… 39 ├── libpandafile # Source code repository of ARK bytecode files (*.abc) in binary format. 41 ├── panda # CLI tool used to execute ARK bytecode files in binary format(*.abc). 50 └── verification # Bytecode verifier. See docs/bc_verification.
|
| /arkcompiler/ets_frontend/arkguard/test/testData/obfuscation/Configs/bytecodeObf/ |
| D | bytecodeObf_enable.txt | 1 -enable-bytecode-obfuscation 2 -enable-bytecode-obfuscation-debugging 3 -enable-bytecode-obfuscation-enhanced
|
| /arkcompiler/ets_runtime/ecmascript/regexp/ |
| D | regexp_executor.h | 63 bool ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd); 100 inline bool HandleOpChar(const DynChunk &byteCode, uint8_t opCode) in HandleOpChar() argument 104 expectedChar = byteCode.GetU32(GetCurrentPC() + 1); in HandleOpChar() 106 expectedChar = byteCode.GetU16(GetCurrentPC() + 1); in HandleOpChar() 174 inline void HandleOpSaveStart(const DynChunk &byteCode, uint8_t opCode) in HandleOpSaveStart() argument 176 uint32_t captureIndex = byteCode.GetU8(GetCurrentPC() + 1); in HandleOpSaveStart() 186 inline void HandleOpSaveEnd(const DynChunk &byteCode, uint8_t opCode) in HandleOpSaveEnd() argument 188 uint32_t captureIndex = byteCode.GetU8(GetCurrentPC() + 1); in HandleOpSaveEnd() 198 inline void HandleOpSaveReset(const DynChunk &byteCode, uint8_t opCode) in HandleOpSaveReset() argument 200 uint32_t catpureStartIndex = byteCode.GetU8(GetCurrentPC() + SAVE_RESET_START); in HandleOpSaveReset() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/debugger/src/arkdb/compiler_verification/ |
| D | bytecode.py | 58 Compares two bytecode files according to disasm output. 70 error_report = "Expected bytecode function was not found or empty." 85 error_report += "\tEvaluation patch bytecode function was not found" 88 error_report = "Expected and patch bytecode differ in count" 100 … raise BytecodeComparisonError("Bytecode comparison failed:\n" + "\n".join(error_list)) 104 bytecode: list[str], 111 for idx, line in enumerate(bytecode): 117 for line in bytecode[start_idx:]:
|
| /arkcompiler/runtime_core/libabckit/doc/ |
| D | implementation_description.md | 17 9. [Bytecode<-->IR](#bytecode--ir) 95 5. When `functionSetGraph` is called, `codegen` generates `pandasm` bytecode from `ark::compiler::G… 273 ## Bytecode <──> IR 278 Bytecode <──> IR transformation approach is the same as for bytecode optimizer, 279 IR builder converts bytecode into IR and codegen converts IR into bytecode. 282 - Two bytecode optimizers: `libabckit::CodeGenDynamic` and `libabckit::CodeGenStatic` 288 IR interface (`AbckitIrInterface`) idea is also taken from bytecode optimizer, it is needed to stor… 291 1. Created when function's bytecode converted into IR 297 For static bytecode abckit just reuses IrBuilder from static runtime. 299 For dynamic bytecode abckit uses fork of IrBuilder from dynamic runtime with various changes. [all …]
|