| /arkcompiler/runtime_core/docs/ |
| D | assembly_format.md | 5 …e format for Panda platform. Assembly files are human-readable and human-writeable plain text file… 19 Comments are marked with the `#` character. All characters that follow it (including the `#` charac… 25 Following numeric literals are supported: 27 …integers not larger than 64 bits. Hexadecimal literals are prefixed with `0x`. Binary literals are… 28 …resented with IEEE 754. Hexadecimal floating-point literals are prefixed with `0x`. They are first… 48 A simple identifier is a sequence of ASCII characters. Allowed characters in the sequence are: 58 * All identifiers are case sensitive. 70 …support many of them. To deal with language-specific metadata, annotations are used, defined as fo… 76 Values are optional. In such case, only `key` is needed. 81 * All keys are unique within a single annotation list. [all …]
|
| D | rationale-for-bytecode.md | 17 operands are _stack operands_ that reside in a special data structure called _stack_. The program 37 In case there is a chance for ambiguity, the terms "virtual registers" and "virtual stack" are used 47 In _stack-based_ approach, operands are implicitly encoded in the operation, which results in 60 In _register-based approach_, operands are explicitly encoded in the operation, which results in 89 However, to address the issue of compactness, two main tweaks are used: 92 * Variable size of instructions with frequent instructions are encoded to be smaller. 110 With this approach, we are no longer required to encode destination register, it is "hardcoded" to 118 are popular) and for increment/decrement instructions (when loop variable is only read in a loop 179 overloads are calls (different number of operands) and calls are the most popular instructions in 185 `adda ...` instruction, what are types of its operands? [all …]
|
| D | ir_format.md | 13 …f execution of optimizations and analyses is very important. Firstly there are dependencies betwee… 52 The benefits of some optimizations are not obvious or do need profiling information to implement th… 83 …zations. For this, need to support ARMv8-M Instruction Set(only those instructions that are needed) 88 …de is converted to high level instruction and architecturally independent optimizations are made. 94 … is considered to be the average number of 'native' instructions(ARM) that are spent compiling a s… 119 * Information about the method for which transformations are made 131 * A double-linked list of instructions, which are contained in the block 153 …h an empty block when there are `Phi` instructions in block 2 with different inputs from those inc… 183 Instructions are implemented by class inheritance. 199 …nt instruction. It contains a constant and type of the constant. Constants are contained only in s… [all …]
|
| D | doxygen.config | 30 # double-quotes, unless you are using Doxywizard) that should identify the 84 # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, 97 # descriptions after the members that are listed in the file and class 106 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 117 # following values are used ($name is automatically replaced with the name of 133 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 171 # specify the list of include paths that are normally passed to the compiler 206 # Note that setting this tag to YES also means that rational rose comments are 251 # instance, some of the names that are used will be different. The list of all 292 # the files are not read by doxygen. [all …]
|
| D | design-of-interpreter.md | 40 1. Bytecode is register-based: all arguments and variables are mapped to virtual registers, 84 1. All metadata entities are split into two groups: local (declared in the current executable file) 87 more efficient data reads from the Panda binary file. Foreign entities are loaded from their 126 are reimplemented by the platform. 132 1. Interpreters are by nature slower than native code execution. Slowdown can be explained by: 167 1. All virtual registers are "tagged", meaning that they contain both the payload and additional 185 size of the payload we are required to store in a virtual register). The second 64 is for tag 210 are small chunks of hand-written Panda Assembly covering corner cases, while the majority of 211 cases are covered by automatically generated chunks. 218 Lots of things are being created in parallel, and currently there is no stable front-end for Panda
|
| D | aot.md | 29 To access to the `.text` and `.aot` sections from AOT loader following symbols are defined: 46 Classes and methods are uniquely identified (inside one file) by their panda file id (`panda_file::… 104 to cache pointers which are recieved from runtime calls - PLT resolvers. They are described in a se… 122 - `--location` - path where panda files are actually stored in the device 125 Paoc uses Panda runtime inside, thus, runtime's options are also may be specified. If paoc is ran n… 171 Disassembler creates files with following name format `disasm-<METHOD_NAME>.txt`. IR dumps are writ… 174 to dump ir only after last (codegen) pass. All of these options are used at compile time.
|
| D | cfi_directives.md | 30 … saved `callees` from stack and also `fp`/`lr`. Here we annotate that saved registers are restored. 34 There are bridges which `hack` stack memory (setting `stack pointer` to other stack frame), i.e.: 41 In that case we "say" to `debugger` that we are not going to return to previous frame. So we direct…
|
| /arkcompiler/runtime_core/compiler/docs/ |
| D | paoc.md | 4 There are three [modes](#--paoc-mode) of `paoc`: 6 …ample, to get `--compiler-dump` or to ensure that all of the compiler passes are applied correctly. 20 - A boolean option that allows to continue the compilation if some of the methods are failed to com… 59 If none of them are specified, `paoc` will compile every method from [--paoc-panda-files](#`--paoc-… 87 # Keys are functions' full names (i.e. `class::method`). 88 … # Values are arrays whose elements should be a name of a cluster or it's index (starting from 0). 89 # If some of the options are intersecting, the last (in the array) would be applied. 99 # Keys are clusters' names. 100 # Values are objects with `"option": argument` elements.
|
| D | if_conversion_doc.md | 8 … pipeline stops and the state is restored. As result, several dozen cycles are lost. `IfConversion… 20 Two patterns are checked for each block: `Triangle` and `Diamond`. 66 2. Edges `BB` -> `JBB` and `JBB` -> `PBB` are removed 67 3. All instruction from `JBB` are copied to `BB` 68 4. Select instructions are constructed at the end of `BB`(`JBB 2` for Diamond) 69 5. All Phi instructions in `PBB` are edited: 70 … predecessors, we check if inputs from `JBB` and `BB`(`JBB 2` for Diamond) are equal, then input f… 71 …b. If `PBB` doesn't have other predecessors, all Phi inputs are copied to Select instructions and … 72 6. For Diamond `BB` and `JBB 2` are merged 73 7. If `PBB` doesn't have other predecessors, `BB` and `PBB` are merged
|
| D | reg_alloc_graph_coloring_doc.md | 18 …Chordal graph is that: its max-clique value equals to Chromatic one; there are exist Perfect Elimi… 20 …are collected from Architecture and remapped (to sequential numbering) in order <caller-saved, cal… 27 …ity edges represent move-relation between values. Currently affinity edges are added for inputs of… 32 …tart another one. This way we don’t have situations when different cliques are colored in parallel… 36 There are two classes of approaches for coalescing, that is: 38 - Biasing, is a way when in front of coloring nodes are “hinted” with preferred colors. And on stag… 42 …orithm which is recursive call to DFS, until all nodes having affine edges are visited. Marker of … 43 Biases are collected to array of tuples <bias color, call-sites count>, where color value initially… 47 …and neighbor bias-colors (if any). To account this information two bit-sets are used respectively. 55 …sponding interval is performed. All nodes at the moment are assigned by colors, these colors are r… [all …]
|
| D | aot_cha.md | 8 result the order of files in class path and files themselves are enough to verify the class context… 37 The wrong usage. Some classes were omitted during AOT compilation due to the fact that they are not… 61 is performed during Runtime initialization when only boot panda files are loaded. The verification … 65 …ing their paths on the target. `--paoc-boot-location` specifies the path where boot panda files are 68 …-panda-files must match between `ark_aot` and `ark`. It means, that if you are compiling an AOT fi… 91 …odPtr is needed only to obtain the virtual table index. The indices inside virtual tables are still
|
| /arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
| D | isinstance.yaml | 54 …type in type hierarchy or T is such array that O array elements are the same or subtype of T array… 331 …type in type hierarchy or T is such array that O array elements are the same or subtype of T array… 347 # O and T are of the same type, std object 353 # O and T are of the same type, custom object 359 # O and T are of the same type, string 364 # O and T are of the same type, type 393 # O and T are of the same type, both arrays, std object 401 # O and T are of the same type, both arrays, custom object 409 # O and T are of the same type, both arrays, string 456 …type in type hierarchy or T is such array that O array elements are the same or subtype of T array… [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/ |
| D | circuit_ir_specification.md | 5 …en.wikipedia.org/wiki/Logic_gate) are nodes, wires are directed edges. For every gate, inputs are … 9 …are named **state gates** (since they acted like a [finite state machine](https://en.wikipedia.org… 11 …are named **computation gates**. A computation gate can do simple things such as adding two intege… 13 …are [linearly ordered](https://en.wikipedia.org/wiki/Total_order). However, in Circuit IR, computa… 17 …are **[selector](https://en.wikipedia.org/wiki/Multiplexer) gates** such as `VALUE_SELECTOR` and `… 19 …lem, **[relay](https://en.wikipedia.org/wiki/Relay) gates** `DEPEND_RELAY` are introduced. They ta… 23 …are several nodes named **root nodes** in Circuit IR. They are not called "gates" since they do no… 33 …IST`: Registering all value origins such as constants and arguments. (they are special computation… 35 The offsets of root nodes are fixed, so they can be accessed instantly via `GateRef Circuit::GetRoo… 41 There are two levels of types of values in Circuit IR: [all …]
|
| /arkcompiler/runtime_core/docs/bc_verification/ |
| D | types_n_values.md | 3 Types are divided into next kinds: 8 3. Physycal (concrete) types. They are parameterized types by abstract and storage types. 12 Types are formed by some `Sort`, an uniq identifier of the type family, and particular parameters. 24 - Sorts are denoted by some `Literals`. Where `Literal` is a word composed of characters from set `… 26 - Types are denoted by sort literal and parameters in parenthesis. For instance: `Array(~i8())`. 27 - Type parameters are just types prepended by variance sign, `-` - contrvariant, `+` - variant, `~`… 80 Types which are in circular subtyping relation, like `A <: B <: C <: A`, are indistinguishable
|
| D | type_system.md | 3 Type system is simple: there are only parametric type families, named as `Sort`s, and their instanc… 5 For simplicity, all literals without parens are Sorts, with parens - Types. 20 Internally they are just indices. 26 Variances are: 60 Loops in subtyping relation are threated as classes of equivalence, for instance:
|
| D | cflow_checks.md | 39 ## Cflow transitions, which are subjects for checks 78 Mis-jumps, or improper termination of cflow at the end of the body are prohibited. 101 Conditional jumps are in grey zone, if they may be proven as always jump 103 of verifier, conditional jumps at the end of the method are prohibited. 145 fallthrough on beginning of exception handler are allowed. 291 By default such cflow transitions are prohibited. 313 By default such jumps are prohibited currently.
|
| /arkcompiler/runtime_core/verification/ |
| D | messages.yaml | 72 …Compatible subtypes are: ${subtypes}. Types that can be stored without data loss are: ${field_subt… 111 Compatible accumulator types are: ${compatible_acc_types}. 156 …wrong type: '${reg_type}'. Expected a subtype of one from ${target_types}. Compatible subtypes are: 180 …ent type '${type}'. Expected a subtype of '${expected_type}'. Compatible subtypes are: ${subtypes}. 198 Cannot create array of non-array type '${type}'. Possible types are ${array_types}. 204 Cannot create object of non-object type '${type}'. Possible types are ${object_types}. 225 Compatible subtypes are ${field_obj_subtypes}. 234 Compatible subtypes are ${expected_subtypes}. 240 … Wrong return value type (in accumulator): '${acc_type}'. Compatible types are: ${expected_types}. 247 Compatible subtypes are: ${expected_types}. [all …]
|
| /arkcompiler/ets_runtime/test/perform/string/ |
| D | string.js | 30 const str = 'Apples are round, and apples are juicy.'; 54 const str = "Hello World. How are you doing?" 123 const str = "Hello World. How are you doing?" 145 const str = "Hello World. How are you doing?" 156 const str = "Hello World. How are you doing?" 178 const str = "Hello World. How are you doing?" 189 const str = "Hello World. How are you doing?" 196 print("string substr the two parameters are adjacent numbers : " + time3); 288 const str = "Hello World. How are you doing?" 321 const str = "Hello World. How are you doing?" [all …]
|
| /arkcompiler/ets_frontend/ts2panda/scripts/ |
| D | diagnosticMessages.json | 94 "A 'with' statements are not allowed in strict mode.": { 150 "Octal literals are not allowed in strict mode.": { 154 "Octal escape sequences are not allowed in strict mode.": { 250 "Decorators are not valid here.": { 258 "Invalid use of '{0}'. Class definitions are automatically in strict mode.": { 270 …"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically… 274 …"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict… 310 …"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.… 314 …"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.… 318 …"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.… [all …]
|
| /arkcompiler/runtime_core/bytecode_optimizer/ |
| D | reg_encoder.h | 33 * * locals (>= 0) are registers allocated for function's local variables; 34 * * temps (>= 0) are temporary registers that can be allocated by spill-fill 36 * * arguments (>= 0) are registers allocated for function's arguemnts. 40 * Locals and temps are allocated densely: if there are more than 0 locals 58 * actual inputs r16+. If such instructions are found, some lower registers 59 * (starting with r0, but no more than MAX_NUM_INPUTS registers) are reserved as 60 * temps and corresponding spills are emitted where needed. After this is done,
|
| /arkcompiler/runtime_core/verification/models/typesystem/ |
| D | ark_typesystem.als | 32 // all params are different 43 // all signatures are different for different params 83 // todo: all params are in signatures 84 // todo: all signatures are used by sorts 88 // check if params are in subtyping relation 108 // two signatures are in subtyping relation if 112 #sig1 = #sig2 // they are of same length
|
| /arkcompiler/toolchain/build/config/sanitizers/ |
| D | sanitizers.gni | 108 # This flag is not used for libFuzzer (use_libfuzzer=true) unless we are on 146 # Whether we are doing a fuzzer build. Normally this should be checked instead 151 # Args that are in turn dependent on other args must be in a separate 152 # declare_args block. User overrides are only applied at the end of a 171 # Whether we are linking against a debugging sanitizer runtime library. Among 231 # Make sure that if we recover on detection (i.e. not crash), diagnostics are 244 # and libprotobuf when they are built as part of a proto fuzzer). Adding or 245 # removing these lists does not have any effect if use_libfuzzer or use_afl are 258 # Allow sanitizer instrumentation to be removed if we are not using MSan
|
| /arkcompiler/runtime_core/runtime/ |
| D | global_handle_storage.h | 94 // TaggedType has been specialized for js, Other types are empty implementation 97 // TaggedType has been specialized for js, Other types are empty implementation 100 // TaggedType has been specialized for js, Other types are empty implementation 105 // TaggedType has been specialized for js, Other types are empty implementation
|
| D | thread_manager.h | 167 …// Returns true if unregistration succeeded; for now it can fail when we are trying to unregister … 198 // So, they are not included as MANAGED_CODE_THREAD. in SatisfyTheMask() 199 // Newly created threads are using flag suspend new count. in SatisfyTheMask() 224 * Tries to stop all daemon threads in case there are no active basic threads 244 …// * BLOCKED - it means we are trying to acquire lock in Monitor, which was created in internalAll… in CanDeregister() 247 // * NATIVE threads are either go to FINISHED status or considered a part of a deadlock; in CanDeregister() 272 // A specific counter of threads, which are not completely created 273 …// When the counter != 0, operations with thread set are permitted to avoid destruction of shared …
|
| /arkcompiler/runtime_core/isa/ |
| D | asserts.rb | 39 assert('Non-prefixed instruction opcode indexes are sorted') do 43 assert('Prefix opcode indexes are sorted') do 79 assert('All tags are unique between categories') do 83 assert('All tags are used') do 91 assert('All tags are defined') do 99 assert('Format operands are parseable') { Panda.instructions.each(&:operands) } 101 assert('Verification, exceptions and properties are not empty for every instruction group') do
|