| /arkcompiler/ets_frontend/ets2panda/linter/test/main/ |
| D | sendable_class_interface_property.ts.json | 13 "See the License for the specific language governing permissions and", 34 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 44 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 54 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 64 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 74 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 84 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 94 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 104 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… 114 …"rule": "Properties in \"Sendable\" classes and interfaces must have a Sendable data type (arkts-s… [all …]
|
| D | unique_names.ts.json | 13 "See the License for the specific language governing permissions and", 24 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 34 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 44 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 54 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 64 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 84 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 104 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 114 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", 134 "rule": "Use unique names for types and namespaces. (arkts-unique-names)", [all …]
|
| /arkcompiler/ets_runtime/docs/ |
| D | overview.md | 3 …and configurable multi-language compilation and runtime platform of OpenHarmony. It contains core … 5 ArkCompiler JS Runtime consists of two parts: JS compiler toolchain and JS runtime. The JS compiler… 22 …anguage-irrelevant runtime libraries, including ArkCompiler File, Tooling, and ArkCompiler Base. A… 26 …ecutes bytecodes, inline caching that stores hidden classes, and Profiler that analyzes and record… 30 … of the Stub compiler, optimized compilation framework based on the Circuit IR, and code generator. 35 …emory management: object allocator and garbage collector (CMS-GC and Partial-Compressing-GC for co… 36 - Analysis tools: DFX tool and CPU and heap profiling tool 38 …- Standard library: standard library defined by ECMAScript, efficient container library, and objec… 39 …- Others: asynchronous work queues, TypeScript (TS) type loading, and JS native APIs (JSNAPIs) for… 45 …and security, ArkCompiler JS Runtime statically pre-compiles JS/TS programs into ArkCompiler bytec… [all …]
|
| /arkcompiler/jsvm/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [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, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [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, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [all …]
|
| /arkcompiler/runtime_core/static_core/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [all …]
|
| /arkcompiler/runtime_core/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [all …]
|
| /arkcompiler/ets_frontend/ets2panda/ |
| D | LICENSE.txt | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/doc/spec/ |
| D | 1_intro.rst | 10 See the License for the specific language governing permissions and 28 The |LANG| language combines and supports features that are in use in many 30 helpful and powerful. 32 |LANG| supports imperative, object-oriented, functional, and generic 33 programming paradigms, and combines them safely and consistently. 50 - Interfaces as abstractions to be implemented by classes, and 56 enables powerful, flexible, safe, clear, and adequate software design. 70 presumes that software is designed and implemented as a composition 75 combines various programming resources (types, classes, functions, and so 79 This feature provides a high level of software development process and [all …]
|
| /arkcompiler/runtime_core/libabckit/doc/ |
| D | implementation_description.md | 3 Important note: Currently AbcKit supports JS, ArkTS1 and ArkTS2, but **ArkTS2 support is experiment… 4 Compiled JS and ArkTS1 are stored in "dynamic" `abc` file format and ArkTS2 in "static" `abc` file … 5 AbcKit works with these file formats using "dynamic" and "static" runtimes. 10 2. [C API and C++ implementation](#c-api-and-c-implementation) 13 5. [Dispatch between dynamic and static file formats](#dispatch-between-dynamic-and-static-file-for… 14 6. [Data structures (context) and opaque pointers](#data-structures-context-and-opaque-pointers) 21 **AbcKit supports two types of `abc` files**: dynamic and static. 24 1. `panda::panda_file` and `ark::panda_file` 25 2. `panda::abc2program` and `ark::abc2program` 26 3. `panda::pandasm` and `ark::pandasm` [all …]
|
| /arkcompiler/ets_frontend/arkguard/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [all …]
|
| /arkcompiler/ets_frontend/ |
| D | LICENSE | 6 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 10 "License" shall mean the terms and conditions for use, reproduction, 11 and distribution as defined by Sections 1 through 9 of this document. 16 "Legal Entity" shall mean the union of the acting entity and all 29 source, and configuration files. 34 and conversions to other media types. 42 form, that is based on (or derived from) the Work and for which the 47 the Work and Derivative Works thereof. 50 the original version of the Work and any modifications or additions 58 and issue tracking systems that are managed by, or on behalf of, the [all …]
|
| /arkcompiler/runtime_core/docs/ |
| D | ir_format.md | 4 * Possibility to implement various optimizations and analyses 5 * Support all the features and instructions of Panda bytecode 8 * Be able to convert to other IR and back 10 ## Optimizations and analyses 12 …nality for various code transformations and analyses. The structure of the IR should be as clear a… 13 Also in the compilation process, the order of execution of optimizations and analyses is very impor… 14 The first goal of the Panda IR to be able to change the order of the passes, add and delete passes(… 51 !NOTE It is possible to write other optimizations based on the specifics of the language and VM 55 …n an arbitrary order. Some restrictions will still be: register allocation and code generation at … 59 * Using profile information for IFC and speculative optimizations [all …]
|
| D | rationale-for-bytecode.md | 5 This document sets up some context about bytecode design principles and provides rationales for 14 somewhere in memory and executes corresponding _operations_ on operation's arguments, 19 is used for storing local variables along with function arguments and doing function calls. 23 that the number and purpose of registers differs, too. Some nuances of working with stack may also 24 vary across CPUs and/or different operating systems. 29 commands (or bytecode) and execute them. Of course, this implies additional performance overhead 31 abstract from CPU limitations and run our program wherever our interpreter runs. Tooling 36 hardware world: the terms "operations", "operands", "registers" and "stack" have the same meaning. 37 In case there is a chance for ambiguity, the terms "virtual registers" and "virtual stack" are used 38 to distinguish between an abstract system and the hardware. [all …]
|
| /arkcompiler/runtime_core/docs/changelogs/ |
| D | 2022-08-18-isa-changelog.md | 6 * Function Kind and Header index 7 * MethodId, StringId and LiteralArrayId 11 The bytecode size and runtime performance have been suffering for a long time as the all the 12 ecmascript specific bytecode are prefixed and their opcode were encoded with two bytes. 13 1. We delete all original java specific opcodes and delete java specific opcode prefix. 15 3. We add prefix "deprecated" and keep the many old isa as "deprecated"-prefixed opcodes (for compa… 16 4. We add prefix "throw" and make all throwing opcodes be prefixed by "throw". 18 6. We adjust the format of some opcodes (about immediate number and accumulator), so that the bytec… 22 ## Function Kind and Header index 26 We reuse the field 32-bit field `access_flags_` to encode Function Kind and Header index. [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/doc/cookbook/ |
| D | summary.rst | 10 See the License for the specific language governing permissions and 20 full list with more detailed code examples and workaround suggestions. 31 - |LANG| programs must be easy for a developer to read and understand because 33 - |LANG| must execute fast and consume as little power as possible because 44 and improving performance. To achieve this, the usage of type ``any`` is 75 Rationale and Impact 78 Our research and experiments let us conclude that ``any`` is not welcome already 127 delete p1.x // Compile-time error in TypeScript and ArkTS 131 named `z`, and it is impossible to add 135 p2.z = "Label"; // Compile-time error in TypeScript and ArkTS [all …]
|
| /arkcompiler/ets_frontend/ets2panda/linter/test/rules/ |
| D | rule145.ts.json | 13 "See the License for the specific language governing permissions and", 23 … "suggest": "Property 'n' has no initializer and is not definitely assigned in the constructor.", 24 … "rule": "Property 'n' has no initializer and is not definitely assigned in the constructor.", 33 … "suggest": "Property 's' has no initializer and is not definitely assigned in the constructor.", 34 … "rule": "Property 's' has no initializer and is not definitely assigned in the constructor.", 43 … "suggest": "Function lacks ending return statement and return type does not include 'undefined'.", 44 … "rule": "Function lacks ending return statement and return type does not include 'undefined'.", 63 … "suggest": "Function lacks ending return statement and return type does not include 'undefined'.", 64 … "rule": "Function lacks ending return statement and return type does not include 'undefined'.", 73 … "suggest": "Function lacks ending return statement and return type does not include 'undefined'.", [all …]
|
| /arkcompiler/runtime_core/static_core/docs/ |
| D | ir_format.md | 4 * Possibility to implement various optimizations and analyses 5 * Support all the features and instructions of Panda bytecode 8 * Be able to convert to other IR and back 10 ## Optimizations and analyses 12 …nality for various code transformations and analyses. The structure of the IR should be as clear a… 13 Also in the compilation process, the order of execution of optimizations and analyses is very impor… 14 The first goal of the Panda IR to be able to change the order of the passes, add and delete passes(… 60 !NOTE It is possible to write other optimizations based on the specifics of the language and VM 64 …n an arbitrary order. Some restrictions will still be: register allocation and code generation at … 68 * Using profile information for IFC and speculative optimizations [all …]
|
| D | rationale-for-bytecode.md | 5 This document sets up some context about bytecode design principles and provides rationales for 14 somewhere in memory and executes corresponding _operations_ on operation's arguments, 19 is used for storing local variables along with function arguments and doing function calls. 23 that the number and purpose of registers differs, too. Some nuances of working with stack may also 24 vary across CPUs and/or different operating systems. 29 commands (or bytecode) and execute them. Of course, this implies additional performance overhead 31 abstract from CPU limitations and run our program wherever our interpreter runs. Tooling 36 hardware world: the terms "operations", "operands", "registers" and "stack" have the same meaning. 37 In case there is a chance for ambiguity, the terms "virtual registers" and "virtual stack" are used 38 to distinguish between an abstract system and the hardware. [all …]
|
| /arkcompiler/runtime_core/static_core/tests/cts-generator/cts-template/ |
| D | and.yaml | 11 # See the License for the specific language governing permissions and 16 - file-name: "and" 19 description: Perform specified binary operation on two registers and store result 27 - sig: and v1:in:i32, v2:in:i32 35 and v0, v1 43 description: Check 'and' with zero and various values. 68 - sig: and v1:in:i32, v2:in:i32 76 and v0, v1 84 description: Check 'and' with +1 and various values. 117 - sig: and v1:in:i32, v2:in:i32 [all …]
|
| /arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
| D | and.yaml | 11 # See the License for the specific language governing permissions and 16 - file-name: "and" 19 description: Perform specified binary operation on two registers and store result 27 - sig: and v1:in:i32, v2:in:i32 35 and v0, v1 43 description: Check 'and' with zero and various values. 68 - sig: and v1:in:i32, v2:in:i32 76 and v0, v1 84 description: Check 'and' with +1 and various values. 116 - sig: and v1:in:i32, v2:in:i32 [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/doc/tutorial/ |
| D | intro.rst | 10 See the License for the specific language governing permissions and 23 |LANG| is optimized to provide better performance and efficiency, while 29 mobile devices in mind, resulting in slow and inefficient applications that 36 keep the look and feel of |TS| to enable a seamless transition for the existing 37 |TS| developers, and to let mobile developers learn |LANG| quickly. 41 reducing runtime overhead, and allowing faster execution. As dynamically typed 43 ahead-of-time more efficiently, resulting in faster application startup and 47 design. Many mobile app developers already have the |TS| and |JS| code and 50 into their applications, and vice versa, and allowing the developers to leverage 51 the power of the new language by using their existing codebases and libraries. [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/docs/ |
| D | plt.md | 9 During code generation so-called `SlowPath` code is created, and we put it into a special cold code… 10 …SlowPath` blob is generated for each place it is called, and as it contains saving registers and s… 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… 23 consecutive slots are reserved in PLT-GOT table. `FirstSlot` is filled during AOT file creation and… 24 `SecondSlot` is filled during AOT file loading into runtime and contains `PLT CallStatic Resolver` … 55 `PLT CallStatic Resolver` after saving all registers to the stack and `BoundaryFrame` generation, h… 58 having this two values in `x0` and `x1` it just call `GetCalleeMethod` to gather `Method pointer`. 60 …pointer`, it is stored into `ThirdSlot`, allow to load proper executable address, and goes as first 66 For each pair of File (input for `ark_aot` compiler) and callee `method Id` (`panda_file::File::Ent… [all …]
|
| /arkcompiler/runtime_core/compiler/docs/ |
| D | plt.md | 9 During code generation so-called `SlowPath` code is created, and we put it into a special cold code… 10 …SlowPath` blob is generated for each place it is called, and as it contains saving registers and s… 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… 23 consecutive slots are reserved in PLT-GOT table. `FirstSlot` is filled during AOT file creation and… 24 `SecondSlot` is filled during AOT file loading into runtime and contains `PLT CallStatic Resolver` … 55 `PLT CallStatic Resolver` after saving all registers to the stack and `BoundaryFrame` generation, h… 58 having this two values in `x0` and `x1` it just call `GetCalleeMethod` to gather `Method pointer`. 60 …pointer`, it is stored into `ThirdSlot`, allow to load proper executable address, and goes as first 66 For each pair of File (input for `ark_aot` compiler) and callee `method Id` (`panda_file::File::Ent… [all …]
|