@@ -17,12 +17,12 @@ namespace v8 {
1717namespace internal {
1818
1919class SharedToCounterMap
20- : public base::TemplateHashMapImpl<SharedFunctionInfo* , uint32_t ,
20+ : public base::TemplateHashMapImpl<SharedFunctionInfo, uint32_t ,
2121 base::KeyEqualityMatcher<void *>,
2222 base::DefaultAllocationPolicy> {
2323 public:
24- typedef base::TemplateHashMapEntry<SharedFunctionInfo* , uint32_t > Entry;
25- inline void Add (SharedFunctionInfo* key, uint32_t count) {
24+ typedef base::TemplateHashMapEntry<SharedFunctionInfo, uint32_t > Entry;
25+ inline void Add (SharedFunctionInfo key, uint32_t count) {
2626 Entry* entry = LookupOrInsert (key, Hash (key), []() { return 0 ; });
2727 uint32_t old_count = entry->value ;
2828 if (UINT32_MAX - count < old_count) {
@@ -32,28 +32,28 @@ class SharedToCounterMap
3232 }
3333 }
3434
35- inline uint32_t Get (SharedFunctionInfo* key) {
35+ inline uint32_t Get (SharedFunctionInfo key) {
3636 Entry* entry = Lookup (key, Hash (key));
3737 if (entry == nullptr ) return 0 ;
3838 return entry->value ;
3939 }
4040
4141 private:
42- static uint32_t Hash (SharedFunctionInfo* key) {
43- return static_cast <uint32_t >(reinterpret_cast < intptr_t >( key));
42+ static uint32_t Hash (SharedFunctionInfo key) {
43+ return static_cast <uint32_t >(key. ptr ( ));
4444 }
4545
4646 DisallowHeapAllocation no_gc;
4747};
4848
4949namespace {
50- int StartPosition (SharedFunctionInfo* info) {
50+ int StartPosition (SharedFunctionInfo info) {
5151 int start = info->function_token_position ();
5252 if (start == kNoSourcePosition ) start = info->StartPosition ();
5353 return start;
5454}
5555
56- bool CompareSharedFunctionInfo (SharedFunctionInfo* a, SharedFunctionInfo* b) {
56+ bool CompareSharedFunctionInfo (SharedFunctionInfo a, SharedFunctionInfo b) {
5757 int a_start = StartPosition (a);
5858 int b_start = StartPosition (b);
5959 if (a_start == b_start) return a->EndPosition () > b->EndPosition ();
@@ -72,7 +72,7 @@ void SortBlockData(std::vector<CoverageBlock>& v) {
7272 std::sort (v.begin (), v.end (), CompareCoverageBlock);
7373}
7474
75- std::vector<CoverageBlock> GetSortedBlockData (SharedFunctionInfo* shared) {
75+ std::vector<CoverageBlock> GetSortedBlockData (SharedFunctionInfo shared) {
7676 DCHECK (shared->HasCoverageInfo ());
7777
7878 CoverageInfo coverage_info =
@@ -383,7 +383,7 @@ void ClampToBinary(CoverageFunction* function) {
383383 }
384384}
385385
386- void ResetAllBlockCounts (SharedFunctionInfo* shared) {
386+ void ResetAllBlockCounts (SharedFunctionInfo shared) {
387387 DCHECK (shared->HasCoverageInfo ());
388388
389389 CoverageInfo coverage_info =
@@ -414,7 +414,7 @@ bool IsBinaryMode(debug::Coverage::Mode mode) {
414414 }
415415}
416416
417- void CollectBlockCoverage (CoverageFunction* function, SharedFunctionInfo* info,
417+ void CollectBlockCoverage (CoverageFunction* function, SharedFunctionInfo info,
418418 debug::Coverage::Mode mode) {
419419 DCHECK (IsBlockMode (mode));
420420
@@ -500,7 +500,7 @@ std::unique_ptr<Coverage> Coverage::Collect(
500500 isolate->factory ()->feedback_vectors_for_profiling_tools ());
501501 for (int i = 0 ; i < list->Length (); i++) {
502502 FeedbackVector* vector = FeedbackVector::cast (list->Get (i));
503- SharedFunctionInfo* shared = vector->shared_function_info ();
503+ SharedFunctionInfo shared = vector->shared_function_info ();
504504 DCHECK (shared->IsSubjectToDebugging ());
505505 uint32_t count = static_cast <uint32_t >(vector->invocation_count ());
506506 if (reset_count) vector->clear_invocation_count ();
@@ -517,7 +517,7 @@ std::unique_ptr<Coverage> Coverage::Collect(
517517 while (HeapObject* current_obj = heap_iterator.next ()) {
518518 if (!current_obj->IsFeedbackVector ()) continue ;
519519 FeedbackVector* vector = FeedbackVector::cast (current_obj);
520- SharedFunctionInfo* shared = vector->shared_function_info ();
520+ SharedFunctionInfo shared = vector->shared_function_info ();
521521 if (!shared->IsSubjectToDebugging ()) continue ;
522522 uint32_t count = static_cast <uint32_t >(vector->invocation_count ());
523523 counter_map.Add (shared, count);
@@ -538,12 +538,13 @@ std::unique_ptr<Coverage> Coverage::Collect(
538538 result->emplace_back (script_handle);
539539 std::vector<CoverageFunction>* functions = &result->back ().functions ;
540540
541- std::vector<SharedFunctionInfo* > sorted;
541+ std::vector<SharedFunctionInfo> sorted;
542542
543543 {
544544 // Sort functions by start position, from outer to inner functions.
545545 SharedFunctionInfo::ScriptIterator infos (isolate, *script_handle);
546- while (SharedFunctionInfo* info = infos.Next ()) {
546+ for (SharedFunctionInfo info = infos.Next (); !info.is_null ();
547+ info = infos.Next ()) {
547548 sorted.push_back (info);
548549 }
549550 std::sort (sorted.begin (), sorted.end (), CompareSharedFunctionInfo);
@@ -553,7 +554,7 @@ std::unique_ptr<Coverage> Coverage::Collect(
553554 std::vector<size_t > nesting;
554555
555556 // Use sorted list to reconstruct function nesting.
556- for (SharedFunctionInfo* info : sorted) {
557+ for (SharedFunctionInfo info : sorted) {
557558 int start = StartPosition (info);
558559 int end = info->EndPosition ();
559560 uint32_t count = counter_map.Get (info);
@@ -634,7 +635,7 @@ void Coverage::SelectMode(Isolate* isolate, debug::Coverage::Mode mode) {
634635 // If collecting binary coverage, reset
635636 // SFI::has_reported_binary_coverage to avoid optimizing / inlining
636637 // functions before they have reported coverage.
637- SharedFunctionInfo* shared = SharedFunctionInfo::cast (o);
638+ SharedFunctionInfo shared = SharedFunctionInfo::cast (o);
638639 shared->set_has_reported_binary_coverage (false );
639640 } else if (o->IsFeedbackVector ()) {
640641 // In any case, clear any collected invocation counts.
0 commit comments