| 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" |
| (...skipping 2226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2237 deserializer.FlushICacheForNewCodeObjects(); | 2237 deserializer.FlushICacheForNewCodeObjects(); |
| 2238 } | 2238 } |
| 2239 | 2239 |
| 2240 if (FLAG_profile_deserialization) { | 2240 if (FLAG_profile_deserialization) { |
| 2241 double ms = timer.Elapsed().InMillisecondsF(); | 2241 double ms = timer.Elapsed().InMillisecondsF(); |
| 2242 int length = data->length(); | 2242 int length = data->length(); |
| 2243 PrintF("[Deserializing from %d bytes took %0.3f ms]\n", length, ms); | 2243 PrintF("[Deserializing from %d bytes took %0.3f ms]\n", length, ms); |
| 2244 } | 2244 } |
| 2245 Handle<SharedFunctionInfo> result(SharedFunctionInfo::cast(root), isolate); | 2245 Handle<SharedFunctionInfo> result(SharedFunctionInfo::cast(root), isolate); |
| 2246 result->set_deserialized(true); | 2246 result->set_deserialized(true); |
| 2247 |
| 2248 if (isolate->logger()->is_logging_code_events() || |
| 2249 isolate->cpu_profiler()->is_profiling()) { |
| 2250 String* name = isolate->heap()->empty_string(); |
| 2251 if (result->script()->IsScript()) { |
| 2252 Script* script = Script::cast(result->script()); |
| 2253 if (script->name()->IsString()) name = String::cast(script->name()); |
| 2254 } |
| 2255 isolate->logger()->CodeCreateEvent(Logger::SCRIPT_TAG, result->code(), |
| 2256 *result, NULL, name); |
| 2257 } |
| 2258 |
| 2247 return result; | 2259 return result; |
| 2248 } | 2260 } |
| 2249 | 2261 |
| 2250 | 2262 |
| 2251 SerializedCodeData::SerializedCodeData(List<byte>* payload, CodeSerializer* cs) | 2263 SerializedCodeData::SerializedCodeData(List<byte>* payload, CodeSerializer* cs) |
| 2252 : script_data_(NULL), owns_script_data_(true) { | 2264 : script_data_(NULL), owns_script_data_(true) { |
| 2253 DisallowHeapAllocation no_gc; | 2265 DisallowHeapAllocation no_gc; |
| 2254 List<uint32_t>* stub_keys = cs->stub_keys(); | 2266 List<uint32_t>* stub_keys = cs->stub_keys(); |
| 2255 | 2267 |
| 2256 // Gather reservation chunk sizes. | 2268 // Gather reservation chunk sizes. |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2310 | 2322 |
| 2311 int SerializedCodeData::CheckSum(String* string) { | 2323 int SerializedCodeData::CheckSum(String* string) { |
| 2312 int checksum = Version::Hash(); | 2324 int checksum = Version::Hash(); |
| 2313 #ifdef DEBUG | 2325 #ifdef DEBUG |
| 2314 uint32_t seed = static_cast<uint32_t>(checksum); | 2326 uint32_t seed = static_cast<uint32_t>(checksum); |
| 2315 checksum = static_cast<int>(IteratingStringHasher::Hash(string, seed)); | 2327 checksum = static_cast<int>(IteratingStringHasher::Hash(string, seed)); |
| 2316 #endif // DEBUG | 2328 #endif // DEBUG |
| 2317 return checksum; | 2329 return checksum; |
| 2318 } | 2330 } |
| 2319 } } // namespace v8::internal | 2331 } } // namespace v8::internal |
| OLD | NEW |