| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
perf(string_table): switch to chained hash map Replace the string table's concurrent HashTrieMap with a chained hash map. Lookups traverse bucket chains lock-free (acquire loads paired with release publication); insertions push at the bucket head under the table mutex with an unconditional under-lock re-scan; GC sweeping splits the bucket array into fixed partitions swept by taskpool workers, with per-GC-mode ClearNodeFromGC variants (STW immediate free, CMC/concurrent deferred reclamation with to-space tagging). Details: - The bucket-count exponent is configurable at startup via the system parameter const.ark.string_table_map_bit (default 16, clamped to [11, 24]); sizes derive from it at construction. - ChainedHashMap owns the sweep partitioning primitive (ForEachBucketHeadInPartition); the trie-era Entry/Indirect tag bit and related dead fields are removed (every node is an entry now). - Common probe/insert logic is factored into FindInChain and InsertWithLockHeld; the latter re-reads the bucket head under the mutex so the Insert() freshness precondition holds by construction. - Insert paths never hold raw Entry pointers across a GC-capable callback: StoreOrLoad creates the string before locking, and LoadOrStoreForJit (which must allocate under the lock) re-reads the bucket head and re-scans after the loader returns. - Rename runtime stub GetOrInternStringFromHashTrieTable to GetOrInternStringFromHashTable (same positional ID). - Guard IntegerCache use in StringToNumber and InitIntegerCache with IsLineString, so short interned non-line strings take the parse path instead of reinterpreting non-LineString layout. - Rewrite the string table sweeping tests for the new structure and update the string table fuzzers. Tested: ECMA_StringTable_Test 59/59, ECMA_StringTable_Sweeping_Test 46/46, GC_Third_Test 61/61 (x64.release host). Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13273 Co-Authored-By: Agent Signed-off-by: Like <zhenglike@h-partners.com> Change-Id: I60a624ec078fa40d99fd69e762734f79d6944dff | 1 个月前 | |
perf(string_table): switch to chained hash map Replace the string table's concurrent HashTrieMap with a chained hash map. Lookups traverse bucket chains lock-free (acquire loads paired with release publication); insertions push at the bucket head under the table mutex with an unconditional under-lock re-scan; GC sweeping splits the bucket array into fixed partitions swept by taskpool workers, with per-GC-mode ClearNodeFromGC variants (STW immediate free, CMC/concurrent deferred reclamation with to-space tagging). Details: - The bucket-count exponent is configurable at startup via the system parameter const.ark.string_table_map_bit (default 16, clamped to [11, 24]); sizes derive from it at construction. - ChainedHashMap owns the sweep partitioning primitive (ForEachBucketHeadInPartition); the trie-era Entry/Indirect tag bit and related dead fields are removed (every node is an entry now). - Common probe/insert logic is factored into FindInChain and InsertWithLockHeld; the latter re-reads the bucket head under the mutex so the Insert() freshness precondition holds by construction. - Insert paths never hold raw Entry pointers across a GC-capable callback: StoreOrLoad creates the string before locking, and LoadOrStoreForJit (which must allocate under the lock) re-reads the bucket head and re-scans after the loader returns. - Rename runtime stub GetOrInternStringFromHashTrieTable to GetOrInternStringFromHashTable (same positional ID). - Guard IntegerCache use in StringToNumber and InitIntegerCache with IsLineString, so short interned non-line strings take the parse path instead of reinterpreting non-LineString layout. - Rewrite the string table sweeping tests for the new structure and update the string table fuzzers. Tested: ECMA_StringTable_Test 59/59, ECMA_StringTable_Sweeping_Test 46/46, GC_Third_Test 61/61 (x64.release host). Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13273 Co-Authored-By: Agent Signed-off-by: Like <zhenglike@h-partners.com> Change-Id: I60a624ec078fa40d99fd69e762734f79d6944dff | 1 个月前 | |
linxkit: computing library Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/12852 Signed-off-by: Yumekiii <caoyameng4@huawei.com> Co-Authored-By: Agent Signed-off-by: Yumekiii <caoyameng4@huawei.com> | 3 个月前 | |
Move string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11749 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Ia7cef578de68b2ec3988867e27b4615d7ee2e84b | 9 个月前 | |
Add ExternalString Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11760 Signed-off-by: xwcai98 <caixinwei5@huawei.com> Change-Id: I8ed9038037d220c23f8f011665519bd4699508ee | 9 个月前 | |
ets_runtime independent compilation fix Issue:https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11911 Signed-off-by: da_wei_li11 <lidawei30@huawei.com> | 8 个月前 | |
perf(string_table): switch to chained hash map Replace the string table's concurrent HashTrieMap with a chained hash map. Lookups traverse bucket chains lock-free (acquire loads paired with release publication); insertions push at the bucket head under the table mutex with an unconditional under-lock re-scan; GC sweeping splits the bucket array into fixed partitions swept by taskpool workers, with per-GC-mode ClearNodeFromGC variants (STW immediate free, CMC/concurrent deferred reclamation with to-space tagging). Details: - The bucket-count exponent is configurable at startup via the system parameter const.ark.string_table_map_bit (default 16, clamped to [11, 24]); sizes derive from it at construction. - ChainedHashMap owns the sweep partitioning primitive (ForEachBucketHeadInPartition); the trie-era Entry/Indirect tag bit and related dead fields are removed (every node is an entry now). - Common probe/insert logic is factored into FindInChain and InsertWithLockHeld; the latter re-reads the bucket head under the mutex so the Insert() freshness precondition holds by construction. - Insert paths never hold raw Entry pointers across a GC-capable callback: StoreOrLoad creates the string before locking, and LoadOrStoreForJit (which must allocate under the lock) re-reads the bucket head and re-scans after the loader returns. - Rename runtime stub GetOrInternStringFromHashTrieTable to GetOrInternStringFromHashTable (same positional ID). - Guard IntegerCache use in StringToNumber and InitIntegerCache with IsLineString, so short interned non-line strings take the parse path instead of reinterpreting non-LineString layout. - Rewrite the string table sweeping tests for the new structure and update the string table fuzzers. Tested: ECMA_StringTable_Test 59/59, ECMA_StringTable_Sweeping_Test 46/46, GC_Third_Test 61/61 (x64.release host). Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13273 Co-Authored-By: Agent Signed-off-by: Like <zhenglike@h-partners.com> Change-Id: I60a624ec078fa40d99fd69e762734f79d6944dff | 1 个月前 | |
Move string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11749 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Ia7cef578de68b2ec3988867e27b4615d7ee2e84b | 9 个月前 | |
fix(string): remove verbose logs in CheckWeakRef Remove two LOG_COMMON(VERBOSE) lines in ChainedHashMapOperation::CheckWeakRef, which runs on the GC weak-reference cleanup hot path for the StringTable. Even when verbose logging is off, each call still pays a branch check, so removing them keeps this hot path free of observation overhead. Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13507 Co-Authored-By: Agent Signed-off-by: Like <zhenglike@h-partners.com> AI[0%] Human Fixed[0%] Human[0%] AI Adopted[0%] Change-Id: I4e35720203c86d54417a30ef300c187f421a0cb5 | 16 天前 | |
perf(string_table): switch to chained hash map Replace the string table's concurrent HashTrieMap with a chained hash map. Lookups traverse bucket chains lock-free (acquire loads paired with release publication); insertions push at the bucket head under the table mutex with an unconditional under-lock re-scan; GC sweeping splits the bucket array into fixed partitions swept by taskpool workers, with per-GC-mode ClearNodeFromGC variants (STW immediate free, CMC/concurrent deferred reclamation with to-space tagging). Details: - The bucket-count exponent is configurable at startup via the system parameter const.ark.string_table_map_bit (default 16, clamped to [11, 24]); sizes derive from it at construction. - ChainedHashMap owns the sweep partitioning primitive (ForEachBucketHeadInPartition); the trie-era Entry/Indirect tag bit and related dead fields are removed (every node is an entry now). - Common probe/insert logic is factored into FindInChain and InsertWithLockHeld; the latter re-reads the bucket head under the mutex so the Insert() freshness precondition holds by construction. - Insert paths never hold raw Entry pointers across a GC-capable callback: StoreOrLoad creates the string before locking, and LoadOrStoreForJit (which must allocate under the lock) re-reads the bucket head and re-scans after the loader returns. - Rename runtime stub GetOrInternStringFromHashTrieTable to GetOrInternStringFromHashTable (same positional ID). - Guard IntegerCache use in StringToNumber and InitIntegerCache with IsLineString, so short interned non-line strings take the parse path instead of reinterpreting non-LineString layout. - Rewrite the string table sweeping tests for the new structure and update the string table fuzzers. Tested: ECMA_StringTable_Test 59/59, ECMA_StringTable_Sweeping_Test 46/46, GC_Third_Test 61/61 (x64.release host). Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13273 Co-Authored-By: Agent Signed-off-by: Like <zhenglike@h-partners.com> Change-Id: I60a624ec078fa40d99fd69e762734f79d6944dff | 1 个月前 | |
[SharedGC] Add SharedCC GC Add a concurrent copying garbage collector for the shared heap that combines concurrent marking with parallel copying, reducing GC pause time by only requiring a brief SuspendAll during ReMark phase. Key changes: - SharedCC class orchestrates flat linear flow: Mark -> ReMark -> Copy - SharedCCEvacuator for parallel object copying to compress space - CC mode callbacks injected into SharedConcurrentMarker - Selective thread blocking via ThreadFlag::CC_SUSPEND - UV async for main thread stub switch - cc_utils.h: shared templates (CCUpdateVisitorBase, UpdateWeakReferenceImpl) - Add SHARED_CC to TriggerGCType enum - Unit tests for SharedCCStatus, flags, callbacks, and visitor Issue: openharmony/arkcompiler_ets_runtime#13292 Signed-off-by: jinouwen <jinouwen1@huawei.com> Change-Id: Ia82343f2385f71cd337f2d26d886fbe43951e381 Co-Authored-By: Agent | 1 个月前 | |
Add ExternalString Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11760 Signed-off-by: xwcai98 <caixinwei5@huawei.com> Change-Id: I8ed9038037d220c23f8f011665519bd4699508ee | 9 个月前 | |
\opt memory Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/12962 Co-Authored-By: Agent Signed-off-by: Your Name <wangruixian3@huawei.com> Change-Id: I6fccb84a16e01fce62451a57209b578f80300cc8 | 2 个月前 | |
Add ExternalString Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11760 Signed-off-by: xwcai98 <caixinwei5@huawei.com> Change-Id: I8ed9038037d220c23f8f011665519bd4699508ee | 9 个月前 | |
gc fix external string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11830 Change-Id: I4e1d3fcb6f04ac81d928cc3d70a0d3a6ea8cc512 Signed-off-by: wwzm-jjw <jinjiawei2@h-partners.com> | 9 个月前 | |
gc fix external string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11830 Change-Id: I4e1d3fcb6f04ac81d928cc3d70a0d3a6ea8cc512 Signed-off-by: wwzm-jjw <jinjiawei2@h-partners.com> | 9 个月前 | |
gc fix external string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11830 Change-Id: I4e1d3fcb6f04ac81d928cc3d70a0d3a6ea8cc512 Signed-off-by: wwzm-jjw <jinjiawei2@h-partners.com> | 9 个月前 | |
Refactor string to number conversion Cache negative integers, iterate string chars only once. Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13480 Co-Authored-By: N/A Change-Id: Iec04f2897fb96fe33240a1692194aca436b3f038 Signed-off-by: Mikhail Ivanov <ivanov.mikhail2@huawei.com> | 5 天前 | |
Adapt to hispeed string optimization Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/12030 Signed-off-by: chenjingxiang <chenjingxiang1@huawei.com> Change-Id: Ia22343689f94f46845f865564250437fec25c24d | 7 个月前 | |
Move string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11749 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Ia7cef578de68b2ec3988867e27b4615d7ee2e84b | 9 个月前 | |
Add ExternalString Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11760 Signed-off-by: xwcai98 <caixinwei5@huawei.com> Change-Id: I8ed9038037d220c23f8f011665519bd4699508ee | 9 个月前 | |
String Size Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/12027 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Id941d9fbfc8ac2e4c9bb8cb0e05a13ae128cd872 | 7 个月前 | |
fix 0702 to master Issue:https://gitcode.com/openharmony/arkcompiler_runtime_core/issues/8542 Signed-off-by: wuyuanchao4 <wuyuanchao4@huawei.com> | 8 个月前 | |
Move string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11749 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Ia7cef578de68b2ec3988867e27b4615d7ee2e84b | 9 个月前 | |
perf(string_table): switch to chained hash map Replace the string table's concurrent HashTrieMap with a chained hash map. Lookups traverse bucket chains lock-free (acquire loads paired with release publication); insertions push at the bucket head under the table mutex with an unconditional under-lock re-scan; GC sweeping splits the bucket array into fixed partitions swept by taskpool workers, with per-GC-mode ClearNodeFromGC variants (STW immediate free, CMC/concurrent deferred reclamation with to-space tagging). Details: - The bucket-count exponent is configurable at startup via the system parameter const.ark.string_table_map_bit (default 16, clamped to [11, 24]); sizes derive from it at construction. - ChainedHashMap owns the sweep partitioning primitive (ForEachBucketHeadInPartition); the trie-era Entry/Indirect tag bit and related dead fields are removed (every node is an entry now). - Common probe/insert logic is factored into FindInChain and InsertWithLockHeld; the latter re-reads the bucket head under the mutex so the Insert() freshness precondition holds by construction. - Insert paths never hold raw Entry pointers across a GC-capable callback: StoreOrLoad creates the string before locking, and LoadOrStoreForJit (which must allocate under the lock) re-reads the bucket head and re-scans after the loader returns. - Rename runtime stub GetOrInternStringFromHashTrieTable to GetOrInternStringFromHashTable (same positional ID). - Guard IntegerCache use in StringToNumber and InitIntegerCache with IsLineString, so short interned non-line strings take the parse path instead of reinterpreting non-LineString layout. - Rewrite the string table sweeping tests for the new structure and update the string table fuzzers. Tested: ECMA_StringTable_Test 59/59, ECMA_StringTable_Sweeping_Test 46/46, GC_Third_Test 61/61 (x64.release host). Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13273 Co-Authored-By: Agent Signed-off-by: Like <zhenglike@h-partners.com> Change-Id: I60a624ec078fa40d99fd69e762734f79d6944dff | 1 个月前 | |
Move string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11749 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Ia7cef578de68b2ec3988867e27b4615d7ee2e84b | 9 个月前 | |
Move string Issue: https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/11749 Signed-off-by: wangchen <wangchen965@huawei.com> Change-Id: Ia7cef578de68b2ec3988867e27b4615d7ee2e84b | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 8 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 5 天前 | ||
| 7 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 7 个月前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 9 个月前 |