OLD | NEW |
1 // Copyright 2017 the V8 project authors. All rights reserved. | 1 // Copyright 2017 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 #ifndef V8_OBJECTS_SHARED_FUNCTION_INFO_H_ | 5 #ifndef V8_OBJECTS_SHARED_FUNCTION_INFO_H_ |
6 #define V8_OBJECTS_SHARED_FUNCTION_INFO_H_ | 6 #define V8_OBJECTS_SHARED_FUNCTION_INFO_H_ |
7 | 7 |
8 #include "src/objects.h" | 8 #include "src/objects.h" |
9 #include "src/objects/script.h" | 9 #include "src/objects/script.h" |
10 | 10 |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 inline bool has_simple_parameters(); | 367 inline bool has_simple_parameters(); |
368 | 368 |
369 // Initialize a SharedFunctionInfo from a parsed function literal. | 369 // Initialize a SharedFunctionInfo from a parsed function literal. |
370 static void InitFromFunctionLiteral(Handle<SharedFunctionInfo> shared_info, | 370 static void InitFromFunctionLiteral(Handle<SharedFunctionInfo> shared_info, |
371 FunctionLiteral* lit); | 371 FunctionLiteral* lit); |
372 | 372 |
373 // Sets the expected number of properties based on estimate from parser. | 373 // Sets the expected number of properties based on estimate from parser. |
374 void SetExpectedNofPropertiesFromEstimate(FunctionLiteral* literal); | 374 void SetExpectedNofPropertiesFromEstimate(FunctionLiteral* literal); |
375 | 375 |
376 // Dispatched behavior. | 376 // Dispatched behavior. |
377 DECLARE_PRINTER(SharedFunctionInfo) | 377 DECL_PRINTER(SharedFunctionInfo) |
378 DECLARE_VERIFIER(SharedFunctionInfo) | 378 DECL_VERIFIER(SharedFunctionInfo) |
379 | 379 |
380 void ResetForNewContext(int new_ic_age); | 380 void ResetForNewContext(int new_ic_age); |
381 | 381 |
382 // Iterate over all shared function infos in a given script. | 382 // Iterate over all shared function infos in a given script. |
383 class ScriptIterator { | 383 class ScriptIterator { |
384 public: | 384 public: |
385 explicit ScriptIterator(Handle<Script> script); | 385 explicit ScriptIterator(Handle<Script> script); |
386 ScriptIterator(Isolate* isolate, Handle<FixedArray> shared_function_infos); | 386 ScriptIterator(Isolate* isolate, Handle<FixedArray> shared_function_infos); |
387 SharedFunctionInfo* Next(); | 387 SharedFunctionInfo* Next(); |
388 | 388 |
(...skipping 14 matching lines...) Expand all Loading... |
403 SharedFunctionInfo* Next(); | 403 SharedFunctionInfo* Next(); |
404 | 404 |
405 private: | 405 private: |
406 Script::Iterator script_iterator_; | 406 Script::Iterator script_iterator_; |
407 WeakFixedArray::Iterator noscript_sfi_iterator_; | 407 WeakFixedArray::Iterator noscript_sfi_iterator_; |
408 SharedFunctionInfo::ScriptIterator sfi_iterator_; | 408 SharedFunctionInfo::ScriptIterator sfi_iterator_; |
409 DisallowHeapAllocation no_gc_; | 409 DisallowHeapAllocation no_gc_; |
410 DISALLOW_COPY_AND_ASSIGN(GlobalIterator); | 410 DISALLOW_COPY_AND_ASSIGN(GlobalIterator); |
411 }; | 411 }; |
412 | 412 |
413 DECLARE_CAST(SharedFunctionInfo) | 413 DECL_CAST(SharedFunctionInfo) |
414 | 414 |
415 // Constants. | 415 // Constants. |
416 static const int kDontAdaptArgumentsSentinel = -1; | 416 static const int kDontAdaptArgumentsSentinel = -1; |
417 | 417 |
418 #if V8_SFI_HAS_UNIQUE_ID | 418 #if V8_SFI_HAS_UNIQUE_ID |
419 static const int kUniqueIdFieldSize = kInt32Size; | 419 static const int kUniqueIdFieldSize = kInt32Size; |
420 #else | 420 #else |
421 // Just to not break the postmortrem support with conditional offsets | 421 // Just to not break the postmortrem support with conditional offsets |
422 static const int kUniqueIdFieldSize = 0; | 422 static const int kUniqueIdFieldSize = 0; |
423 #endif | 423 #endif |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 }; | 556 }; |
557 | 557 |
558 std::ostream& operator<<(std::ostream& os, const SourceCodeOf& v); | 558 std::ostream& operator<<(std::ostream& os, const SourceCodeOf& v); |
559 | 559 |
560 } // namespace internal | 560 } // namespace internal |
561 } // namespace v8 | 561 } // namespace v8 |
562 | 562 |
563 #include "src/objects/object-macros-undef.h" | 563 #include "src/objects/object-macros-undef.h" |
564 | 564 |
565 #endif // V8_OBJECTS_SHARED_FUNCTION_INFO_H_ | 565 #endif // V8_OBJECTS_SHARED_FUNCTION_INFO_H_ |
OLD | NEW |