| /arkcompiler/runtime_core/docs/ |
| D | memory-management-SW-requirements.md | 8 1. Allocations for the application 9 1. Allocations for the internal usage by Runtime(Allocations for compiler purposes, for GC internal… 31 - Internal memory space for non-compiler part of runtime (including GC internals) 33 - Non-moving space(space for non-movable objects) 38 - GC for classes (optional) 39 - GC for code cache(optional) 43 High level requirements for GC: 44 - acceptable latency (max pause) for good user experience 51 …ation for application (for example: we can choose non-compacting GC with freelist allocators for s… 58 - allocator API for runtime [all …]
|
| D | ir_format.md | 7 * Compiler overhead about 100000 native instructions per a bytecode instruction(standard for JIT co… 12 In the development process, it is very important to have auxiliary functionality for various code t… 13 …endencies between different passes. Second, often some optimization creates a context for others. 66 * Using profile information for IFC and speculative optimizations 67 * Supporting side exits for de-optimizations and removing cold code. 70 * Common properties will be introduced for the instructions, making it easier to add new instructio… 83 The main target is ARM64. So Panda IR should be able to do arm specific optimizations. For this, ne… 89 …e split on several low level instructions(close to assembler instructions) for additional optimiza… 93 Overhead is the time that requires for compile. 95 … find a balance between performance and the overhead needed to achieve it. For example, the optimi… [all …]
|
| D | memory-management.md | 5 Panda Runtime should be scalable onto different devices/OSes. So we need some abstraction level for… 6 For now, all targets suppose interaction with the user, so we have some limitations for the STW pau… 7 We have very limited memory resources for IoT target, so we should maximize efforts on reducing mem… 15 * internal memory for runtime(ArenaAllocators for JIT, etc) 16 * application memory(i.e., memory for objects created by application) 18 * memory for JITed code 22 There are several modes for memory management: 28 …- low-pause/pauseless GC(for games) or GC with high throughput and acceptable STW pause (for not g… 33 Mode are chosen at the startup time (we'll use profile info from cloud for that). 42 * Similar design for two different platforms - high-end and low-end [all …]
|
| D | glossary.md | 11 * **AOT** stands for **Ahead-Of-Time**. In compilers, terms "ahead-of-time compilation" and "AOT 19 * **IR** stands for **Intermediate Representation**. IR is an internal compiler data structure 20 used to represent input program and usually designed for analysis and optimization. 22 * **ISA** stands for **Instruction Set Architecture**. See **Panda Bytecode** and 24 * **JIT** stands for **Just-In-Time**. In compilers, terms "just-in-time compilation" and "JIT 36 * **Panda Bytecode** or **PBC** is a portable hardware-independent instruction set designed for 44 * **Card table** used for marking cards. In general, it has one bit or byte (a byte used to 45 improve performance of GC barrier) for one card. 47 It can be used for tracking references from tenured generation to the young generation and 48 for tracking modified references during concurrent phase of GC. [all …]
|
| /arkcompiler/ets_frontend/es2panda/test/parser/js/ |
| D | test-for.js | 12 * See the License for the specific language governing permissions and 17 for(;;); 19 for(;;){} 21 for(a<b;;); 23 for(a<b;c();); 25 for(a<b;c();a++){AnimationPlaybackEvent; fetch;[]()} 27 for((function(){})(); (function(){})(); (function(){})()) {} 29 for (;a;); 30 for (;;a); 32 for (let fa = 5;;); [all …]
|
| /arkcompiler/ets_frontend/test262/ |
| D | ts2abc_skip_tests.json | 92 "language/expressions/dynamic-import/for-await-resolution-and-error-agen-yield.js", 93 "language/expressions/dynamic-import/for-await-resolution-and-error-agen.js", 96 "language/expressions/dynamic-import/for-await-resolution-and-error.js", 153 "language/expressions/optional-chaining/iteration-statement-for-await-of.js", 154 "language/expressions/optional-chaining/iteration-statement-for-in.js", 155 "language/expressions/optional-chaining/iteration-statement-for.js", 156 "language/expressions/optional-chaining/iteration-statement-for-of-type-error.js", 207 …elated and funcName-related Cases that are not supported on ts2abc about async generators for now", 282 "language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-id-init-fn-name-gen.js", 283 "language/statements/for-await-of/async-gen-dstr-var-obj-ptrn-id-init-fn-name-class.js", [all …]
|
| D | es2021_tests.txt | 664 language/expressions/dynamic-import/for-await-resolution-and-error.js 673 language/expressions/dynamic-import/for-await-resolution-and-error-agen.js 675 language/expressions/dynamic-import/for-await-resolution-and-error-agen-yield.js 689 language/expressions/dynamic-import/for-await-resolution-and-error-poisoned_FIXTURE.js 692 language/expressions/dynamic-import/for-await-resolution-and-error-b_FIXTURE.js 695 language/expressions/dynamic-import/for-await-resolution-and-error-a_FIXTURE.js 711 language/expressions/optional-chaining/iteration-statement-for-await-of.js 712 language/expressions/optional-chaining/iteration-statement-for-in.js 713 language/expressions/optional-chaining/iteration-statement-for.js 714 language/expressions/optional-chaining/iteration-statement-for-of-type-error.js [all …]
|
| /arkcompiler/runtime_core/scripts/dep-lists/ |
| D | ubuntu-dev | 11 # See the License for the specific language governing permissions and 14 # List of dependencies for testing Panda on Ubuntu 18.04 and 20.04 23 lcov # For coverage calculation 24 libc++-dev:amd64 # For clang-tidy to find standard headers 25 python3 # For running multilingual benchmarks 26 python3-matplotlib # For statistics visualization and plotting 27 openjdk-8-jdk # For running Java benchmarks 28 libasm-java # For running legacy Java files compilation 29 doxygen # For generate documentation 30 graphviz # For graphs in documentation [all …]
|
| D | ubuntu-18-04-dev | 11 # See the License for the specific language governing permissions and 14 # Dependency list for testing Panda on Ubuntu 18.04 23 lcov=1.13-* # For coverage calculation 24 libc++-dev:amd64=6.0-* # For clang-tidy to find standard headers 25 python3=3.6.7-* # For running multilingual benchmarks 26 python3-matplotlib=2.1.1-* # For statistics visualization and plotting 27 openjdk-8-jdk=8u312-* # For running Java benchmarks 28 libasm-java=7.0-* # For running legacy Java files compilation 29 doxygen=1.8.13-* # For generate documentation 30 graphviz=2.40.1-* # For generate graphs in documentation [all …]
|
| D | ubuntu-20-04-dev | 11 # See the License for the specific language governing permissions and 14 # List of dependencies for testing Panda on Ubuntu 20.04 23 lcov=1.14-* # For coverage calculation 24 libc++-dev:amd64=1:10** # For clang-tidy to find standard headers 25 python3=3.8* # For running multilingual benchmarks 26 python3-matplotlib=3.1.2-* # For statistics visualization and plotting 27 openjdk-8-jdk=8u312-* # For running Java benchmarks 28 libasm-java=7.2-* # For running legacy Java files compilation 29 doxygen=1.8.17-* # For generate documentation 30 graphviz=2.42.2-* # For generate graphs in documentation [all …]
|
| D | ubuntu-18-04-arm-dev | 11 # See the License for the specific language governing permissions and 14 # Dependency list for testing Panda on Ubuntu 18.04 23 lcov=1.13-* # For coverage calculation 24 libc++-dev:arm64=6.0-* # For clang-tidy to find standard headers 25 python3=3.6.7-* # For running multilingual benchmarks 26 python3-matplotlib=2.1.1-* # For statistics visualization and plotting 27 openjdk-8-jdk=8u312-* # For running Java benchmarks 28 libasm-java=7.0-* # For running legacy Java files compilation 29 doxygen=1.8.13-* # For generate documentation 30 graphviz=2.40.1-* # For generate graphs in documentation [all …]
|
| /arkcompiler/runtime_core/cmake/ |
| D | ClangTidy.cmake | 11 # See the License for the specific language governing permissions and 17 # When clang/gcc is used for cross-compilation, it is ran on host and use defines and options for h… 18 # For example for arm32 cross-compilation Clang-Tidy: 20 # - believes that size of pointer is 64 instead of 32 for aarch32 46 …message(FATAL_ERROR "clang-tidy not found, but requested for build. Use -DPANDA_ENABLE_CLANG_TIDY=… 53 # Hence we check for ERROR_VARIABLE instead of RESULT_VARIABLE. 90 # case for CHECKS is to pass checks to be suppressed. 93 # * We use permissive policy for checks, i.e. everything is enabled by default, 99 # that each components is responsible for QA'ing only its code base. 125 …# aliases for other checks(here full list: https://clang.llvm.org/extra/clang-tidy/checks/list.htm… [all …]
|
| D | PandaCmakeFunctions.cmake | 11 # See the License for the specific language governing permissions and 14 # 32-bits pointers optimization in Panda for objects => addresses usage low 4GB 15 # We need use linker scripts for section replacement above 4GB 16 # Note: AddressSanitizer reserves (mmap) addresses for its own needs, 17 # so we have difference start addresses for asan and default buildings 20 # definitions for exception handling sections 32 # For cross-aarch64 with ASAN with linker script we need use additional path-link 40 # We need use specific options for AMD64 building with Clang compiler 41 # because it is necessary for placement of sections above 4GB 45 # so for rapidcheck test binaries panda_test_asan.ld is used which does not require [all …]
|
| /arkcompiler/ets_frontend/testTs/instype/ |
| D | recordthis-expected.txt | 1 Handle types for function: #1#A 3 Handle types for function: getName 5 Handle types for function: getId 7 Handle types for function: setName 9 Handle types for function: setId 11 Handle types for function: dump 13 Handle types for function: stest 15 Handle types for function: test 17 Handle types for function: testwiththis 19 Handle types for function: add [all …]
|
| /arkcompiler/runtime_core/runtime/tests/ |
| D | allocator_test_base.h | 12 * See the License for the specific language governing permissions and 64 for (size_t i = 0; i < BYTE_ARRAY_SIZE; ++i) { in InitByteArray() 70 * \brief Add pool to allocator (maybe empty for some allocators) 71 * @param allocator - allocator for pool memory adding 76 * \brief Add pool to allocator and protect (maybe empty for some allocators) 77 * @param allocator - allocator for pool memory addition and protection 104 * \brief Write value in memory for death test 105 * @param mem - memory for writing 107 * Write value in memory for address sanitizer test 116 * @param mem - memory for random bytes from byte array writing [all …]
|
| /arkcompiler/runtime_core/compiler/docs/ |
| D | plt.md | 7 JIT/AOT compiler has a `SlowPath` mechanism. It is used for some opcodes where a call to runtime is… 10 Unique `SlowPath` blob is generated for each place it is called, and as it contains saving register… 11 `BoundaryFrame` for stack walker, it's code is much longer than few runtime-call-related instructio… 15 Speaking about AOT mode, for opcodes like `CallStatic`, `CallVirtual`, and opcodes related to `Clas… 22 For each pair of File (input for `ark_aot` compiler) and callee `method Id` (`panda_file::File::Ent… 29 fully transparent resolver for code generation. Lets see `arm64` example (`GetCompiledEntryPointOff… 66 For each pair of File (input for `ark_aot` compiler) and callee `method Id` (`panda_file::File::Ent… 85 ; CallVirtual opcode (register allocator used x5 for Class ptr) | 104 Thus for `PLT CallVirtual Resolver` convention is the following - first `Encoder` temporary register 105 (`x16` for `arm64` or `r12` for `x86_84`) is a parameter with `SecondSlot` address and also the sam… [all …]
|
| D | codegen_doc.md | 3 …for current compiler implementation. It was implemented with the main idea - to be independent of … 7 …lysis for codegen-work. First - because it is needed to fill register for each operand, second - b… 13 2. CodeBuilder - contain binary data and hold header with information for stack-walker. 14 3. CFrameLayout - is responsible for stack-frame layout in runtime(class described in `libpandabase… 15 4. SlowPath - class, which is responsible for side exits. 17 Codegen internal-implementation is responsibility for: 19 2. Filling meta-info for recovery frame-information in exceptions (state stamps, which used in stac… 21 4. Supporting logic for build AOT-code (there are needed runtime calls during aot-code execution). 26 …walks through call-instructions and calculates parameters count (they need for reserve stack-slots… 31 3. After that - side exits (SlowPath) are emitted (also for OSR). [all …]
|
| D | reg_alloc_graph_coloring_doc.md | 18 …which graph deconstruction always keeps chordality-property. And using PEO for coloring lets the s… 19 In works of Hack ("Register Allocation for Programs in SSA Form") and Pereira ("Register Allocation… 23 …tion on SSA Form"). But output is an Interference Graph (IG). Additionally for nodes is collected … 26 …terval is pre-colored, this value is set as pre-color for node. And input parameters is marked for… 27 …represent move-relation between values. Currently affinity edges are added for inputs of PHI-funct… 31 … an algorithm that is collecting colors of neighbor nodes, and chose color for processed node by s… 32 …olored in parallel that at the end collides, that may cause extra register for coloring. This prop… 36 There are two classes of approaches for coalescing, that is: 37 … that makes work when major decisions already done, so it decrease ability for successful coalesci… 38 …sion on coloring having information about neighbors and specially prepared information for biasing. [all …]
|
| /arkcompiler/runtime_core/compiler/tests/ |
| D | iterators_test.cpp | 12 * See the License for the specific language governing permissions and 34 for (auto inst : block->PhiInsts()) { in Check() 40 for (auto inst : block->Insts()) { in Check() 46 for (auto inst : block->AllInsts()) { in Check() 53 for (auto inst : block->PhiInstsSafe()) { in Check() 59 for (auto inst : block->InstsSafe()) { in Check() 65 for (auto inst : block->AllInstsSafe()) { in Check() 72 for (auto inst : block->PhiInstsSafeReverse()) { in Check() 79 for (auto inst : block->InstsSafeReverse()) { in Check() 86 for (auto inst : block->AllInstsSafeReverse()) { in Check() [all …]
|
| /arkcompiler/ets_runtime/test/perform/string/ |
| D | string.js | 12 * See the License for the specific language governing permissions and 19 for(var i = 0; i < 100000; ++i) { 32 for(var i = 0; i < 100000; ++i) { 45 for(var i = 0; i < 100000; ++i) { 56 for(var i = 0; i < 100000; ++i) { 67 for(var i = 0; i < 100000; ++i) { 79 for(var i = 0; i < 100000; ++i) { 91 for(var i = 0; i < 100000; ++i) { 103 for(var i = 0; i < 100000; ++i) { 114 for(var i = 0; i < 100000; ++i) { [all …]
|
| /arkcompiler/runtime_core/verification/util/tests/ |
| D | set_operations_property_test.cpp | 12 * See the License for the specific language governing permissions and 51 for (const auto &i : intervals) { in ClassifySize() 66 for (size_t size : sizes) { in __anon36fc55b10202() 77 for (const auto &elt : vec) { in __anon36fc55b10302() 92 for (int elt : result) { in __anon36fc55b10402() 95 for (int elt : set1) { in __anon36fc55b10402() 98 for (int elt : set2) { in __anon36fc55b10402() 104 for (int elt : result) { in __anon36fc55b10502() 107 for (int elt : set1) { in __anon36fc55b10502() 110 for (int elt : set2) { in __anon36fc55b10502() [all …]
|
| /arkcompiler/toolchain/build/config/sanitizers/ |
| D | sanitizers.gni | 11 # See the License for the specific language governing permissions and 22 # Compile for Address Sanitizer to find memory bugs. 25 # Compile for Leak Sanitizer to find leaks. 28 # Compile for Memory Sanitizer to find uninitialized reads. 31 # Compile for Thread Sanitizer to find threading bugs. 34 # Compile for Undefined Behavior Sanitizer to find various types of 41 # Compile for Undefined Behavior Sanitizer's null pointer checks. 44 # Compile for Undefined Behavior Sanitizer's vptr checks. 69 # Enable checks for bad casts: derived cast and unrelated cast. 72 # Enable checks for indirect function calls via a function pointer. [all …]
|
| /arkcompiler/ets_runtime/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 18 control with that entity. For the purposes of this definition, 27 "Source" form shall mean the preferred form for making modifications, 42 form, that is based on (or derived from) the Work and for which the 44 represent, as a whole, an original work of authorship. For the purposes 52 submitted to Licensor for inclusion in the Work by the copyright owner 54 the copyright owner. For the purposes of this definition, "submitted" 59 Licensor for the purpose of discussing and improving the Work, but 87 granted to You under this License for that Work shall terminate [all …]
|
| /arkcompiler/toolchain/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 18 control with that entity. For the purposes of this definition, 27 "Source" form shall mean the preferred form for making modifications, 42 form, that is based on (or derived from) the Work and for which the 44 represent, as a whole, an original work of authorship. For the purposes 52 submitted to Licensor for inclusion in the Work by the copyright owner 54 the copyright owner. For the purposes of this definition, "submitted" 59 Licensor for the purpose of discussing and improving the Work, but 87 granted to You under this License for that Work shall terminate [all …]
|
| /arkcompiler/runtime_core/bytecode_optimizer/ |
| D | reg_acc_alloc.cpp | 12 * See the License for the specific language governing permissions and 127 for (auto input : user->GetInputs()) { in CanUserReadAcc() 142 return user->GetInputsCount() <= (MAX_NUM_NON_RANGE_ARGS + 1); // +1 for SaveState in CanUserReadAcc() 158 // These cases are not optimized for accumulator. in IsPhiAccReady() 159 for (auto input : phi->GetInputs()) { in IsPhiAccReady() 168 for (auto &user : phi->GetUsers()) { in IsPhiAccReady() 178 for (auto uinst : users_that_required_swap_inputs) { in IsPhiAccReady() 186 * For most insts we can use their src_reg on the acc-read position 197 if (inst->IsCall()) { // we never need lda for calls in SetNeedLda() 209 * This special value is a marker for the code generator [all …]
|