1. 26 Jun, 2018 1 commit
  2. 06 Dec, 2017 1 commit
  3. 06 Jul, 2017 1 commit
  4. 09 May, 2017 1 commit
  5. 14 Feb, 2017 1 commit
  6. 06 Feb, 2017 1 commit
    • mvstanton's avatar
      [TypeFeedbackVector] Root feedback vectors at function literal site. · aea3ce3d
      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}
      aea3ce3d
  7. 13 Jan, 2017 1 commit
  8. 28 Nov, 2016 1 commit
  9. 04 Nov, 2016 2 commits
    • yangguo's avatar
      Add missing "end" to gdb macro · 388acfc4
      yangguo authored
      TBR=jochen@chromium.org
      
      Review-Url: https://codereview.chromium.org/2474433011
      Cr-Commit-Position: refs/heads/master@{#40749}
      388acfc4
    • yangguo's avatar
      Add gdb macro to find assertion scopes on the stack. · 6ab61037
      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}
      6ab61037
  10. 28 Jul, 2016 2 commits
    • ishell's avatar
      [gdb] Define print functions used by gdb macros in the top level namespace to... · e063b711
      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}
      e063b711
    • jochen's avatar
      Add a jss gdb macro that skips over the jitted stack in gdb · a8118084
      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}
      a8118084
  11. 15 Jul, 2015 1 commit
    • mvstanton's avatar
      Special printing for type feedback vectors. · 9386b861
      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}
      9386b861
  12. 12 Jun, 2015 1 commit
  13. 24 Oct, 2014 1 commit
  14. 23 Oct, 2014 1 commit
  15. 09 Jul, 2014 1 commit
  16. 07 Jul, 2014 1 commit