- 14 Feb, 2017 1 commit
-
-
ishell@chromium.org authored
BUG= Change-Id: I1e32fdcf9edda57f5de329c8b694620a5da4558b Reviewed-on: https://chromium-review.googlesource.com/442444Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43185}
-
- 06 Feb, 2017 1 commit
-
-
mvstanton authored
TypeFeedbackVectors are strongly rooted by a closure. However, in modern JavaScript closures are created and abandoned more freely. An important closure may not be present in the root-set at time of garbage collection, even though we've cached optimized code and use it regularly. For example, consider leaf functions in an event dispatching system. They may well be "hot," but tragically non-present when we collect the heap. Until now, we've relied on a weak root to cache the feedback vector in this case. Since there is no way to signal intent or relative importance, this weak root is as susceptible to clearing as any other weak root at garbage collection time. Meanwhile, the feedback vector has become more important. All of our ICs store their data there. Literal and regex boilerplates are stored there. If we lose the vector, then we not only lose optimized code built from it, we also lose the very feedback which allowed us to create that optimized code. Therefore it's vital to express that dependency through the root set. This CL does this by creating a strong link to a feedback vector at the instantiation site of the function closure. This instantiation site is in the code and feedback vector of the outer closure. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2674593003 Cr-Commit-Position: refs/heads/master@{#42953}
-
- 13 Jan, 2017 1 commit
-
-
yangguo authored
R=marja@chromium.org Review-Url: https://codereview.chromium.org/2628293003 Cr-Commit-Position: refs/heads/master@{#42327}
-
- 28 Nov, 2016 1 commit
-
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2537523002 Cr-Commit-Position: refs/heads/master@{#41326}
-
- 04 Nov, 2016 2 commits
-
-
yangguo authored
TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2474433011 Cr-Commit-Position: refs/heads/master@{#40749}
-
yangguo authored
This is how it would look like. (gdb) bta [1 ] V8_Fatal ../../src/base/logging.cc:67 [2 ] v8::internal::Heap::AllocateRaw ../../src/heap/heap-inl.h:298 [3 ] v8::internal::Heap::AllocateHeapNumber ../../src/heap/heap.cc:2432 [4 ] v8::internal::Factory::NewHeapNumber ../../src/factory.cc:1253 [5 ] v8::internal::Factory::NewNumber ../../src/factory.cc:1228 [6 ] v8::internal::__RT_impl_Runtime_ConstructDouble ../../src/runtime/runtime-test.cc:32 -> Allow HEAP_ALLOCATION (yes_gc) -> Disallow HEAP_ALLOCATION (no_gc) [7 ] v8::internal::Runtime_ConstructDouble ../../src/runtime/runtime-test.cc:24 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2466263007 Cr-Commit-Position: refs/heads/master@{#40748}
-
- 28 Jul, 2016 2 commits
-
-
ishell authored
[gdb] Define print functions used by gdb macros in the top level namespace to make them always be available. This should fix the following errors that sometimes appear when using V8 gdb macros: Cannot evaluate function -- may be inlined or No symbol "xxx" in namespace "v8::internal". Review-Url: https://codereview.chromium.org/2186293002 Cr-Commit-Position: refs/heads/master@{#38145}
-
jochen authored
Use it like this: Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0x7f50d02c4700 (LWP 8152)] base::debug::(anonymous namespace)::DebugBreak () at ../../base/debug/debugger_posix.cc:230 230 } (gdb) bt at ../../base/debug/debugger_posix.cc:230 ... args_object=0x7f50d02bfe00, isolate=0x2f001c9e2020) at ../../v8/src/builtins/builtins-api.cc:123 ... (gdb) jss (gdb) bt isolate=0x2f001c9e2020, is_construct=false, target=..., receiver=..., argc=1, args=0x7f50d02c0518, new_target=...) at ../../v8/src/execution.cc:111 isolate=0x2f001c9e2020, callable=..., receiver=..., argc=1, argv=0x7f50d02c0518) at ../../v8/src/execution.cc:168 ... R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2186013002 Cr-Commit-Position: refs/heads/master@{#38121}
-
- 15 Jul, 2015 1 commit
-
-
mvstanton authored
Gdb macro jfv on an object will print it as a feedback vector. Printouts look like this: DebugPrint: 0x5dc0d2ad: [TypeFeedbackVector] - length: 12 - ics with type info: 3 - generic ics: 0 ICSlot 0 CALL_IC MONOMORPHIC [4]: 0x5dc0d365 WeakCell for 0x5dc0cd69 <JS Function foo (SharedFunctionInfo 0x5dc0cb0d)> [5]: 0x4203c4c1 <Code: HANDLER> ICSlot 1 LOAD_IC MONOMORPHIC [6]: 0x5dc0d1f5 WeakCell for 0x3a710481 <Map(FAST_HOLEY_SMI_ELEMENTS)> [7]: 0x4203a1c1 <Code: HANDLER> ICSlot 2 LOAD_IC UNINITIALIZED [8]: 0x3060d045 <Symbol: 711234650 <String[20]: uninitialized_symbol>> [9]: 0x3060d045 <Symbol: 711234650 <String[20]: uninitialized_symbol>> ICSlot 3 LOAD_IC MONOMORPHIC [10]: 0x5dc0d3b5 WeakCell for 0x3a710d71 <Map(FAST_HOLEY_ELEMENTS)> [11]: 0x4202af01 <Code: HANDLER> BUG= Review URL: https://codereview.chromium.org/1225403005 Cr-Commit-Position: refs/heads/master@{#29679}
-
- 12 Jun, 2015 1 commit
-
-
jochen authored
BUG=none R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1179053004 Cr-Commit-Position: refs/heads/master@{#28985}
-
- 24 Oct, 2014 1 commit
-
-
jkummerow@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/669383002 Cr-Commit-Position: refs/heads/master@{#24881} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Oct, 2014 1 commit
-
-
ishell@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/659363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jul, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/379133003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2014 1 commit
-
-
jkummerow@chromium.org authored
Suggested usage: echo "source /path/to/v8/tools/gdbinit" >> ~/.gdbinit R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/375503009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-