Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: src/factory.cc

Issue 2882973002: [coverage] Block coverage with support for IfStatements (Closed)
Patch Set: Comment nit Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/factory.h" 5 #include "src/factory.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/allocation-site-scopes.h" 8 #include "src/allocation-site-scopes.h"
9 #include "src/ast/ast.h" 9 #include "src/ast/ast.h"
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after
2476 share->set_code(*code); 2476 share->set_code(*code);
2477 share->set_scope_info(ScopeInfo::Empty(isolate())); 2477 share->set_scope_info(ScopeInfo::Empty(isolate()));
2478 share->set_outer_scope_info(*the_hole_value()); 2478 share->set_outer_scope_info(*the_hole_value());
2479 Handle<Code> construct_stub = 2479 Handle<Code> construct_stub =
2480 is_constructor ? isolate()->builtins()->JSConstructStubGeneric() 2480 is_constructor ? isolate()->builtins()->JSConstructStubGeneric()
2481 : isolate()->builtins()->ConstructedNonConstructable(); 2481 : isolate()->builtins()->ConstructedNonConstructable();
2482 share->SetConstructStub(*construct_stub); 2482 share->SetConstructStub(*construct_stub);
2483 share->set_instance_class_name(*Object_string()); 2483 share->set_instance_class_name(*Object_string());
2484 share->set_script(*undefined_value(), SKIP_WRITE_BARRIER); 2484 share->set_script(*undefined_value(), SKIP_WRITE_BARRIER);
2485 share->set_debug_info(Smi::kZero, SKIP_WRITE_BARRIER); 2485 share->set_debug_info(Smi::kZero, SKIP_WRITE_BARRIER);
2486 share->set_coverage_info(Smi::kZero, SKIP_WRITE_BARRIER);
2486 share->set_function_identifier(*undefined_value(), SKIP_WRITE_BARRIER); 2487 share->set_function_identifier(*undefined_value(), SKIP_WRITE_BARRIER);
2487 StaticFeedbackVectorSpec empty_spec; 2488 StaticFeedbackVectorSpec empty_spec;
2488 Handle<FeedbackMetadata> feedback_metadata = 2489 Handle<FeedbackMetadata> feedback_metadata =
2489 FeedbackMetadata::New(isolate(), &empty_spec); 2490 FeedbackMetadata::New(isolate(), &empty_spec);
2490 share->set_feedback_metadata(*feedback_metadata, SKIP_WRITE_BARRIER); 2491 share->set_feedback_metadata(*feedback_metadata, SKIP_WRITE_BARRIER);
2491 share->set_function_literal_id(FunctionLiteral::kIdTypeInvalid); 2492 share->set_function_literal_id(FunctionLiteral::kIdTypeInvalid);
2492 #if TRACE_MAPS 2493 #if TRACE_MAPS
2493 share->set_unique_id(isolate()->GetNextUniqueSharedFunctionInfoId()); 2494 share->set_unique_id(isolate()->GetNextUniqueSharedFunctionInfoId());
2494 #endif 2495 #endif
2495 share->set_profiler_ticks(0); 2496 share->set_profiler_ticks(0);
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
2608 debug_info->set_debugger_hints(shared->debugger_hints()); 2609 debug_info->set_debugger_hints(shared->debugger_hints());
2609 debug_info->set_debug_bytecode_array(*maybe_debug_bytecode_array); 2610 debug_info->set_debug_bytecode_array(*maybe_debug_bytecode_array);
2610 debug_info->set_break_points(*break_points); 2611 debug_info->set_break_points(*break_points);
2611 2612
2612 // Link debug info to function. 2613 // Link debug info to function.
2613 shared->set_debug_info(*debug_info); 2614 shared->set_debug_info(*debug_info);
2614 2615
2615 return debug_info; 2616 return debug_info;
2616 } 2617 }
2617 2618
2619 Handle<CoverageInfo> Factory::NewCoverageInfo(
2620 const ZoneVector<SourceRange>& slots) {
2621 const int slot_count = static_cast<int>(slots.size());
2622
2623 const int length = CoverageInfo::FixedArrayLengthForSlotCount(slot_count);
2624 Handle<CoverageInfo> info =
2625 Handle<CoverageInfo>::cast(NewUninitializedFixedArray(length));
2626
2627 for (int i = 0; i < slot_count; i++) {
2628 SourceRange range = slots[i];
2629 info->InitializeSlot(i, range.from, range.to);
2630 }
2631
2632 return info;
2633 }
2634
2618 Handle<BreakPointInfo> Factory::NewBreakPointInfo(int source_position) { 2635 Handle<BreakPointInfo> Factory::NewBreakPointInfo(int source_position) {
2619 Handle<BreakPointInfo> new_break_point_info = 2636 Handle<BreakPointInfo> new_break_point_info =
2620 Handle<BreakPointInfo>::cast(NewStruct(TUPLE2_TYPE)); 2637 Handle<BreakPointInfo>::cast(NewStruct(TUPLE2_TYPE));
2621 new_break_point_info->set_source_position(source_position); 2638 new_break_point_info->set_source_position(source_position);
2622 new_break_point_info->set_break_point_objects(*undefined_value()); 2639 new_break_point_info->set_break_point_objects(*undefined_value());
2623 return new_break_point_info; 2640 return new_break_point_info;
2624 } 2641 }
2625 2642
2626 Handle<StackFrameInfo> Factory::NewStackFrameInfo() { 2643 Handle<StackFrameInfo> Factory::NewStackFrameInfo() {
2627 Handle<StackFrameInfo> stack_frame_info = 2644 Handle<StackFrameInfo> stack_frame_info =
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
2952 Handle<AccessorInfo> prototype = 2969 Handle<AccessorInfo> prototype =
2953 Accessors::FunctionPrototypeInfo(isolate(), rw_attribs); 2970 Accessors::FunctionPrototypeInfo(isolate(), rw_attribs);
2954 Descriptor d = Descriptor::AccessorConstant( 2971 Descriptor d = Descriptor::AccessorConstant(
2955 Handle<Name>(Name::cast(prototype->name())), prototype, rw_attribs); 2972 Handle<Name>(Name::cast(prototype->name())), prototype, rw_attribs);
2956 map->AppendDescriptor(&d); 2973 map->AppendDescriptor(&d);
2957 } 2974 }
2958 } 2975 }
2959 2976
2960 } // namespace internal 2977 } // namespace internal
2961 } // namespace v8 2978 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698