OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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/parsing/preparse-data.h" | 5 #include "src/parsing/preparse-data.h" |
6 #include "src/base/hashmap.h" | 6 #include "src/base/hashmap.h" |
7 #include "src/base/logging.h" | 7 #include "src/base/logging.h" |
8 #include "src/globals.h" | 8 #include "src/globals.h" |
9 #include "src/parsing/parser.h" | 9 #include "src/parsing/parser.h" |
10 #include "src/parsing/preparse-data-format.h" | 10 #include "src/parsing/preparse-data-format.h" |
11 | 11 |
12 namespace v8 { | 12 namespace v8 { |
13 namespace internal { | 13 namespace internal { |
14 | 14 |
15 void ParserLogger::LogFunction(int start, int end, int num_parameters, | 15 void ParserLogger::LogFunction(int start, int end, int num_parameters, |
16 int function_length, | 16 int function_length, |
17 bool has_duplicate_parameters, int literals, | 17 bool has_duplicate_parameters, int literals, |
18 int properties, LanguageMode language_mode, | 18 int properties, LanguageMode language_mode, |
19 bool uses_super_property, bool calls_eval) { | 19 bool uses_super_property, bool calls_eval, |
| 20 int num_inner_functions) { |
20 function_store_.Add(start); | 21 function_store_.Add(start); |
21 function_store_.Add(end); | 22 function_store_.Add(end); |
22 function_store_.Add(num_parameters); | 23 function_store_.Add(num_parameters); |
23 function_store_.Add(function_length); | 24 function_store_.Add(function_length); |
24 function_store_.Add(literals); | 25 function_store_.Add(literals); |
25 function_store_.Add(properties); | 26 function_store_.Add(properties); |
26 function_store_.Add( | 27 function_store_.Add( |
27 FunctionEntry::EncodeFlags(language_mode, uses_super_property, calls_eval, | 28 FunctionEntry::EncodeFlags(language_mode, uses_super_property, calls_eval, |
28 has_duplicate_parameters)); | 29 has_duplicate_parameters)); |
| 30 function_store_.Add(num_inner_functions); |
29 } | 31 } |
30 | 32 |
31 ParserLogger::ParserLogger() { | 33 ParserLogger::ParserLogger() { |
32 preamble_[PreparseDataConstants::kMagicOffset] = | 34 preamble_[PreparseDataConstants::kMagicOffset] = |
33 PreparseDataConstants::kMagicNumber; | 35 PreparseDataConstants::kMagicNumber; |
34 preamble_[PreparseDataConstants::kVersionOffset] = | 36 preamble_[PreparseDataConstants::kVersionOffset] = |
35 PreparseDataConstants::kCurrentVersion; | 37 PreparseDataConstants::kCurrentVersion; |
36 preamble_[PreparseDataConstants::kFunctionsSizeOffset] = 0; | 38 preamble_[PreparseDataConstants::kFunctionsSizeOffset] = 0; |
37 preamble_[PreparseDataConstants::kSizeOffset] = 0; | 39 preamble_[PreparseDataConstants::kSizeOffset] = 0; |
38 DCHECK_EQ(4, PreparseDataConstants::kHeaderSize); | 40 DCHECK_EQ(4, PreparseDataConstants::kHeaderSize); |
(...skipping 15 matching lines...) Expand all Loading... |
54 DCHECK(IsAligned(reinterpret_cast<intptr_t>(data), kPointerAlignment)); | 56 DCHECK(IsAligned(reinterpret_cast<intptr_t>(data), kPointerAlignment)); |
55 ScriptData* result = new ScriptData(reinterpret_cast<byte*>(data), | 57 ScriptData* result = new ScriptData(reinterpret_cast<byte*>(data), |
56 total_size * sizeof(unsigned)); | 58 total_size * sizeof(unsigned)); |
57 result->AcquireDataOwnership(); | 59 result->AcquireDataOwnership(); |
58 return result; | 60 return result; |
59 } | 61 } |
60 | 62 |
61 | 63 |
62 } // namespace internal | 64 } // namespace internal |
63 } // namespace v8. | 65 } // namespace v8. |
OLD | NEW |