OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 | 46 |
47 bool Snapshot::Initialize(const char* snapshot_file) { | 47 bool Snapshot::Initialize(const char* snapshot_file) { |
48 if (snapshot_file) { | 48 if (snapshot_file) { |
49 int len; | 49 int len; |
50 byte* str = ReadBytes(snapshot_file, &len); | 50 byte* str = ReadBytes(snapshot_file, &len); |
51 if (!str) return false; | 51 if (!str) return false; |
52 Deserialize(str, len); | 52 Deserialize(str, len); |
53 DeleteArray(str); | 53 DeleteArray(str); |
54 return true; | 54 return true; |
55 } else if (size_ > 0) { | 55 } else if (size_ > 0) { |
56 Deserialize(data_, size_); | 56 Deserialize(raw_data_, raw_size_); |
57 return true; | 57 return true; |
58 } | 58 } |
59 return false; | 59 return false; |
60 } | 60 } |
61 | 61 |
62 | 62 |
63 Handle<Context> Snapshot::NewContextFromSnapshot() { | 63 Handle<Context> Snapshot::NewContextFromSnapshot() { |
64 if (context_size_ == 0) { | 64 if (context_size_ == 0) { |
65 return Handle<Context>(); | 65 return Handle<Context>(); |
66 } | 66 } |
67 HEAP->ReserveSpace(new_space_used_, | 67 HEAP->ReserveSpace(new_space_used_, |
68 pointer_space_used_, | 68 pointer_space_used_, |
69 data_space_used_, | 69 data_space_used_, |
70 code_space_used_, | 70 code_space_used_, |
71 map_space_used_, | 71 map_space_used_, |
72 cell_space_used_, | 72 cell_space_used_, |
73 large_space_used_); | 73 large_space_used_); |
74 SnapshotByteSource source(context_data_, context_size_); | 74 SnapshotByteSource source(context_raw_data_, |
| 75 context_raw_size_); |
75 Deserializer deserializer(&source); | 76 Deserializer deserializer(&source); |
76 Object* root; | 77 Object* root; |
77 deserializer.DeserializePartial(&root); | 78 deserializer.DeserializePartial(&root); |
78 CHECK(root->IsContext()); | 79 CHECK(root->IsContext()); |
79 return Handle<Context>(Context::cast(root)); | 80 return Handle<Context>(Context::cast(root)); |
80 } | 81 } |
81 | 82 |
82 } } // namespace v8::internal | 83 } } // namespace v8::internal |
OLD | NEW |