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 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 6491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6502 void EvictFromOptimizedCodeMap(Code* optimized_code, const char* reason); | 6502 void EvictFromOptimizedCodeMap(Code* optimized_code, const char* reason); |
6503 | 6503 |
6504 // Trims the optimized code map after entries have been removed. | 6504 // Trims the optimized code map after entries have been removed. |
6505 void TrimOptimizedCodeMap(int shrink_by); | 6505 void TrimOptimizedCodeMap(int shrink_by); |
6506 | 6506 |
6507 // Add a new entry to the optimized code map for context-independent code. | 6507 // Add a new entry to the optimized code map for context-independent code. |
6508 static void AddSharedCodeToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, | 6508 static void AddSharedCodeToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, |
6509 Handle<Code> code); | 6509 Handle<Code> code); |
6510 | 6510 |
6511 // Add a new entry to the optimized code map for context-dependent code. | 6511 // Add a new entry to the optimized code map for context-dependent code. |
6512 // |code| is either a code object or an undefined value. In the latter case | 6512 inline static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, |
6513 // the entry just maps |native_context, osr_ast_id| pair to |literals| array. | 6513 Handle<Context> native_context, |
6514 static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, | 6514 Handle<Code> code, |
6515 Handle<Context> native_context, | 6515 Handle<LiteralsArray> literals, |
6516 Handle<HeapObject> code, | 6516 BailoutId osr_ast_id); |
6517 Handle<LiteralsArray> literals, | |
6518 BailoutId osr_ast_id); | |
6519 | 6517 |
6518 inline static void AddLiteralsToOptimizedCodeMap( | |
Michael Starzinger
2015/12/10 14:57:28
nit: Can we have a short comment explaining this m
mvstanton
2015/12/10 15:21:49
Done.
| |
6519 Handle<SharedFunctionInfo> shared, Handle<Context> native_context, | |
6520 Handle<LiteralsArray> literals, BailoutId osr_ast_id); | |
Michael Starzinger
2015/12/10 14:57:28
This should not need a {BailoutId}, because withou
mvstanton
2015/12/10 15:21:48
doh! Absolutely, thanks!
| |
6521 | |
6522 private: | |
6523 // If code is undefined, then existing code won't be overwritten. | |
6524 static void AddToOptimizedCodeMapInternal(Handle<SharedFunctionInfo> shared, | |
6525 Handle<Context> native_context, | |
6526 Handle<HeapObject> code, | |
6527 Handle<LiteralsArray> literals, | |
6528 BailoutId osr_ast_id); | |
6529 | |
6530 public: | |
6520 // Set up the link between shared function info and the script. The shared | 6531 // Set up the link between shared function info and the script. The shared |
6521 // function info is added to the list on the script. | 6532 // function info is added to the list on the script. |
6522 static void SetScript(Handle<SharedFunctionInfo> shared, | 6533 static void SetScript(Handle<SharedFunctionInfo> shared, |
6523 Handle<Object> script_object); | 6534 Handle<Object> script_object); |
6524 | 6535 |
6525 // Layout description of the optimized code map. | 6536 // Layout description of the optimized code map. |
6526 static const int kSharedCodeIndex = 0; | 6537 static const int kSharedCodeIndex = 0; |
6527 static const int kEntriesStart = 1; | 6538 static const int kEntriesStart = 1; |
6528 static const int kContextOffset = 0; | 6539 static const int kContextOffset = 0; |
6529 static const int kCachedCodeOffset = 1; | 6540 static const int kCachedCodeOffset = 1; |
(...skipping 4148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
10678 } | 10689 } |
10679 return value; | 10690 return value; |
10680 } | 10691 } |
10681 }; | 10692 }; |
10682 | 10693 |
10683 | 10694 |
10684 } // NOLINT, false-positive due to second-order macros. | 10695 } // NOLINT, false-positive due to second-order macros. |
10685 } // NOLINT, false-positive due to second-order macros. | 10696 } // NOLINT, false-positive due to second-order macros. |
10686 | 10697 |
10687 #endif // V8_OBJECTS_H_ | 10698 #endif // V8_OBJECTS_H_ |
OLD | NEW |