Home
last modified time | relevance | path

Searched +full:dynamically +full:- +full:typed (Results 1 – 20 of 20) sorted by relevance

/arkcompiler/runtime_core/static_core/docs/
Drationale-for-bytecode.md10 Before discussing bytecode per se, let's take a look at an over-simplified picture of a real
47 In _stack-based_ approach, operands are implicitly encoded in the operation, which results in
54 add ; remove two top-most values from the stack, add them and put the result at the top
60 In _register-based approach_, operands are explicitly encoded in the operation, which results in
71 This example demonstrates a fundamental difference between two approaches. Stack-based approach
73 can be represented with a single byte, while register-based `add reg_dst, reg_src1, reg_src2` may
76 At the same time, to execute a stack-based addition we need to run 3 instructions compared to
77 just a single register-based instruction. Since the interpreter has an extra work to do to read
79 more _dispatch overhead_. Which means that the stack-based bytecode is slower by nature.
81 According to our experiment, uncompressed register-based bytecode can be reduced by ~26%
[all …]
Ddoxygen.config16 #---------------------------------------------------------------------------
18 #---------------------------------------------------------------------------
21 # that follow. The default is UTF-8 which is also the encoding used for all text
25 # The default value is: UTF-8.
27 DOXYFILE_ENCODING = UTF-8
30 # double-quotes, unless you are using Doxywizard) that should identify the
63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
73 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
74 # characters to appear in the names of generated files. If set to NO, non-ASCII
85 # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
[all …]
/arkcompiler/runtime_core/docs/
Drationale-for-bytecode.md10 Before discussing bytecode per se, let's take a look at an over-simplified picture of a real
47 In _stack-based_ approach, operands are implicitly encoded in the operation, which results in
54 add ; remove two top-most values from the stack, add them and put the result at the top
60 In _register-based approach_, operands are explicitly encoded in the operation, which results in
71 This example demonstrates a fundamental difference between two approaches. Stack-based approach
73 can be represented with a single byte, while register-based `add reg_dst, reg_src1, reg_src2` may
76 At the same time, to execute a stack-based addition we need to run 3 instructions compared to
77 just a single register-based instruction. Since the interpreter has an extra work to do to read
79 more _dispatch overhead_. Which means that the stack-based bytecode is slower by nature.
81 According to our experiment, uncompressed register-based bytecode can be reduced by ~26%
[all …]
Ddoxygen.config16 #---------------------------------------------------------------------------
18 #---------------------------------------------------------------------------
21 # that follow. The default is UTF-8 which is also the encoding used for all text
25 # The default value is: UTF-8.
27 DOXYFILE_ENCODING = UTF-8
30 # double-quotes, unless you are using Doxywizard) that should identify the
63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
73 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
74 # characters to appear in the names of generated files. If set to NO, non-ASCII
85 # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
[all …]
/arkcompiler/runtime_core/static_core/tests/cts-coverage-tool/config/
Dnon_testable.yaml1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
13 ---
16 - title: Conversions between integer and floating point types
17 description: Conversion from floating-point types to integer one obeys the following
20 - title: Load accumulator from string constant pool
21 description: In dynamically-typed language context load string as 'any' value.
23 - title: Static call
24 description: In dynamically-typed language context accept 'any' values in source
27 - title: Create and initialize new constant array
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/doc/tutorial/
Dintro.rst2 Copyright (c) 2021-2024 Huawei Device Co., Ltd.
6 http://www.apache.org/licenses/LICENSE-2.0
20 Welcome to the tutorial for |LANG|, a |TS|-based programming language
21 designed specifically to build high-performance mobile applications!
34 |JS| by adding type definitions. |TS| is well-loved by many developers as it
40 |LANG| imposes stricter limitations on the |TS|'s dynamically typed features,
41 reducing runtime overhead, and allowing faster execution. As dynamically typed
43 ahead-of-time more efficiently, resulting in faster application startup and
/arkcompiler/runtime_core/tests/cts-coverage-tool/config/
Dnon_testable.yaml1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
13 ---
16 - title: Conversions between integer and floating point types
17 description: Conversion from floating-point types to integer one obeys the following
20 - title: Load accumulator from string constant pool
21 description: In dynamically-typed language context load string as 'any' value.
23 - title: Static call
24 description: In dynamically-typed language context accept 'any' values in source
27 - title: Create and initialize new constant array
[all …]
/arkcompiler/ets_runtime/ecmascript/
Delement_accessor.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "ecmascript/js_tagged_value-inl.h"
19 #include "ecmascript/tagged_array-inl.h"
24 TaggedArray *elements = TaggedArray::Cast(receiver->GetElements(thread)); in Get()
25 ASSERT(idx < elements->GetLength()); in Get()
27 // dynamically-typed languages like JavaScript. So we simply skip the read-barrier. in Get()
29 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in Get()
31 if (UNLIKELY(thread->IsEnableMutantArray())) { in Get()
32 ElementsKind kind = receiver->GetClass()->GetElementsKind(); in Get()
33 if (!elements->GetClass()->IsMutantTaggedArray()) { in Get()
[all …]
Dtagged_array.h2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
42 // dynamically-typed languages like JavaScript. So we simply skip the read-barrier. in Get()
44 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in Get()
53 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in GetPrimitive()
122 return (oldLength - newLength > MAX_END_UNUSED); in ShouldTrim()
Decma_macros.h7 * http://www.apache.org/licenses/LICENSE-2.0
21 #include "ecmascript/mem/barriers_get-inl.h"
28 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
30 #define OPTIONAL_LOG(vm, level) LOG_ECMA_IF(vm->IsOptionalLogEnabled(), level)
58 /* dynamically-typed languages like JavaScript. So we simply skip the read-barrier. …
59 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
62 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
70 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
88 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
95 …/* dynamically-typed languages like JavaScript. So we simply skip the read-barrier. …
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/doc/cookbook/
Dwhy.rst2 Copyright (c) 2021-2024 Huawei Device Co., Ltd.
6 http://www.apache.org/licenses/LICENSE-2.0
21 - Program stability. Dynamically-typed languages like |JS| are very good at
32 - Program performance. To ensure program correctness, dynamically-typed
54 -------------------------------------------------------
62 .. code-block:: typescript
90 .. code-block:: typescript
114 .. code-block:: typescript
125 return this.name // Compile-time error: name can have "undefined"
138 // Compile-time(!) error: The compiler prevents accessing fields of nullish
[all …]
Drecipes.rst2 Copyright (c) 2021-2025 Huawei Device Co., Ltd.
6 http://www.apache.org/licenses/LICENSE-2.0
21 -----------------------------------------------------------------------------
23 |CB_RULE| ``arkts-identifiers-as-prop-names``
38 2. For Collection-Like Objects:
39 * Use arrays for numerically-indexed data
40 * Use Maps for truly dynamic key-value pairs
48 .. code-block:: typescript
62 // numeric-keyed lookup
76 .. code-block:: typescript
[all …]
/arkcompiler/runtime_core/isa/
Disa.yaml1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
14 ---
17 - name: General design
21 - name: Registers
31 - name: Accumulator
40 register-to-register moves.
42 - name: Calling sequence
48 …On return, callee frame is destroyed. If function return value is non-void, it is passed to caller…
52 - name: Supported primitive types
[all …]
/arkcompiler/runtime_core/static_core/isa/
Disa.yaml1 # Copyright (c) 2021-2025 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
14 ---
17 - name: General Design
19 …VM is register-based with a dedicated accumulator register that serves as an implicit operand to i…
21 - name: Registers
31 - name: Accumulator
37 …Moreover, when an instruction has more than one source operand, the shorter-living value must be p…
39 …dvantage. For example, arguments for the`call.range` instruction can be moved register-to-register.
41 - name: Calling Sequence
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/doc/interop_js/
D5_js.rst6 http://www.apache.org/licenses/LICENSE-2.0
32 .. code-block:: javascript
42 .. code-block:: javascript
55 - When some JS function is passed through interop to ArkTS, the function object is wrapped to ESObj…
57 - When some parameters are passed in this function, their values will be converted into JS values.
59 - The function will be executed in the JS environment, and the return value will be passed through …
61 .. code-block:: javascript
69 .. code-block:: typescript
88 - ``Function Expressions`` and ``Arrow function`` will work exactly in the same way. When a variabl…
90 .. code-block:: javascript
[all …]
/arkcompiler/runtime_core/static_core/tests/cts-generator/cts-template/
Dcall.acc.short.yaml1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
13 ---
16 - file-name: call.acc.short
26 runtime constant-pool.
28 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will
30 In dynamically-typed language context accept 'any' values in source registers.
33 - method_id_static
34 - compatible_arguments
35 - method_id_non_abstract
[all …]
Dcall.acc.yaml1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
13 ---
16 - file-name: call.acc
26 runtime constant-pool.
28 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will
30 In dynamically-typed language context accept 'any' values in source registers.
33 - method_id_static
34 - compatible_arguments
35 - method_id_non_abstract
[all …]
/arkcompiler/runtime_core/tests/cts-generator/cts-template/
Dcall.acc.short.yaml1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
13 ---
15 - name: PandaAssembly
20 - file-name: call.acc.short
30 runtime constant-pool.
32 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will
34 In dynamically-typed language context accept 'any' values in source registers.
37 - method_id_static
38 - compatible_arguments
[all …]
Dcall.acc.yaml1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
13 ---
15 - name: PandaAssembly
20 - file-name: call.acc
30 runtime constant-pool.
32 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will
34 In dynamically-typed language context accept 'any' values in source registers.
37 - method_id_static
38 - compatible_arguments
[all …]
/arkcompiler/runtime_core/libabckit/
D.doxygen16 #---------------------------------------------------------------------------
18 #---------------------------------------------------------------------------
21 # file that follow. The default is UTF-8 which is also the encoding used for all
25 # The default value is: UTF-8.
27 DOXYFILE_ENCODING = UTF-8
30 # double-quotes, unless you are using Doxywizard) that should identify the
63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
73 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
74 # characters to appear in the names of generated files. If set to NO, non-ASCII
85 # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
[all …]