| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Reland "[contexts] Unify context accessors after ContextCells" This is a reland of commit d2ab66c2a942893b9f6d7628ff8892e1d6a607b3 Changes from original: - The test inspector/debugger/set-breakpoint-after-gc relies on precise garbage collection and may fail if conservative stack scanning is used. We call GC multiple times to ensure the weak reference hold by the script is eventually collected. - Allow reading a ContextCell when printing debug stack frame. Original change's description: > [contexts] Unify context accessors after ContextCells > > The introduction of ContextCells removed the need for special handling > for ScriptContext (which previously used a side table for > let/const tracking and mutable numbers). > > This change refactors the context access logic: > - Internal get/set accessors are now protected to the Context class. > - External access should use the new functions: > - Get/Set: A safe (though potentially slower) > function for accessing elements in any context. > - GetNoCell/SetNoCell: A faster function that verifies the > element being accessed is not a ContextCell. > > Additionally, related bytecode operations and optimizer functions have > been renamed for consistency with these changes. > > Bug: 408128754 > > Change-Id: I785281ab6f13b0ae65578eb5d2f0a5750457ab5e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6450582 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#99844} Bug: 408128754, 40789559 Change-Id: I78a3a99a4f364ed78965fbed56a084d38382d2fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6479814 Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#99865} | 1 年前 | |
[baseline][arm64] Do not save&restore lr around write barriers Sparkplug already saves the return address on the stack so we are free to clobber the link register. This removes pacibsp+stp and ldp+autibsp around all write barriers, which is good for generated codesize. ;; pacibsp ;; stp x30, xzr, [sp, #-0x10]! add x5, x1, #0xf bl $+0x738acd4 ;; ldp x30, xzr, [sp], #0x10 ;; autibsp Change-Id: I4e8e95931eba49dd81f9396b3434ea5420227871 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7091111 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/main@{#103505} | 8 个月前 | |
Reland "[contexts] Unify context accessors after ContextCells" This is a reland of commit d2ab66c2a942893b9f6d7628ff8892e1d6a607b3 Changes from original: - The test inspector/debugger/set-breakpoint-after-gc relies on precise garbage collection and may fail if conservative stack scanning is used. We call GC multiple times to ensure the weak reference hold by the script is eventually collected. - Allow reading a ContextCell when printing debug stack frame. Original change's description: > [contexts] Unify context accessors after ContextCells > > The introduction of ContextCells removed the need for special handling > for ScriptContext (which previously used a side table for > let/const tracking and mutable numbers). > > This change refactors the context access logic: > - Internal get/set accessors are now protected to the Context class. > - External access should use the new functions: > - Get/Set: A safe (though potentially slower) > function for accessing elements in any context. > - GetNoCell/SetNoCell: A faster function that verifies the > element being accessed is not a ContextCell. > > Additionally, related bytecode operations and optimizer functions have > been renamed for consistency with these changes. > > Bug: 408128754 > > Change-Id: I785281ab6f13b0ae65578eb5d2f0a5750457ab5e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6450582 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#99844} Bug: 408128754, 40789559 Change-Id: I78a3a99a4f364ed78965fbed56a084d38382d2fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6479814 Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#99865} | 1 年前 | |
[loong64][mips64][baseline] Do not save&restore ra around write barriers Port commit 3f3dde7c13d5c1061cf2c3f5bd1482245896232f Change-Id: I3f2a98d3ec78dc55e7b92a8aaf5828c555cd9f9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7123561 Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Liu Yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#103548} | 8 个月前 | |
[loong64][mips64][baseline] Do not save&restore ra around write barriers Port commit 3f3dde7c13d5c1061cf2c3f5bd1482245896232f Change-Id: I3f2a98d3ec78dc55e7b92a8aaf5828c555cd9f9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7123561 Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Liu Yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#103548} | 8 个月前 | |
ppc64: remove static roots and sandbox implementations Above features had been ported externally using these 3 CLs: http://crrev.com/c/4917706 http://crrev.com/c/4917707 http://crrev.com/c/4920110 However the ports have not been maintained and the features have been broken for a while now. This has caused ppc64 code to diverge from s390x and arm/arm64 with dead code lingering. This CL removes the above imeplemaitons until we officially support these features on our platforms. Change-Id: I15a91f9ed1e467fcd0f2e6b4dcad03db795ce0eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6880989 Reviewed-by: Junliang Yan <junyan1@ibm.com> Commit-Queue: Milad Farazmand <mfarazma@ibm.com> Cr-Commit-Position: refs/heads/main@{#102047} | 10 个月前 | |
[riscv] Fix loading of InstanceType in BaselineAssembler The InstanceType actually has type uint16_t, so it should be loaded using the lhu instruction instead of ld. Change-Id: Ib1123f563cae0d4b0abcd2998f01867da01caa93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7190169 Reviewed-by: Kasper Lund <kasperl@rivosinc.com> Reviewed-by: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> Commit-Queue: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#103945} | 7 个月前 | |
Reland "[contexts] Unify context accessors after ContextCells" This is a reland of commit d2ab66c2a942893b9f6d7628ff8892e1d6a607b3 Changes from original: - The test inspector/debugger/set-breakpoint-after-gc relies on precise garbage collection and may fail if conservative stack scanning is used. We call GC multiple times to ensure the weak reference hold by the script is eventually collected. - Allow reading a ContextCell when printing debug stack frame. Original change's description: > [contexts] Unify context accessors after ContextCells > > The introduction of ContextCells removed the need for special handling > for ScriptContext (which previously used a side table for > let/const tracking and mutable numbers). > > This change refactors the context access logic: > - Internal get/set accessors are now protected to the Context class. > - External access should use the new functions: > - Get/Set: A safe (though potentially slower) > function for accessing elements in any context. > - GetNoCell/SetNoCell: A faster function that verifies the > element being accessed is not a ContextCell. > > Additionally, related bytecode operations and optimizer functions have > been renamed for consistency with these changes. > > Bug: 408128754 > > Change-Id: I785281ab6f13b0ae65578eb5d2f0a5750457ab5e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6450582 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#99844} Bug: 408128754, 40789559 Change-Id: I78a3a99a4f364ed78965fbed56a084d38382d2fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6479814 Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#99865} | 1 年前 | |
Reland "[contexts] Unify context accessors after ContextCells" This is a reland of commit d2ab66c2a942893b9f6d7628ff8892e1d6a607b3 Changes from original: - The test inspector/debugger/set-breakpoint-after-gc relies on precise garbage collection and may fail if conservative stack scanning is used. We call GC multiple times to ensure the weak reference hold by the script is eventually collected. - Allow reading a ContextCell when printing debug stack frame. Original change's description: > [contexts] Unify context accessors after ContextCells > > The introduction of ContextCells removed the need for special handling > for ScriptContext (which previously used a side table for > let/const tracking and mutable numbers). > > This change refactors the context access logic: > - Internal get/set accessors are now protected to the Context class. > - External access should use the new functions: > - Get/Set: A safe (though potentially slower) > function for accessing elements in any context. > - GetNoCell/SetNoCell: A faster function that verifies the > element being accessed is not a ContextCell. > > Additionally, related bytecode operations and optimizer functions have > been renamed for consistency with these changes. > > Bug: 408128754 > > Change-Id: I785281ab6f13b0ae65578eb5d2f0a5750457ab5e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6450582 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#99844} Bug: 408128754, 40789559 Change-Id: I78a3a99a4f364ed78965fbed56a084d38382d2fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6479814 Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#99865} | 1 年前 | |
[sparkplug] Upstream Sparkplug Sparkplug is a new baseline, non-optimising second-tier compiler, designed to fit in the compiler trade-off space between Ignition and TurboProp/TurboFan. Design doc: https://docs.google.com/document/d/13c-xXmFOMcpUQNqo66XWQt3u46TsBjXrHrh4c045l-A/edit?usp=sharing Bug: v8:11420 Change-Id: Ideb7270db3d6548eedd8337a3f596eb6f8fea6b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667514 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#72686} | 5 年前 | |
[sparkplug][arm] Port Sparkplug to arm Bug: v8:11421 Change-Id: Ia4d3a20b9fdb5bc262cf480ece6e189aedff388f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2762143 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73488} | 5 年前 | |
[sandbox] Add foundation for hardware sandbox support, part 2 This CL is another step towards a first hardware sandboxing prototype using memory protection keys (PKEYs). This CL: * Executes all JavaScript and WebAssembly code (interpreter and JIT-generated code) in sandboxed execution mode by switching the execution mode in the JSEntry trampolines. * Adds infrastructure to allow specifying the code sandboxing mode on a per-builtin basis. * Leaves sandboxed execution mode when invoking unsandboxed builtins (mostly CPP builtins and WriteBarriers) or runtime functions and re-enters when returning from them. In the future, more and more builtins (and runtime functions) should be marked as sandboxed to avoid the switching overhead and reduce the sandbox attack surface. With this CL, no memory is actually inaccessible in sandboxed execution mode yet as the RegisterOutOfSandboxMemory method isn't yet used. This will happen gradually for more and more memory regions in follow-up CLs. However, this CL already asserts (in debug builds with --debug-code) that the sandboxing mode is as expected on entry to JIT-generated code, when switching the sandboxing mode, and in various builtins. Bug: 350324877 Change-Id: I8d19af796b88ff15fb358445de213eb5dda1d68e Cq-Include-Trybots: luci.v8.try:v8_linux64_pku_dbg,v8_linux64_pku_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6574336 Reviewed-by: Stephen Röttger <sroettger@google.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#100789} | 1 年前 | |
[sandbox] Add foundation for hardware sandbox support, part 2 This CL is another step towards a first hardware sandboxing prototype using memory protection keys (PKEYs). This CL: * Executes all JavaScript and WebAssembly code (interpreter and JIT-generated code) in sandboxed execution mode by switching the execution mode in the JSEntry trampolines. * Adds infrastructure to allow specifying the code sandboxing mode on a per-builtin basis. * Leaves sandboxed execution mode when invoking unsandboxed builtins (mostly CPP builtins and WriteBarriers) or runtime functions and re-enters when returning from them. In the future, more and more builtins (and runtime functions) should be marked as sandboxed to avoid the switching overhead and reduce the sandbox attack surface. With this CL, no memory is actually inaccessible in sandboxed execution mode yet as the RegisterOutOfSandboxMemory method isn't yet used. This will happen gradually for more and more memory regions in follow-up CLs. However, this CL already asserts (in debug builds with --debug-code) that the sandboxing mode is as expected on entry to JIT-generated code, when switching the sandboxing mode, and in various builtins. Bug: 350324877 Change-Id: I8d19af796b88ff15fb358445de213eb5dda1d68e Cq-Include-Trybots: luci.v8.try:v8_linux64_pku_dbg,v8_linux64_pku_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6574336 Reviewed-by: Stephen Röttger <sroettger@google.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#100789} | 1 年前 | |
Reland "Make efficiency mode relative to normal tiering" This is a reland of commit 4ea793124a35b6fc136a14e84ecfbd05934b1c32 Fixed: keep --efficiency_mode_disable_turbofan which is needed for reliable testing. Original change's description: > Make efficiency mode relative to normal tiering > > After adjusting invocation_count_for_turbofan we didn't adjust the > corresponding delay for efficiency mode. This CL makes it now relative > to normal tiering. > > Drive-By: remove unused flags and cleanups. > > Bug: 41485666 > Change-Id: I344c4f73e7e0ce7d90a36212fc2fa771c45d066c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6787531 > Auto-Submit: Olivier Flückiger <olivf@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#101637} Bug: 41485666 Change-Id: I3339978251d2dcd382acfa1470e3c5510f10a3bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6788276 Auto-Submit: Olivier Flückiger <olivf@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#101674} | 11 个月前 | |
Reland "[handles] Migration to direct handles, part 5" This is a reland of commit aba439cfe3964922735607a5e44c6cd158c75268 Original change's description: > [handles] Migration to direct handles, part 5 > > This CL migrates a large number of handles to direct handles. The > changes are only relevant for builds with v8_enable_direct_handle=true. > > Bug: 42203211 > Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg > Change-Id: I57d35b99ec3bd83bc2ba5590ad18021bc4e34592 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5771452 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#95576} Bug: 42203211 Change-Id: I201b85456fd359d261c08a533c42a522626daf39 Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5785213 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#95598} | 1 年前 | |
[interpreter] Improve bytecode disassembler output Pass the constant pool to the bytecode decoder, so that constants can be printed as part of the bytecode itself. Also improve printing of the new split index types. Change-Id: Ia65149765b03a8d2665810b1d377e5b497600d15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7209311 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by: Patrick Thier <pthier@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#104020} | 7 个月前 | |
[ignition] Split bytecode index operand types This refactoring replaces the generic kIdx bytecode operand type with more specialized types: kConstantPoolIndex, kFeedbackSlot, kContextSlot, kCoverageSlot, and kAbortReason. Change-Id: I15f86a05f649e3941e5f543d77eba375aa91580c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7208946 Reviewed-by: Patrick Thier <pthier@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#104014} | 7 个月前 | |
[handles] Migration to direct handles, part 16 This CL migrates a large number of handles to direct handles. The changes are only relevant for builds with v8_enable_direct_handle=true. Affected source directories: api, asmjs, baseline, builtins, codegen, compiler, debug, deoptimizer, execution, heap, ic, init, objects, regexp, runtime, snapshot, wasm, and tests. Bug: 42203211 Change-Id: I3adbfb4aa55ebabec86ef94e312d92c8514446a0 Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6240033 Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#98600} | 1 年前 | |
[handles] Migration to direct handles, part 16 This CL migrates a large number of handles to direct handles. The changes are only relevant for builds with v8_enable_direct_handle=true. Affected source directories: api, asmjs, baseline, builtins, codegen, compiler, debug, deoptimizer, execution, heap, ic, init, objects, regexp, runtime, snapshot, wasm, and tests. Bug: 42203211 Change-Id: I3adbfb4aa55ebabec86ef94e312d92c8514446a0 Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6240033 Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#98600} | 1 年前 | |
Reland "[heap] LocalHeap::Current() now returns non-null on main thread" This is a reland of commit c25edbbc06b7611c26dbc55cd745c4d61b9ad8d1 It now sets the TLS variable in MinorGCJob::Task::RunInternal(). Original change's description: > [heap] LocalHeap::Current() now returns non-null on main thread > > This CL sets the LocalHeap TLS variable on the main thread to > isolate->main_thread_local_heap(). This allows us to simplify some > code and makes this TLS variable uniform with the Isolate and > MarkingBarrier TLS variables. Both variables are already non-null on > the main thread as well. > > Bug: 437096305 > Change-Id: Ib8244a13d0c6e89c4611169bc487432cf57f8824 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6830009 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Cr-Commit-Position: refs/heads/main@{#101858} Bug: 437096305 Change-Id: I3c9aad03b766429e6bc5dff7f8c6d498fd6107e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6842300 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#101880} | 10 个月前 | |
[cleanup] Replace some usages of base version with std version #2 This CL includes replacing some usages of base version with std version. For example, base::Optional with std::optional, base::nullopt with std::nullopt, etc. Bug: chromium:355676041, chromium:355003178 Change-Id: I87334a37c5d791725e47ba191de7b12eb6ba5af5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5757258 Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ho Cheung <hocheung@chromium.org> Cr-Commit-Position: refs/heads/main@{#95484} | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 10 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 |