Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Side by Side Diff: src/compiler.cc

Issue 2611643002: [modules] Add an IsModule flag to ScriptOriginOptions. (Closed)
Patch Set: Remove convenience function from API. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler.h ('k') | src/d8.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/compiler.h" 5 #include "src/compiler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 9
10 #include "src/asmjs/asm-js.h" 10 #include "src/asmjs/asm-js.h"
(...skipping 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 return Compiler::GetFunctionFromEval(source, outer_info, native_context, 1483 return Compiler::GetFunctionFromEval(source, outer_info, native_context,
1484 SLOPPY, restriction, eval_scope_position, 1484 SLOPPY, restriction, eval_scope_position,
1485 eval_position); 1485 eval_position);
1486 } 1486 }
1487 1487
1488 Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript( 1488 Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript(
1489 Handle<String> source, Handle<Object> script_name, int line_offset, 1489 Handle<String> source, Handle<Object> script_name, int line_offset,
1490 int column_offset, ScriptOriginOptions resource_options, 1490 int column_offset, ScriptOriginOptions resource_options,
1491 Handle<Object> source_map_url, Handle<Context> context, 1491 Handle<Object> source_map_url, Handle<Context> context,
1492 v8::Extension* extension, ScriptData** cached_data, 1492 v8::Extension* extension, ScriptData** cached_data,
1493 ScriptCompiler::CompileOptions compile_options, NativesFlag natives, 1493 ScriptCompiler::CompileOptions compile_options, NativesFlag natives) {
1494 bool is_module) {
1495 Isolate* isolate = source->GetIsolate(); 1494 Isolate* isolate = source->GetIsolate();
1496 if (compile_options == ScriptCompiler::kNoCompileOptions) { 1495 if (compile_options == ScriptCompiler::kNoCompileOptions) {
1497 cached_data = NULL; 1496 cached_data = NULL;
1498 } else if (compile_options == ScriptCompiler::kProduceParserCache || 1497 } else if (compile_options == ScriptCompiler::kProduceParserCache ||
1499 compile_options == ScriptCompiler::kProduceCodeCache) { 1498 compile_options == ScriptCompiler::kProduceCodeCache) {
1500 DCHECK(cached_data && !*cached_data); 1499 DCHECK(cached_data && !*cached_data);
1501 DCHECK(extension == NULL); 1500 DCHECK(extension == NULL);
1502 DCHECK(!isolate->debug()->is_loaded()); 1501 DCHECK(!isolate->debug()->is_loaded());
1503 } else { 1502 } else {
1504 DCHECK(compile_options == ScriptCompiler::kConsumeParserCache || 1503 DCHECK(compile_options == ScriptCompiler::kConsumeParserCache ||
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1571 } 1570 }
1572 script->set_origin_options(resource_options); 1571 script->set_origin_options(resource_options);
1573 if (!source_map_url.is_null()) { 1572 if (!source_map_url.is_null()) {
1574 script->set_source_mapping_url(*source_map_url); 1573 script->set_source_mapping_url(*source_map_url);
1575 } 1574 }
1576 1575
1577 // Compile the function and add it to the cache. 1576 // Compile the function and add it to the cache.
1578 Zone zone(isolate->allocator(), ZONE_NAME); 1577 Zone zone(isolate->allocator(), ZONE_NAME);
1579 ParseInfo parse_info(&zone, script); 1578 ParseInfo parse_info(&zone, script);
1580 CompilationInfo info(&parse_info, Handle<JSFunction>::null()); 1579 CompilationInfo info(&parse_info, Handle<JSFunction>::null());
1581 if (is_module) parse_info.set_module(); 1580 if (resource_options.IsModule()) parse_info.set_module();
1582 if (compile_options != ScriptCompiler::kNoCompileOptions) { 1581 if (compile_options != ScriptCompiler::kNoCompileOptions) {
1583 parse_info.set_cached_data(cached_data); 1582 parse_info.set_cached_data(cached_data);
1584 } 1583 }
1585 parse_info.set_compile_options(compile_options); 1584 parse_info.set_compile_options(compile_options);
1586 parse_info.set_extension(extension); 1585 parse_info.set_extension(extension);
1587 if (!context->IsNativeContext()) { 1586 if (!context->IsNativeContext()) {
1588 parse_info.set_outer_scope_info(handle(context->scope_info())); 1587 parse_info.set_outer_scope_info(handle(context->scope_info()));
1589 } 1588 }
1590 if (FLAG_serialize_toplevel && 1589 if (FLAG_serialize_toplevel &&
1591 compile_options == ScriptCompiler::kProduceCodeCache) { 1590 compile_options == ScriptCompiler::kProduceCodeCache) {
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1763 } 1762 }
1764 1763
1765 if (shared->is_compiled()) { 1764 if (shared->is_compiled()) {
1766 // TODO(mvstanton): pass pretenure flag to EnsureLiterals. 1765 // TODO(mvstanton): pass pretenure flag to EnsureLiterals.
1767 JSFunction::EnsureLiterals(function); 1766 JSFunction::EnsureLiterals(function);
1768 } 1767 }
1769 } 1768 }
1770 1769
1771 } // namespace internal 1770 } // namespace internal
1772 } // namespace v8 1771 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler.h ('k') | src/d8.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698