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

Side by Side Diff: src/objects-inl.h

Issue 767253002: Refactor Map::ConstructionCount. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix x87 Created 6 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 // Review notes: 5 // Review notes:
6 // 6 //
7 // - The use of macros in these inline functions may seem superfluous 7 // - The use of macros in these inline functions may seem superfluous
8 // but it is absolutely needed to make sure gcc generates optimal 8 // but it is absolutely needed to make sure gcc generates optimal
9 // code. gcc is not happy when attempting to inline too deep. 9 // code. gcc is not happy when attempting to inline too deep.
10 // 10 //
(...skipping 4609 matching lines...) Expand 10 before | Expand all | Expand 10 after
4620 void Map::set_migration_target(bool value) { 4620 void Map::set_migration_target(bool value) {
4621 set_bit_field3(IsMigrationTarget::update(bit_field3(), value)); 4621 set_bit_field3(IsMigrationTarget::update(bit_field3(), value));
4622 } 4622 }
4623 4623
4624 4624
4625 bool Map::is_migration_target() { 4625 bool Map::is_migration_target() {
4626 return IsMigrationTarget::decode(bit_field3()); 4626 return IsMigrationTarget::decode(bit_field3());
4627 } 4627 }
4628 4628
4629 4629
4630 void Map::set_done_inobject_slack_tracking(bool value) { 4630 void Map::set_counter(int value) {
4631 set_bit_field3(DoneInobjectSlackTracking::update(bit_field3(), value)); 4631 set_bit_field3(Counter::update(bit_field3(), value));
4632 } 4632 }
4633 4633
4634 4634
4635 bool Map::done_inobject_slack_tracking() { 4635 int Map::counter() { return Counter::decode(bit_field3()); }
4636 return DoneInobjectSlackTracking::decode(bit_field3());
4637 }
4638
4639
4640 void Map::set_construction_count(int value) {
4641 set_bit_field3(ConstructionCount::update(bit_field3(), value));
4642 }
4643
4644
4645 int Map::construction_count() {
4646 return ConstructionCount::decode(bit_field3());
4647 }
4648 4636
4649 4637
4650 void Map::freeze() { 4638 void Map::freeze() {
4651 set_bit_field3(IsFrozen::update(bit_field3(), true)); 4639 set_bit_field3(IsFrozen::update(bit_field3(), true));
4652 } 4640 }
4653 4641
4654 4642
4655 bool Map::is_frozen() { 4643 bool Map::is_frozen() {
4656 return IsFrozen::decode(bit_field3()); 4644 return IsFrozen::decode(bit_field3());
4657 } 4645 }
(...skipping 1386 matching lines...) Expand 10 before | Expand all | Expand 10 after
6044 6032
6045 6033
6046 bool JSFunction::IsInOptimizationQueue() { 6034 bool JSFunction::IsInOptimizationQueue() {
6047 return code() == GetIsolate()->builtins()->builtin( 6035 return code() == GetIsolate()->builtins()->builtin(
6048 Builtins::kInOptimizationQueue); 6036 Builtins::kInOptimizationQueue);
6049 } 6037 }
6050 6038
6051 6039
6052 bool JSFunction::IsInobjectSlackTrackingInProgress() { 6040 bool JSFunction::IsInobjectSlackTrackingInProgress() {
6053 return has_initial_map() && 6041 return has_initial_map() &&
6054 initial_map()->construction_count() != JSFunction::kNoSlackTracking; 6042 initial_map()->counter() >= Map::kSlackTrackingCounterEnd;
6055 } 6043 }
6056 6044
6057 6045
6058 Code* JSFunction::code() { 6046 Code* JSFunction::code() {
6059 return Code::cast( 6047 return Code::cast(
6060 Code::GetObjectFromEntryAddress(FIELD_ADDR(this, kCodeEntryOffset))); 6048 Code::GetObjectFromEntryAddress(FIELD_ADDR(this, kCodeEntryOffset)));
6061 } 6049 }
6062 6050
6063 6051
6064 void JSFunction::set_code(Code* value) { 6052 void JSFunction::set_code(Code* value) {
(...skipping 1449 matching lines...) Expand 10 before | Expand all | Expand 10 after
7514 #undef READ_SHORT_FIELD 7502 #undef READ_SHORT_FIELD
7515 #undef WRITE_SHORT_FIELD 7503 #undef WRITE_SHORT_FIELD
7516 #undef READ_BYTE_FIELD 7504 #undef READ_BYTE_FIELD
7517 #undef WRITE_BYTE_FIELD 7505 #undef WRITE_BYTE_FIELD
7518 #undef NOBARRIER_READ_BYTE_FIELD 7506 #undef NOBARRIER_READ_BYTE_FIELD
7519 #undef NOBARRIER_WRITE_BYTE_FIELD 7507 #undef NOBARRIER_WRITE_BYTE_FIELD
7520 7508
7521 } } // namespace v8::internal 7509 } } // namespace v8::internal
7522 7510
7523 #endif // V8_OBJECTS_INL_H_ 7511 #endif // V8_OBJECTS_INL_H_
OLDNEW
« src/objects.h ('K') | « src/objects.cc ('k') | src/x64/builtins-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698