Home
last modified time | relevance | path

Searched full:that (Results 1 – 25 of 678) sorted by relevance

12345678910>>...28

/arkcompiler/ets_runtime/ecmascript/compiler/
Dearly_elimination.cpp97 DependChainInfo* that = new (chunk_) DependChainInfo(*this); in UpdateProperty() local
99 that->propertyMap_ = new ChunkMap<PropertyInfo, GateRef>(*propertyMap_); in UpdateProperty()
101 that->propertyMap_ = new ChunkMap<PropertyInfo, GateRef>(chunk_); in UpdateProperty()
103 that->propertyMap_->insert(std::make_pair(*info, gate)); in UpdateProperty()
104 return that; in UpdateProperty()
109 DependChainInfo* that = new (chunk_) DependChainInfo(*this); in UpdateElement() local
111 that->elementMap_ = new ChunkMap<ElementInfo, GateRef>(*elementMap_); in UpdateElement()
113 that->elementMap_ = new ChunkMap<ElementInfo, GateRef>(chunk_); in UpdateElement()
115 that->elementMap_->insert(std::make_pair(*info, gate)); in UpdateElement()
116 return that; in UpdateElement()
[all …]
/arkcompiler/runtime_core/docs/
Ddoxygen.config14 # Values that contain spaces should be placed between quotes (\" \").
21 # that follow. The default is UTF-8 which is also the encoding used for all text
30 # double-quotes, unless you are using Doxywizard) that should identify the
44 # for a project that appears at the top of each page and should give viewer a
49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
97 # descriptions after the members that are listed in the file and class
112 # This tag implements a quasi-intelligent brief description abbreviator that is
141 # inherited members of a class in the documentation of that class as if those
150 # shortest path that makes the file name unique will be used
161 # Note that you can specify absolute paths here, but also relative paths, which
[all …]
Drationale-for-bytecode.md13 There is a central processing unit (CPU) that reads commands (or _instructions_) from
17 operands are _stack operands_ that reside in a special data structure called _stack_. The program
23 that the number and purpose of registers differs, too. Some nuances of working with stack may also
79 more _dispatch overhead_. Which means that the stack-based bytecode is slower by nature.
86 interpreter is very important, that's why
117 * Sometimes you might want to write directly into virtual register. e.g. for register moves (that
133 Let's take a closer look at `adda arg1, arg2`. Assume that arguments map to virtual registers on
148 It easy to see that to address virtual registers 4 and 5 we need just 3 bits which allows to encode
157 to the stack-based approach. Of course, if virtual registers have large numbers that do no fit
165 How to make sure that we benefit from the shorter encoding most of the time? An observation shows
[all …]
Dassembly_format.md5 …mbler, a dedicated tool that translates them to binary files that can be executed by the Panda vir…
11that is (or intended to be) supported by the platform. Instead, Panda assembly can be thought as a…
19 Comments are marked with the `#` character. All characters that follow it (including the `#` charac…
28that can be represented with IEEE 754. Hexadecimal floating-point literals are prefixed with `0x`.…
86 There are keys that indicate that a function must not have an implementation. The absence of these …
158 | `java.interface` | Used to specify that the record represents Java interface. |
159 | `java.enum` | Used to specify that the record and its fields represent Java enum. |
160 | `java.annotation` | Used to specify that the record represents Java annotation. |
162 …tion class. Allowed multiple definitions. Value is the name of the record that represent Java anno…
205 | `void` | Type for the result of a function that returns normally, but does not provide a result v…
[all …]
Dcode_metainfo.md5 Metainfo is an information that aims to provide reg-to-stack mapping for virtual registers. It is n…
8 When native code calls runtime or another code that can call runtime, we must provide approach to r…
44 First row is a BitTable's header, that describe rows count and columns width.
53 Column width can't be greater than 32 bits, because `BitTableBuilder` class, that aims to build bit…
73 Row size is 25 bits, that is sum of columns width: 2 + 0 + 15 + 8.
74 Column width is determined by maximum value in a table, e.g. for 2th column it is zero row, that ha…
80 Bitmap table is a Bit table with one column, that doesn't have 32-bits limitation for the width.
106 | CALLEE_REG_MASK | Specifies registers mask that is saved in the method |
107 | CALLEE_FP_REG_MASK | Specifies fp registers mask that is saved in the method |
120 | ROOTS_REG_MASK_INDEX | Mask of the CPU registers that hold managed objects |
[all …]
D2022-08-18-isa-changelog.md14 2. We remove the prefix of ecmascript specific opcodes, such that most of the bytecode opcode can b…
18 6. We adjust the format of some opcodes (about immediate number and accumulator), so that the bytec…
24 such that runtime can distinguish the "define-function" operations of different kinds.
25 We also add header index in function such that runtime can access IndexHeader more efficiently.
34 such that the instructions can get consective indexes for methodId, stringId and literalarrayId.
36 As the method number in a class is not limited, we release the constraint that all methodId,
38 Instead, we only ask that all methodId, stringId and literalarrayId in a method should be put in on…
Dglossary.md5 During the development of Panda Runtime, we faced the fact that terminology related to the
12 compilation" are used to indicate that the source code or bytecode is compiled before actual
17 * **Compiler** is a tool that performs source code or bytecode translation, optimization and
25 compilation" are used to indicate that the source code or bytecode is compiled during program
29 * **Panda Assembler** is a tool that translates **Panda Assembly Language**
42 * **Allocator** is a part of the system that servicing allocation and deallocation requests.
56 that it can prove will never be used again.
66 It means that all objects which are currently in use are known and we know how to get value
/arkcompiler/ets_runtime/
DLICENSE14 the copyright owner that is granting the License.
17 other entities that control, are controlled by, or are under common
18 control with that entity. For the purposes of this definition,
38 copyright notice that is included in or attached to the work
42 form, that is based on (or derived from) the Work and for which the
45 of this License, Derivative Works shall not include works that remain
51 to that Work or Derivative Works thereof, that is intentionally
58 and issue tracking systems that are managed by, or on behalf of, the
60 excluding communication that is conspicuously marked or otherwise
80 by such Contributor that are necessarily infringed by their
[all …]
/arkcompiler/toolchain/
DLICENSE14 the copyright owner that is granting the License.
17 other entities that control, are controlled by, or are under common
18 control with that entity. For the purposes of this definition,
38 copyright notice that is included in or attached to the work
42 form, that is based on (or derived from) the Work and for which the
45 of this License, Derivative Works shall not include works that remain
51 to that Work or Derivative Works thereof, that is intentionally
58 and issue tracking systems that are managed by, or on behalf of, the
60 excluding communication that is conspicuously marked or otherwise
80 by such Contributor that are necessarily infringed by their
[all …]
/arkcompiler/runtime_core/compiler/docs/
Dreg_alloc_graph_coloring_doc.md17 This paper describes register allocation algorithm that is based on ideas of Chordal-graph coloring…
18 …sed on observation that programs in a strict SSA form produce a Chordal interference graphs. Main …
19 …ementation was used alternative algorithm that is LexBFS. It uses little bit more compact data str…
20 …call-site crossing will interfere with fixed-intervals (special intervals that are placeholders of…
23 …ally for nodes is collected number or fixed-intervals intersections that tell us that this interva…
27 Here additionally to the built graph with regular edges that represent interference, it is built af…
31 …s by MCS or LexBFS (that is reverse PEO), one by one is colored by a Greedy coloring algorithm. Gr…
32 …ve situations when different cliques are colored in parallel that at the end collides, that may ca…
36 There are two classes of approaches for coalescing, that is:
37that happens before or after coloring respectively. Pre-coalescing is known to potentially can inc…
[all …]
Daot_resolve_string.md4 mode such runtime calls could be replaced with load from a special PLT-slot in AOT file. In that ca…
5 loads a value from a slot associated with a string and checks if that value is valid pointer. If it…
6 application have to perform `ResolveStringAot` runtime call that will return a pointer. That runtim…
20 emits load from that slot, followed by the check that the loaded value is a valid pointer and the s…
22 The slow path performs `ResolveStringAot` runtime call that returns resolved string.
36 …or it reaches `PANDA_32BITS_HEAP_START_ADDRESS - 1` (after that invocations will not increment slo…
51 PLT-slot is referencing to an object in young space. That information allow to significantly reduce…
Dir_builder.md13 We choose a simple algorithm, that is used in many Virtual Machines. It may produce dead phis, but …
16 …he Panda bytecode, IR builder has responsibility to handle various situation that is not common for
22 - if constant is `0` and it is used in instruction that expects object(f.e. `mov.obj`), we need to …
25 Resolving these things requires addition actions in the builder, that, in turn, can require additio…
43 … bytecode instructions and make basic block for all target instructions, i.e. instructions that can
60 `Virtual register map` is a map, where key is virtual register, value is an IR instruction that cur…
66 1. Split constants: for all constants that are used in instructions with different types, split con…
68 2. Fix instructions that can't be fully completed in building process:
71 …- Check all instructions that have no type and fix it. Type is got from instructions with known in…
Dcode_sink_doc.md4 The optimization moves instructions into successor blocks, when possible, so that they are not exec…
8 This optimization allows to avoid execution of statements that are not used on execution path. This…
39 …s. It is possible if all users of the instruction is dominated by a block that the instruction is …
41 Instructions that cannot sink:
45 * Instructions that can throw an exception
53 To determine which load instruction can be sunk we keep a list of store instructions that have been…
55 Blocks that instruction cannot be sunk into:
56 * Blocks that do not dominate all users of the instruction
87 // Save stores to be sure we do not sink a load instruction that may be aliased
92 // Check that instruction can be sunk
[all …]
Daot_cha.md7 The class order in class path influences on resulting class hierarchy that would be available for a…
21 … with class hierarchy requires the complete conformity of class path with runtime. It means that we
37 The wrong usage. Some classes were omitted during AOT compilation due to the fact that they are not…
68that for boot aot files the entire --boot-panda-files must match between `ark_aot` and `ark`. It m…
/arkcompiler/runtime_core/tests/cts-generator/cts-template/
Dcheckcast.yaml58 description: Check that null object reference can be cast to any type
71 jnez.obj set_failure # check that acc == null
100 description: Check that null object reference can be cast to any type
116 jnez.obj set_failure # check that acc == null
150 description: Check that null object reference can be cast to any array type
164 jnez.obj set_failure # check that acc == null
193 description: Check that null object reference can be cast to any array type
209 jnez.obj set_failure # check that acc == null
243 description: Check that any object can be cast to the base type
257 jne.obj v1, set_failure # check that acc isn't changed
[all …]
Dthrow.yaml48 description: Check that compilation fails if register is invalid
78 description: Check that verifier report error when the register is not initialized
101 description: Check that compiler reports error when 'a' register is not initialized
135 description: Check that NullPointerException is thrown when register value is null
167 description: Check that NullPointerException is thrown when register value is null
200 description: "Check that VM thread fails when register contains not a Throwable"
253 description: "Check that VM thread fails when register contains not a Throwable"
307 description: "Check that correct catch block is selected"
309 … register. The current method is searched for the first exception handler that matches the class o…
392 description: "Check that correct catch block is selected"
[all …]
Dldobj.64.yaml98 …description: Check that verifier reports error if source registers are not initialized in Panda co…
125 …description: Check that verifier reports error if source registers are not initialized in PandaAss…
148 … description: Check that NullPointerException is thrown if object ref is null in Panda context.
180 …description: Check that NullPointerException is thrown if object ref is null in PandaAssembly cont…
211 …description: Check that verifier reports an error when the 1st operand is not a ref to an object (…
248 …description: Check that verifier reports an error when the 1st operand is not a ref to an object (…
282 …Check that verifier reports an error when the field doesn't resolve to a non-static valid object f…
337 …Check that verifier reports an error when the field doesn't resolve to a non-static valid object f…
393 …description: Check that verifier reports an error when the field resolves to a field with size or …
435 …description: Check that verifier reports an error when the field resolves to a field with size or …
[all …]
Dldobj.v.64.yaml98 …description: Check that verifier reports error if source registers are not initialized in Panda co…
123 …description: Check that verifier reports error if source registers are not initialized in PandaAss…
146 … description: Check that NullPointerException is thrown if object ref is null in Panda context.
178 …description: Check that NullPointerException is thrown if object ref is null in PandaAssembly cont…
209 …description: Check that verifier reports an error when the 2nd operand is not a ref to an object (…
247 …description: Check that verifier reports an error when the 2nd operand is not a ref to an object (…
282 …Check that verifier reports an error when the field doesn't resolve to a non-static valid object f…
337 …Check that verifier reports an error when the field doesn't resolve to a non-static valid object f…
393 …description: Check that verifier reports an error when the field resolves to a field with size or …
435 …description: Check that verifier reports an error when the field resolves to a field with size or …
[all …]
/arkcompiler/runtime_core/
DLICENSE14 the copyright owner that is granting the License.
17 other entities that control, are controlled by, or are under common
18 control with that entity. For the purposes of this definition,
38 copyright notice that is included in or attached to the work
42 form, that is based on (or derived from) the Work and for which the
45 of this License, Derivative Works shall not include works that remain
51 to that Work or Derivative Works thereof, that is intentionally
58 and issue tracking systems that are managed by, or on behalf of, the
60 excluding communication that is conspicuously marked or otherwise
80 by such Contributor that are necessarily infringed by their
[all …]
/arkcompiler/ets_frontend/
DLICENSE14 the copyright owner that is granting the License.
17 other entities that control, are controlled by, or are under common
18 control with that entity. For the purposes of this definition,
38 copyright notice that is included in or attached to the work
42 form, that is based on (or derived from) the Work and for which the
45 of this License, Derivative Works shall not include works that remain
51 to that Work or Derivative Works thereof, that is intentionally
58 and issue tracking systems that are managed by, or on behalf of, the
60 excluding communication that is conspicuously marked or otherwise
80 by such Contributor that are necessarily infringed by their
[all …]
/arkcompiler/ets_runtime/ecmascript/napi/
Djsnapi_helper.h97 auto that = reinterpret_cast<NativeReferenceHelper*>(ref); in FirstPassCallBack() local
98 that->obj_.FreeGlobalHandleAddr(); in FirstPassCallBack()
103 auto that = reinterpret_cast<NativeReferenceHelper*>(ref); in SecondPassCallBack() local
104 if (that->callback_ != nullptr) { in SecondPassCallBack()
105 that->callback_(that->vm_); in SecondPassCallBack()
107 that->callback_ = nullptr; in SecondPassCallBack()
/arkcompiler/runtime_core/compiler/optimizer/optimizations/
Dcode_sink.cpp28 * Code sinking optimization attempts to sink operations that is needed only in
29 * a particular execution path but are performed on paths that do not need
50 * - Instructions that can throw an exception
56 * - Loads that may be aliased by following stores in a basic block
108 // Ensures that we do not move in or out monitored section in ProcessBlock()
139 …* Check that an instruction can be sunk. Then check that dominated blocks are acceptable for sink…
145 // Save stores to be sure we do not sink a load instruction that may be in SinkInstruction()
151 // Check that instruction can be sunk in SinkInstruction()
185 * Check that candidate dominates all users of inst.
218 // Check that all uses are dominated by the candidate in IsAcceptableTarget()
/arkcompiler/ets_runtime/ecmascript/napi/include/
Djsnapi.h153 inline CopyableGlobal(const CopyableGlobal &that) in CopyableGlobal() argument
155 Copy(that); in CopyableGlobal()
158 inline CopyableGlobal &operator=(const CopyableGlobal &that)
160 Copy(that);
164 inline CopyableGlobal(CopyableGlobal &&that) in CopyableGlobal() argument
166 Move(that); in CopyableGlobal()
169 inline CopyableGlobal &operator=(CopyableGlobal &&that)
171 Move(that);
181 CopyableGlobal(const CopyableGlobal<S> &that) in CopyableGlobal() argument
183 Copy(that); in CopyableGlobal()
[all …]
/arkcompiler/runtime_core/tests/checked/
DREADME.md3 Checked tests is the tests that have additional functionality to check result of the test being run.
29 * **METHOD** (name: string) start check of specified method, all following checks that require spec…
31 * **PASS_BEFORE** (pass_name: string) select pass that is right before the specified one
33 * **INST_NOT** (inst: pattern) equal to `NOT INST`, i.e. check that instruction is not exist
38 * **SKIP_IF** (condition) if condition is `true`, skip all commands from that to end of this checker
/arkcompiler/ets_runtime/docs/
Doverview.md26 …system consists of an interpreter that executes bytecodes, inline caching that stores hidden class…
45 … ensure security and performance, ArkCompiler JS Runtime selects the code that supports strict but…
49 …e. ArkCompiler JS Runtime is required to provide the Actor implementation that features fast start…
51 …Compiler JS Runtime is planned to statically generate a C/C++ header file that contains the TS obj…

12345678910>>...28