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

Side by Side Diff: src/heap/heap.cc

Issue 2658573008: Convert the array iterator protector to a PropertyCell. (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « src/heap/heap.h ('k') | src/isolate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/heap/heap.h" 5 #include "src/heap/heap.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/ast/context-slot-cache.h" 9 #include "src/ast/context-slot-cache.h"
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 2844 matching lines...) Expand 10 before | Expand all | Expand 10 after
2855 set_array_protector(*cell); 2855 set_array_protector(*cell);
2856 2856
2857 cell = factory->NewPropertyCell(); 2857 cell = factory->NewPropertyCell();
2858 cell->set_value(the_hole_value()); 2858 cell->set_value(the_hole_value());
2859 set_empty_property_cell(*cell); 2859 set_empty_property_cell(*cell);
2860 2860
2861 cell = factory->NewPropertyCell(); 2861 cell = factory->NewPropertyCell();
2862 cell->set_value(Smi::FromInt(Isolate::kProtectorValid)); 2862 cell->set_value(Smi::FromInt(Isolate::kProtectorValid));
2863 set_has_instance_protector(*cell); 2863 set_has_instance_protector(*cell);
2864 2864
2865 cell = factory->NewPropertyCell();
2866 cell->set_value(Smi::FromInt(Isolate::kProtectorValid));
2867 set_array_iterator_protector(*cell);
2868
2865 Handle<Cell> is_concat_spreadable_cell = factory->NewCell( 2869 Handle<Cell> is_concat_spreadable_cell = factory->NewCell(
2866 handle(Smi::FromInt(Isolate::kProtectorValid), isolate())); 2870 handle(Smi::FromInt(Isolate::kProtectorValid), isolate()));
2867 set_is_concat_spreadable_protector(*is_concat_spreadable_cell); 2871 set_is_concat_spreadable_protector(*is_concat_spreadable_cell);
2868 2872
2869 Handle<Cell> species_cell = factory->NewCell( 2873 Handle<Cell> species_cell = factory->NewCell(
2870 handle(Smi::FromInt(Isolate::kProtectorValid), isolate())); 2874 handle(Smi::FromInt(Isolate::kProtectorValid), isolate()));
2871 set_species_protector(*species_cell); 2875 set_species_protector(*species_cell);
2872 2876
2873 cell = factory->NewPropertyCell(); 2877 cell = factory->NewPropertyCell();
2874 cell->set_value(Smi::FromInt(Isolate::kProtectorValid)); 2878 cell->set_value(Smi::FromInt(Isolate::kProtectorValid));
2875 set_string_length_protector(*cell); 2879 set_string_length_protector(*cell);
2876 2880
2877 Handle<Cell> fast_array_iteration_cell = factory->NewCell( 2881 Handle<Cell> fast_array_iteration_cell = factory->NewCell(
2878 handle(Smi::FromInt(Isolate::kProtectorValid), isolate())); 2882 handle(Smi::FromInt(Isolate::kProtectorValid), isolate()));
2879 set_fast_array_iteration_protector(*fast_array_iteration_cell); 2883 set_fast_array_iteration_protector(*fast_array_iteration_cell);
2880 2884
2881 Handle<Cell> array_iterator_cell = factory->NewCell(
2882 handle(Smi::FromInt(Isolate::kProtectorValid), isolate()));
2883 set_array_iterator_protector(*array_iterator_cell);
2884
2885 cell = factory->NewPropertyCell(); 2885 cell = factory->NewPropertyCell();
2886 cell->set_value(Smi::FromInt(Isolate::kProtectorValid)); 2886 cell->set_value(Smi::FromInt(Isolate::kProtectorValid));
2887 set_array_buffer_neutering_protector(*cell); 2887 set_array_buffer_neutering_protector(*cell);
2888 2888
2889 set_serialized_templates(empty_fixed_array()); 2889 set_serialized_templates(empty_fixed_array());
2890 set_serialized_global_proxy_sizes(empty_fixed_array()); 2890 set_serialized_global_proxy_sizes(empty_fixed_array());
2891 2891
2892 set_weak_stack_trace_list(Smi::kZero); 2892 set_weak_stack_trace_list(Smi::kZero);
2893 2893
2894 set_noscript_shared_function_infos(Smi::kZero); 2894 set_noscript_shared_function_infos(Smi::kZero);
(...skipping 3711 matching lines...) Expand 10 before | Expand all | Expand 10 after
6606 } 6606 }
6607 6607
6608 6608
6609 // static 6609 // static
6610 int Heap::GetStaticVisitorIdForMap(Map* map) { 6610 int Heap::GetStaticVisitorIdForMap(Map* map) {
6611 return StaticVisitorBase::GetVisitorId(map); 6611 return StaticVisitorBase::GetVisitorId(map);
6612 } 6612 }
6613 6613
6614 } // namespace internal 6614 } // namespace internal
6615 } // namespace v8 6615 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698