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

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

Issue 1409123003: [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: simplifications Created 5 years, 1 month 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.h » ('j') | src/isolate.h » ('J')
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/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/base/once.h" 10 #include "src/base/once.h"
(...skipping 2778 matching lines...) Expand 10 before | Expand all | Expand 10 after
2789 2789
2790 // Handling of script id generation is in Heap::NextScriptId(). 2790 // Handling of script id generation is in Heap::NextScriptId().
2791 set_last_script_id(Smi::FromInt(v8::UnboundScript::kNoScriptId)); 2791 set_last_script_id(Smi::FromInt(v8::UnboundScript::kNoScriptId));
2792 2792
2793 // Allocate the empty script. 2793 // Allocate the empty script.
2794 Handle<Script> script = factory->NewScript(factory->empty_string()); 2794 Handle<Script> script = factory->NewScript(factory->empty_string());
2795 script->set_type(Script::TYPE_NATIVE); 2795 script->set_type(Script::TYPE_NATIVE);
2796 set_empty_script(*script); 2796 set_empty_script(*script);
2797 2797
2798 Handle<PropertyCell> cell = factory->NewPropertyCell(); 2798 Handle<PropertyCell> cell = factory->NewPropertyCell();
2799 cell->set_value(Smi::FromInt(Isolate::kArrayProtectorValid)); 2799 cell->set_value(Smi::FromInt(Isolate::kArrayElementsProtectorValid));
2800 set_array_protector(*cell); 2800 set_array_elements_protector(*cell);
2801
2802 cell = factory->NewPropertyCell();
2803 cell->set_value(
2804 Smi::FromInt(Isolate::kArrayIsConcatSpreadableProtectorValid));
2805 set_array_is_concat_spreadable_protector(*cell);
2801 2806
2802 cell = factory->NewPropertyCell(); 2807 cell = factory->NewPropertyCell();
2803 cell->set_value(the_hole_value()); 2808 cell->set_value(the_hole_value());
2804 set_empty_property_cell(*cell); 2809 set_empty_property_cell(*cell);
2805 2810
2806 set_weak_stack_trace_list(Smi::FromInt(0)); 2811 set_weak_stack_trace_list(Smi::FromInt(0));
2807 2812
2808 // Will be filled in by Interpreter::Initialize(). 2813 // Will be filled in by Interpreter::Initialize().
2809 set_interpreter_table( 2814 set_interpreter_table(
2810 *interpreter::Interpreter::CreateUninitializedInterpreterTable( 2815 *interpreter::Interpreter::CreateUninitializedInterpreterTable(
(...skipping 3310 matching lines...) Expand 10 before | Expand all | Expand 10 after
6121 } 6126 }
6122 6127
6123 6128
6124 // static 6129 // static
6125 int Heap::GetStaticVisitorIdForMap(Map* map) { 6130 int Heap::GetStaticVisitorIdForMap(Map* map) {
6126 return StaticVisitorBase::GetVisitorId(map); 6131 return StaticVisitorBase::GetVisitorId(map);
6127 } 6132 }
6128 6133
6129 } // namespace internal 6134 } // namespace internal
6130 } // namespace v8 6135 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | src/isolate.h » ('j') | src/isolate.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698