| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 // Failed resources should never get this far. | 120 // Failed resources should never get this far. |
| 121 ASSERT(!resource->errorOccurred()); | 121 ASSERT(!resource->errorOccurred()); |
| 122 ASSERT(streamer->isFinished()); | 122 ASSERT(streamer->isFinished()); |
| 123 ASSERT(!streamer->streamingSuppressed()); | 123 ASSERT(!streamer->streamingSuppressed()); |
| 124 script = v8::ScriptCompiler::Compile(isolate, streamer->source(), code,
origin); | 124 script = v8::ScriptCompiler::Compile(isolate, streamer->source(), code,
origin); |
| 125 // Whether to produce the cached data or not is decided when the | 125 // Whether to produce the cached data or not is decided when the |
| 126 // streamer is started. Here we only need to get the data out. | 126 // streamer is started. Here we only need to get the data out. |
| 127 const v8::ScriptCompiler::CachedData* newCachedData = streamer->source()
->GetCachedData(); | 127 const v8::ScriptCompiler::CachedData* newCachedData = streamer->source()
->GetCachedData(); |
| 128 if (newCachedData) { | 128 if (newCachedData) { |
| 129 resource->clearCachedMetadata(); | 129 resource->clearCachedMetadata(); |
| 130 resource->setCachedMetadata(streamer->cachedDataType(), reinterpret_
cast<const char*>(newCachedData->data), newCachedData->length); | 130 // Temporarily disable cached metadata for streaming; it's |
| 131 // producing broken data. FIXME: enable it again. |
| 132 // resource->setCachedMetadata(streamer->cachedDataType(), reinterpr
et_cast<const char*>(newCachedData->data), newCachedData->length); |
| 131 } | 133 } |
| 132 } else if (!resource || !resource->url().protocolIsInHTTPFamily() || code->L
ength() < 1024) { | 134 } else if (!resource || !resource->url().protocolIsInHTTPFamily() || code->L
ength() < 1024) { |
| 133 v8::ScriptCompiler::Source source(code, origin); | 135 v8::ScriptCompiler::Source source(code, origin); |
| 134 script = v8::ScriptCompiler::Compile(isolate, &source, v8::ScriptCompile
r::kNoCompileOptions); | 136 script = v8::ScriptCompiler::Compile(isolate, &source, v8::ScriptCompile
r::kNoCompileOptions); |
| 135 } else { | 137 } else { |
| 136 switch (cacheOptions) { | 138 switch (cacheOptions) { |
| 137 case V8CacheOptionsParse: | 139 case V8CacheOptionsParse: |
| 138 cacheTag = tagForParserCache(); | 140 cacheTag = tagForParserCache(); |
| 139 script = resource->cachedMetadata(cacheTag) | 141 script = resource->cachedMetadata(cacheTag) |
| 140 ? compileAndConsumeCache(isolate, code, origin, resource, v8::Sc
riptCompiler::kConsumeParserCache, cacheTag) | 142 ? compileAndConsumeCache(isolate, code, origin, resource, v8::Sc
riptCompiler::kConsumeParserCache, cacheTag) |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 { | 292 { |
| 291 return StringHash::hash(v8::V8::GetVersion()) * 2; | 293 return StringHash::hash(v8::V8::GetVersion()) * 2; |
| 292 } | 294 } |
| 293 | 295 |
| 294 unsigned V8ScriptRunner::tagForCodeCache() | 296 unsigned V8ScriptRunner::tagForCodeCache() |
| 295 { | 297 { |
| 296 return StringHash::hash(v8::V8::GetVersion()) * 2 + 1; | 298 return StringHash::hash(v8::V8::GetVersion()) * 2 + 1; |
| 297 } | 299 } |
| 298 | 300 |
| 299 } // namespace blink | 301 } // namespace blink |
| OLD | NEW |