Home
last modified time | relevance | path

Searched full:the (Results 1 – 25 of 5418) sorted by relevance

12345678910>>...217

/arkcompiler/runtime_core/docs/
Ddoxygen.config3 # This file describes the settings to be used by the documentation system
7 # front of the TAG it is preceding.
10 # The format is:
20 # This tag specifies the encoding used for all characters in the config file
21 # that follow. The default is UTF-8 which is also the encoding used for all text
22 # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
23 # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
24 # for the list of possible encodings.
25 # The default value is: UTF-8.
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
[all …]
Druntime-compiled_code-interaction.md1 # Interaction of compiled code and the runtime
5 …and Panda runtime should interact with each other. This document describes the following aspects i…
8 * The structure of compiled code stack frames and stack traversing
9 * Transition from the interpeter to compiled code and vise versa
10 * Calling the runtime
14 Documentation of meta information generated by the compiler is located in compiled_method_info.md d…
16 ## Panda runtime (the runtime)
17 Panda runtime as a set of functions aimed to execute managed code. The runtime consists of several …
18 The document refers to the interpreter and the compiler modules.
20 The interpreter is a part of the runtime aimed to execute bytecode of managed functions. The interp…
[all …]
Dfile_format.md3 This document describes Panda binary file format with the following goals in mind:
16 Current binary file format should extend these limits to conform to the modern requirements.
18 To achieve this, all references in the binary file are 4 bytes long. It allows to have 4Gb for
21 The format uses [TaggedValue](#taggedvalue) which allows to store only information we have and
25 the bytecode and some metadata. File can contain multiple indexes each one covers part of the
32 indexes (like sorted list of strings). However, the described binary format supports one index:
37 Foreign classes, fields and methods are declared in other files, with references from the
38 current binary file. Local classes, fields and methods are declared in the current file.
39 Local entities has the same header as the corresponding foreign. So
40 having an offset to an entity it doesn't matter whether the entity is local or foreign.
[all …]
Ddesign-of-interpreter.md5 This document outlines the key design decisions in the interpreter and its companion components:
11 | Requirements | Enlists the requirements to the component. |
12 | Key Design Decisions | Summarizes the key decisions to address the requirements. |
13 | Rationale | Elaborates on the rationales behind the decisions. |
16 Please refer to the [glossary](glossary.md) for terminology clarification.
20 This section outlines common requirements that should be considered while designing the interpreter
21 and all related components of the platform:
23 1. The platform should scale from microcontrollers to hi-end mobile phones:
27 1. The platform should support multiple programming languages
33 1. Bytecode should allow the interpreter to run no slower than state of the art interpreters.
[all …]
Drationale-for-bytecode.md16 directly on the CPU) or _memory_ (some locations in computer's RAM). An important subset of memory
17 operands are _stack operands_ that reside in a special data structure called _stack_. The program
18 must maintain the stack in the correct state during runtime because exactly this data structure
23 that the number and purpose of registers differs, too. Some nuances of working with stack may also
26 Here comes the bytecode. Simply said, it is an attempt to build an abstract CPU on top of real
27 ones. A program written for such abstract CPU can be run on any real hardware with the help of a
28 special program called _interpreter_. The goal of the interpreter is to read our unified _virtual_
30 making interpretation slower than _native code execution_. In return, we get the ability to
32 (debugger, profilers, etc.) is also unified, as well as the ecosystem for managing libraries,
35 Although bytecode represents some abstraction, it mirrors all the mentioned concepts from the
[all …]
Ddeoptimization.md5 Deoptimization is the process of taking action if compiled code cannot continue execution for some …
7 The compiler may make some speculative assumptions about the execution of the method. Based on thes…
17 The instruction `DeoptimizeIf` is encoded as conditional branch to the slow path if input value is …
22 The slow path encodes a call to the runtime function `Deoptimize`. We do the following for this:
23 1. fill the `Frame`(saves pointer to current CFrame) and `is_compiled_frame_`(saves true) fields in…
30 ### The function Deoptimize
32 The function `Deoptimize` calculates bitecode pc where we should start executing code in the interp…
33 …f deoptimization occurred in the inlined method, we restore all interpreter frames for all inlined…
65 If the deoptimized method was called from interpreter, `Deoptimize` calls the bridge `DeoptimizeAft…
68 * pointer to the current thread
[all …]
Dir_format.md3 This document describes Panda IR design with the following goals
5 * Support all the features and instructions of Panda bytecode
12the development process, it is very important to have auxiliary functionality for various code tra…
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(…
15 Second, we need to support the transfer of information between optimizations.
17 ### List of the optimizations
52 The benefits of some optimizations are not obvious or do need profiling information to implement th…
58 !NOTE It is possible to write other optimizations based on the specifics of the language and VM
60 ### The order of optimizations
[all …]
D2022-08-18-isa-changelog.md3 This document describes change log with the following modifications:
11 The bytecode size and runtime performance have been suffering for a long time as the all the
14 2. We remove the prefix of ecmascript specific opcodes, such that most of the bytecode opcode can b…
15 3. We add prefix "deprecated" and keep the many old isa as "deprecated"-prefixed opcodes (for compa…
18 6. We adjust the format of some opcodes (about immediate number and accumulator), so that the bytec…
19 7. We change the semantics of some opcodes.
23 …fine-function" opcodes as one opcode, in function we add one field which records the function kind,
24 such that runtime can distinguish the "define-function" operations of different kinds.
26 We reuse the field 32-bit field `access_flags_` to encode Function Kind and Header index.
27 This will not introduce compatibility issue because the later 24-bit of `access_flags_` is unused i…
[all …]
/arkcompiler/runtime_core/
DLICENSE10 "License" shall mean the terms and conditions for use, reproduction,
13 "Licensor" shall mean the copyright owner or entity authorized by
14 the copyright owner that is granting the License.
16 "Legal Entity" shall mean the union of the acting entity and all
18 control with that entity. For the purposes of this definition,
19 "control" means (i) the power, direct or indirect, to cause the
21 otherwise, or (ii) ownership of fifty percent (50%) or more of the
27 "Source" form shall mean the preferred form for making modifications,
36 "Work" shall mean the work of authorship, whether in Source or
37 Object form, made available under the License, as indicated by a
[all …]
DOAT.xml4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
11 distributed under the License is distributed on an "AS IS" BASIS,
13 See the License for the specific language governing permissions and
14 limitations under the License.
16 …This is the configuration file template for OpenHarmony OSS Audit Tool, please copy it to your pro…
20 …1.If the project don't have "LICENSE" in root dir, please define all the license files in this pro…
23 …1. policy: If the OAT-Default.xml policies do not meet your requirements, please add policies here.
24 …2. policyitem: The fields type, name, path, desc is required, and the fields rule, group, filefilt…
[all …]
/arkcompiler/ets_runtime/
DLICENSE10 "License" shall mean the terms and conditions for use, reproduction,
13 "Licensor" shall mean the copyright owner or entity authorized by
14 the copyright owner that is granting the License.
16 "Legal Entity" shall mean the union of the acting entity and all
18 control with that entity. For the purposes of this definition,
19 "control" means (i) the power, direct or indirect, to cause the
21 otherwise, or (ii) ownership of fifty percent (50%) or more of the
27 "Source" form shall mean the preferred form for making modifications,
36 "Work" shall mean the work of authorship, whether in Source or
37 Object form, made available under the License, as indicated by a
[all …]
DOAT.xml4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
11 distributed under the License is distributed on an "AS IS" BASIS,
13 See the License for the specific language governing permissions and
14 limitations under the License.
17 basedir: Root dir, the basedir + project path is the real source file location.
19 1.If the project don't have "LICENSE" in root dir, please define all the license files in this proj…
24 3. task policy: Default policy for projects under this task, this field is required and the specifi…
25 4. task filter: Default filefilter for projects under this task, this field is required and the spe…
[all …]
/arkcompiler/toolchain/
DLICENSE10 "License" shall mean the terms and conditions for use, reproduction,
13 "Licensor" shall mean the copyright owner or entity authorized by
14 the copyright owner that is granting the License.
16 "Legal Entity" shall mean the union of the acting entity and all
18 control with that entity. For the purposes of this definition,
19 "control" means (i) the power, direct or indirect, to cause the
21 otherwise, or (ii) ownership of fifty percent (50%) or more of the
27 "Source" form shall mean the preferred form for making modifications,
36 "Work" shall mean the work of authorship, whether in Source or
37 Object form, made available under the License, as indicated by a
[all …]
DOAT.xml4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
11 distributed under the License is distributed on an "AS IS" BASIS,
13 See the License for the specific language governing permissions and
14 limitations under the License.
17 basedir: Root dir, the basedir + project path is the real source file location.
19 1.If the project don't have "LICENSE" in root dir, please define all the license files in this proj…
24 3. task policy: Default policy for projects under this task, this field is required and the specifi…
25 4. task filter: Default filefilter for projects under this task, this field is required and the spe…
[all …]
/arkcompiler/ets_runtime/docs/
Doverview.md3the compiler, toolchain, and runtime. It supports compilation and running of high-level programmin…
5 …olchain and JS runtime. The JS compiler toolchain compiles JS source code into ArkCompiler bytecod…
7 Figure 1 Architecture of the JS compiler toolchain
10 The source code compiler of ArkCompiler JS Runtime receives JS source code, based on which ts2abc g…
30 …JS Compiler Subsystem consists of the Stub compiler, optimized compilation framework based on the
37 - Concurrency management: abc file manager in the actor concurrency model
43 …/TS application execution engine for OpenHarmony rather than a JS execution engine for the browser.
45the application execution performance and security, ArkCompiler JS Runtime statically pre-compiles…
47The common way to process TS in the industry is to convert TS into JS and execute JS code with JS …
49The Actor concurrency model is commonly used in JS engines in the industry to implement concurrent…
[all …]
/arkcompiler/ets_frontend/
DLICENSE10 "License" shall mean the terms and conditions for use, reproduction,
13 "Licensor" shall mean the copyright owner or entity authorized by
14 the copyright owner that is granting the License.
16 "Legal Entity" shall mean the union of the acting entity and all
18 control with that entity. For the purposes of this definition,
19 "control" means (i) the power, direct or indirect, to cause the
21 otherwise, or (ii) ownership of fifty percent (50%) or more of the
27 "Source" form shall mean the preferred form for making modifications,
36 "Work" shall mean the work of authorship, whether in Source or
37 Object form, made available under the License, as indicated by a
[all …]
DOAT.xml3 Licensed under the Apache License, Version 2.0 (the "License");
4 you may not use this file except in compliance with the License.
5 You may obtain a copy of the License at
10 distributed under the License is distributed on an "AS IS" BASIS,
12 See the License for the specific language governing permissions and
13 limitations under the License.
16 basedir: Root dir, the basedir + project path is the real source file location.
18 1.If the project don't have "LICENSE" in root dir, please define all the license files in this proj…
23 3. task policy: Default policy for projects under this task, this field is required and the specifi…
24 4. task filter: Default filefilter for projects under this task, this field is required and the spe…
[all …]
/arkcompiler/runtime_core/compiler/docs/
Daot_cha.md7 The class order in class path influences on resulting class hierarchy that would be available for a…
8 result the order of files in class path and files themselves are enough to verify the class context…
9 … when several same classes were passed and only the first is considered by VM. To identify ark fil…
14 The typical string is:
21 AOT file compiled with class hierarchy requires the complete conformity of class path with runtime.…
24 The example of usage
37 The wrong usage. Some classes were omitted during AOT compilation due to the fact that they are not…
53 The string of class context for AOT file takes into account `--paoc-location` option.
56 The boot class path now is a part of class context string. When boot image would be implemented the
59 As boot class path represents the core classes of VM it should not depend on any of application cod…
[all …]
Dmemory_barriers_doc.md5 …ode barriers after the instructions NewArray, NewObject, NewMultiArray so that if the created obje…
6 We can remove the barrier if we prove that the created object cannot be passed to another thread be…
7 This can happen if we save the object to memory or pass it to another method
11 Reducing the number of instructions and speed up execution.
19 There is instruction flag `MEM_BARRIER`. The flag is set to `true` for the instructions NewObject, …
20 The pass `OptimizeMemoryBarriers` try remove the flag(set false) from the instruction.
21 We pass through all instructions in PRO order. If the instruction has flag `MEM_BARRIER` we add the
22 …ject to another thread(Store instruction, Call instruction e.t.c) we check the instruction inputs.…
23 If the instruction has input from the `barriers_insts_`, we call function `MergeBarriers`.
24 The function set `false` for the flag `MEM_BARRIER`, exclude last instruction from the vector.
[all …]
Dir_builder.md5 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…
17 the IR. Such as:
25 Resolving these things requires addition actions in the builder, that, in turn, can require additio…
37 1. Building the Control Flow Graph.
38 2. Building the Data Flow Graph (in SSA form).
39 3. Fixing the type uncertainties of the instructions.
41 **Building the Control Flow Graph**
44 be entries to the basic blocks.
46 3. Connect the basic blocks, hereby making a CFG.
[all …]
Daot_resolve_string.md5 …rom a slot associated with a string and checks if that value is valid pointer. If it's not then the
7 returned string pointer into the slot and subsequent executions of the same code will bypass runtim…
13 To use the latter encoding the following conditions have to be met:
15 …d method should not be a static class initializer (initializers get invoked only once and the first
16 …resolution attempt requires runtime call, so usage of regular `ResolveString` call reduces the ove…
19 If the condition is met then the compiler reserves a unique PLT-slot (with type `STRING_SLOT`) for
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.
27 - `--aot-string-gc-roots-limit` controls how many time the same string should be resolved before it…
28 saved into the associated PLT-slot;
[all …]
/arkcompiler/runtime_core/libziparchive/
Dzip_archive.h3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
10 * distributed under the License is distributed on an "AS IS" BASIS,
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
71 * Open a Zip archive from filename path, and sets handle for the file.
73 * CloseArchive will close the file opened.
85 * Open a Zip archive from opened file FILE* fp, and sets handle for the file.
87 * CloseArchiveFile will not close the fp. It is the caller's responsibility.
[all …]
/arkcompiler/runtime_core/libpandabase/mem/
Darena.h3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
10 * distributed under the License is distributed on an "AS IS" BASIS,
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
37 * @param size - size of the allocated memory
38 * @param alignment - alignment of the allocated memory
39 * @return pointer to the allocated memory on success, or nullptr on fail
44 * \brief Links this Arena to the \param arena
[all …]
/arkcompiler/runtime_core/runtime/mem/gc/heap-space-misc/
Dcrossing_map.h3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
10 * distributed under the License is distributed on an "AS IS" BASIS,
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
33 // TODO(aemelenko): Now, we can't change the granularity parameter here
58 // This element (or map) can be used to get the first object address, which starts inside this page…
59 // or an object address, which crosses the borders of this page.
64 * @param internal_allocator - pointer to the internal allocator.
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/
Dtype_recorder.h3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
10 * distributed under the License is distributed on an "AS IS" BASIS,
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
52 …// This function tries to get the type of 'this'. In success, the type of the class is returned if…
53 …// a static member, or the type of instances of the class is returned. Otherwise the type 'any' is…
56 …// This function tries to get the type of 'newTarget'. In success, the type of the class is return…
57 // the type 'any' is returned.
[all …]

12345678910>>...217