| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #include "accessors.h" | 7 #include "accessors.h" |
| 8 #include "allocation-site-scopes.h" | 8 #include "allocation-site-scopes.h" |
| 9 #include "api.h" | 9 #include "api.h" |
| 10 #include "arguments.h" | 10 #include "arguments.h" |
| (...skipping 10659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10670 void SharedFunctionInfo::StartInobjectSlackTracking(Map* map) { | 10670 void SharedFunctionInfo::StartInobjectSlackTracking(Map* map) { |
| 10671 ASSERT(!IsInobjectSlackTrackingInProgress()); | 10671 ASSERT(!IsInobjectSlackTrackingInProgress()); |
| 10672 | 10672 |
| 10673 if (!FLAG_clever_optimizations) return; | 10673 if (!FLAG_clever_optimizations) return; |
| 10674 | 10674 |
| 10675 // Only initiate the tracking the first time. | 10675 // Only initiate the tracking the first time. |
| 10676 if (live_objects_may_exist()) return; | 10676 if (live_objects_may_exist()) return; |
| 10677 set_live_objects_may_exist(true); | 10677 set_live_objects_may_exist(true); |
| 10678 | 10678 |
| 10679 // No tracking during the snapshot construction phase. | 10679 // No tracking during the snapshot construction phase. |
| 10680 if (Serializer::enabled()) return; | 10680 Isolate* isolate = GetIsolate(); |
| 10681 if (Serializer::enabled(isolate)) return; |
| 10681 | 10682 |
| 10682 if (map->unused_property_fields() == 0) return; | 10683 if (map->unused_property_fields() == 0) return; |
| 10683 | 10684 |
| 10684 // Nonzero counter is a leftover from the previous attempt interrupted | 10685 // Nonzero counter is a leftover from the previous attempt interrupted |
| 10685 // by GC, keep it. | 10686 // by GC, keep it. |
| 10686 if (construction_count() == 0) { | 10687 if (construction_count() == 0) { |
| 10687 set_construction_count(kGenerousAllocationCount); | 10688 set_construction_count(kGenerousAllocationCount); |
| 10688 } | 10689 } |
| 10689 set_initial_map(map); | 10690 set_initial_map(map); |
| 10690 Builtins* builtins = map->GetHeap()->isolate()->builtins(); | 10691 Builtins* builtins = isolate->builtins(); |
| 10691 ASSERT_EQ(builtins->builtin(Builtins::kJSConstructStubGeneric), | 10692 ASSERT_EQ(builtins->builtin(Builtins::kJSConstructStubGeneric), |
| 10692 construct_stub()); | 10693 construct_stub()); |
| 10693 set_construct_stub(builtins->builtin(Builtins::kJSConstructStubCountdown)); | 10694 set_construct_stub(builtins->builtin(Builtins::kJSConstructStubCountdown)); |
| 10694 } | 10695 } |
| 10695 | 10696 |
| 10696 | 10697 |
| 10697 // Called from GC, hence reinterpret_cast and unchecked accessors. | 10698 // Called from GC, hence reinterpret_cast and unchecked accessors. |
| 10698 void SharedFunctionInfo::DetachInitialMap() { | 10699 void SharedFunctionInfo::DetachInitialMap() { |
| 10699 Map* map = reinterpret_cast<Map*>(initial_map()); | 10700 Map* map = reinterpret_cast<Map*>(initial_map()); |
| 10700 | 10701 |
| (...skipping 6518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 17219 #define ERROR_MESSAGES_TEXTS(C, T) T, | 17220 #define ERROR_MESSAGES_TEXTS(C, T) T, |
| 17220 static const char* error_messages_[] = { | 17221 static const char* error_messages_[] = { |
| 17221 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 17222 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
| 17222 }; | 17223 }; |
| 17223 #undef ERROR_MESSAGES_TEXTS | 17224 #undef ERROR_MESSAGES_TEXTS |
| 17224 return error_messages_[reason]; | 17225 return error_messages_[reason]; |
| 17225 } | 17226 } |
| 17226 | 17227 |
| 17227 | 17228 |
| 17228 } } // namespace v8::internal | 17229 } } // namespace v8::internal |
| OLD | NEW |