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

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

Issue 2534763003: [Interpreter] Add bytecode aging and use it enable CompilationCache for bytecode (Closed)
Patch Set: Created 4 years 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 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 3023 matching lines...) Expand 10 before | Expand all | Expand 10 after
3034 if (!allocation.To(&result)) return allocation; 3034 if (!allocation.To(&result)) return allocation;
3035 } 3035 }
3036 3036
3037 result->set_map_no_write_barrier(bytecode_array_map()); 3037 result->set_map_no_write_barrier(bytecode_array_map());
3038 BytecodeArray* instance = BytecodeArray::cast(result); 3038 BytecodeArray* instance = BytecodeArray::cast(result);
3039 instance->set_length(length); 3039 instance->set_length(length);
3040 instance->set_frame_size(frame_size); 3040 instance->set_frame_size(frame_size);
3041 instance->set_parameter_count(parameter_count); 3041 instance->set_parameter_count(parameter_count);
3042 instance->set_interrupt_budget(interpreter::Interpreter::InterruptBudget()); 3042 instance->set_interrupt_budget(interpreter::Interpreter::InterruptBudget());
3043 instance->set_osr_loop_nesting_level(0); 3043 instance->set_osr_loop_nesting_level(0);
3044 instance->set_bytecode_age(BytecodeArray::kNoAgeBytecodeAge);
3044 instance->set_constant_pool(constant_pool); 3045 instance->set_constant_pool(constant_pool);
3045 instance->set_handler_table(empty_fixed_array()); 3046 instance->set_handler_table(empty_fixed_array());
3046 instance->set_source_position_table(empty_byte_array()); 3047 instance->set_source_position_table(empty_byte_array());
3047 CopyBytes(instance->GetFirstBytecodeAddress(), raw_bytecodes, length); 3048 CopyBytes(instance->GetFirstBytecodeAddress(), raw_bytecodes, length);
3048 3049
3049 return result; 3050 return result;
3050 } 3051 }
3051 3052
3052 void Heap::CreateFillerObjectAt(Address addr, int size, ClearRecordedSlots mode, 3053 void Heap::CreateFillerObjectAt(Address addr, int size, ClearRecordedSlots mode,
3053 ClearBlackArea black_area_mode) { 3054 ClearBlackArea black_area_mode) {
(...skipping 3413 matching lines...) Expand 10 before | Expand all | Expand 10 after
6467 } 6468 }
6468 6469
6469 6470
6470 // static 6471 // static
6471 int Heap::GetStaticVisitorIdForMap(Map* map) { 6472 int Heap::GetStaticVisitorIdForMap(Map* map) {
6472 return StaticVisitorBase::GetVisitorId(map); 6473 return StaticVisitorBase::GetVisitorId(map);
6473 } 6474 }
6474 6475
6475 } // namespace internal 6476 } // namespace internal
6476 } // namespace v8 6477 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/x64/builtins-x64.cc ('k') | src/heap/objects-visiting.h » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698