Searched +full:dynamically +full:- +full:typed (Results 1 – 8 of 8) sorted by relevance
| /ark/runtime_core/docs/ |
| D | rationale-for-bytecode.md | 46 In a _stack-based_ approach, operands are implicitly encoded in the operation. The code is as follo… 52 add ; remove two top-most values from the stack, add them and put the result at the top 58 In a _register-based approach_, operands are explicitly encoded in the operation. The code is as fo… 68 This example demonstrates a fundamental difference between two approaches. Stack-based approach 70 can be represented with a single byte, while register-based `add reg_dst, reg_src1, reg_src2` may 73 In addition, a stack-based addition requires three instructions, while a register-based addition 76 more _dispatch overhead_. This means that the stack-based bytecode is slower by nature. 78 According to our experiment, uncompressed register-based Dalvik bytecode can be reduced by ~26% 79 if substituted by a stack-based analogue. At the same time, performance becomes 10%-40% worse 82 **Panda uses register-based instruction set architecture** because performance of the interpreter [all …]
|
| D | design-of-interpreter.md | 9 | ------------------------------- | ---------------------------------------------------------- | 22 1. The platform should scale from microcontrollers to high-end mobile phones: 29 1. JavaScript (and probably other dynamically typed languages) should run on the platform, but 43 1. Bytecode is register-based: all arguments and variables are mapped to virtual registers, 47 1. Bytecode's instruction set architecture is machine-readable with a dedicated API for 52 For the rationale on the bytecode type, please see [here](rationale-for-bytecode.md). 54 Rationale on the machine-readable instruction set architecture is following. Since bytecode 56 the platform outside the interpreter. Having this crucial information copy-pasted or delivered as 57 a bunch of C/C++ headers is very fragile and error-prone. At the same time, 58 with the machine-readable ISA we now already can re-use this information in many places, e.g.: [all …]
|
| /ark/runtime_core/tests/cts-coverage-tool/ |
| D | non_testable.yaml | 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: Create new object 24 - title: Load accumulator from string constant pool 25 description: In dynamically-typed language context load string as 'any' value. 28 - title: Type conversions 30 Conversion from floating-point types to integer one obeys the following rules. 33 - title: Object equality comparison [all …]
|
| /ark/js_runtime/ecmascript/ |
| D | tagged_array-inl.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 19 #include "ecmascript/js_tagged_value-inl.h" 28 // dynamically-typed languages like JavaScript. So we simply skip the read-barrier. in Get() 30 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in Get() 57 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in Set() 60 } else { // NOLINTNEXTLINE(readability-misleading-indentation) in Set() 70 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in Set() 73 } else { // NOLINTNEXTLINE(readability-misleading-indentation) in Set() 81 uint32_t firstLength = first->GetLength(); in Append() 82 uint32_t secondLength = second->GetLength(); in Append() [all …]
|
| D | ecma_macros.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 23 #include "ecmascript/mem/barriers-inl.h" 32 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 34 …e, ECMASCRIPT) << __func__ << " Line:" << __LINE__ << " " // NOLINT(bugprone-lambda-function-name) 39 LOG_IF(ecmaVM->IsOptionalLogEnabled(), level, component) 50 /* dynamically-typed languages like JavaScript. So we simply skip the read-barrier. … 51 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 54 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 62 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 66 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) [all …]
|
| /ark/runtime_core/isa/ |
| D | isa.yaml | 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 54 …VM support operations on registers with i32 and i64 integral values. However, 8-bit and 16-bit int… [all …]
|
| /ark/runtime_core/tests/cts-generator/cts-template/ |
| D | call.acc.short.yaml | 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 15 - name: java 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 - x_none 39 - method_id_static 40 - compatible_arguments [all …]
|
| D | call.acc.yaml | 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 15 - name: java 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 - x_none 39 - method_id_static 40 - compatible_arguments [all …]
|