OLD | NEW |
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/v8.h" | 5 #include "src/v8.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/platform/platform.h" | 9 #include "src/base/platform/platform.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
11 #include "src/code-stubs.h" | 11 #include "src/code-stubs.h" |
| 12 #include "src/compiler.h" |
12 #include "src/deoptimizer.h" | 13 #include "src/deoptimizer.h" |
13 #include "src/execution.h" | 14 #include "src/execution.h" |
14 #include "src/global-handles.h" | 15 #include "src/global-handles.h" |
15 #include "src/ic/ic.h" | 16 #include "src/ic/ic.h" |
16 #include "src/ic/stub-cache.h" | 17 #include "src/ic/stub-cache.h" |
17 #include "src/natives.h" | 18 #include "src/natives.h" |
18 #include "src/objects.h" | 19 #include "src/objects.h" |
19 #include "src/runtime/runtime.h" | 20 #include "src/runtime/runtime.h" |
20 #include "src/serialize.h" | 21 #include "src/serialize.h" |
21 #include "src/snapshot.h" | 22 #include "src/snapshot.h" |
(...skipping 2622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2644 int SerializedCodeData::NumInternalizedStrings() const { | 2645 int SerializedCodeData::NumInternalizedStrings() const { |
2645 return GetHeaderValue(kNumInternalizedStringsOffset); | 2646 return GetHeaderValue(kNumInternalizedStringsOffset); |
2646 } | 2647 } |
2647 | 2648 |
2648 Vector<const uint32_t> SerializedCodeData::CodeStubKeys() const { | 2649 Vector<const uint32_t> SerializedCodeData::CodeStubKeys() const { |
2649 int reservations_size = GetHeaderValue(kNumReservationsOffset) * kInt32Size; | 2650 int reservations_size = GetHeaderValue(kNumReservationsOffset) * kInt32Size; |
2650 const byte* start = data_ + kHeaderSize + reservations_size; | 2651 const byte* start = data_ + kHeaderSize + reservations_size; |
2651 return Vector<const uint32_t>(reinterpret_cast<const uint32_t*>(start), | 2652 return Vector<const uint32_t>(reinterpret_cast<const uint32_t*>(start), |
2652 GetHeaderValue(kNumCodeStubKeysOffset)); | 2653 GetHeaderValue(kNumCodeStubKeysOffset)); |
2653 } | 2654 } |
| 2655 |
| 2656 |
| 2657 SerializedCodeData::SerializedCodeData(ScriptData* data) |
| 2658 : SerializedData(const_cast<byte*>(data->data()), data->length()) {} |
| 2659 |
| 2660 |
| 2661 SerializedCodeData* SerializedCodeData::FromCachedData(ScriptData* cached_data, |
| 2662 String* source) { |
| 2663 DisallowHeapAllocation no_gc; |
| 2664 SerializedCodeData* scd = new SerializedCodeData(cached_data); |
| 2665 if (scd->IsSane(source)) return scd; |
| 2666 cached_data->Reject(); |
| 2667 delete scd; |
| 2668 return NULL; |
| 2669 } |
2654 } } // namespace v8::internal | 2670 } } // namespace v8::internal |
OLD | NEW |