OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2697 JSConstructEntryStub stub; | 2697 JSConstructEntryStub stub; |
2698 set_js_construct_entry_code(*stub.GetCode()); | 2698 set_js_construct_entry_code(*stub.GetCode()); |
2699 } | 2699 } |
2700 | 2700 |
2701 | 2701 |
2702 void Heap::CreateFixedStubs() { | 2702 void Heap::CreateFixedStubs() { |
2703 // Here we create roots for fixed stubs. They are needed at GC | 2703 // Here we create roots for fixed stubs. They are needed at GC |
2704 // for cooking and uncooking (check out frames.cc). | 2704 // for cooking and uncooking (check out frames.cc). |
2705 // The eliminates the need for doing dictionary lookup in the | 2705 // The eliminates the need for doing dictionary lookup in the |
2706 // stub cache for these stubs. | 2706 // stub cache for these stubs. |
2707 HandleScope scope; | 2707 HandleScope scope(isolate()); |
2708 // gcc-4.4 has problem generating correct code of following snippet: | 2708 // gcc-4.4 has problem generating correct code of following snippet: |
2709 // { JSEntryStub stub; | 2709 // { JSEntryStub stub; |
2710 // js_entry_code_ = *stub.GetCode(); | 2710 // js_entry_code_ = *stub.GetCode(); |
2711 // } | 2711 // } |
2712 // { JSConstructEntryStub stub; | 2712 // { JSConstructEntryStub stub; |
2713 // js_construct_entry_code_ = *stub.GetCode(); | 2713 // js_construct_entry_code_ = *stub.GetCode(); |
2714 // } | 2714 // } |
2715 // To workaround the problem, make separate functions without inlining. | 2715 // To workaround the problem, make separate functions without inlining. |
2716 Heap::CreateJSEntryStub(); | 2716 Heap::CreateJSEntryStub(); |
2717 Heap::CreateJSConstructEntryStub(); | 2717 Heap::CreateJSConstructEntryStub(); |
(...skipping 4819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7537 static_cast<int>(object_sizes_last_time_[index])); | 7537 static_cast<int>(object_sizes_last_time_[index])); |
7538 FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(ADJUST_LAST_TIME_OBJECT_COUNT) | 7538 FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(ADJUST_LAST_TIME_OBJECT_COUNT) |
7539 #undef ADJUST_LAST_TIME_OBJECT_COUNT | 7539 #undef ADJUST_LAST_TIME_OBJECT_COUNT |
7540 | 7540 |
7541 memcpy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); | 7541 memcpy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); |
7542 memcpy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); | 7542 memcpy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); |
7543 ClearObjectStats(); | 7543 ClearObjectStats(); |
7544 } | 7544 } |
7545 | 7545 |
7546 } } // namespace v8::internal | 7546 } } // namespace v8::internal |
OLD | NEW |