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

Side by Side Diff: src/objects.h

Issue 14978003: Improve trace_opt output to help find compilation problems (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Platform ports Created 7 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « src/mips/deoptimizer-mips.cc ('k') | src/objects.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 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 5788 matching lines...) Expand 10 before | Expand all | Expand 10 after
5799 // Returns index i of the entry with the specified context. At position 5799 // Returns index i of the entry with the specified context. At position
5800 // i - 1 is the context, position i the code, and i + 1 the literals array. 5800 // i - 1 is the context, position i the code, and i + 1 the literals array.
5801 // Returns -1 when no matching entry is found. 5801 // Returns -1 when no matching entry is found.
5802 int SearchOptimizedCodeMap(Context* native_context); 5802 int SearchOptimizedCodeMap(Context* native_context);
5803 5803
5804 // Installs optimized code from the code map on the given closure. The 5804 // Installs optimized code from the code map on the given closure. The
5805 // index has to be consistent with a search result as defined above. 5805 // index has to be consistent with a search result as defined above.
5806 void InstallFromOptimizedCodeMap(JSFunction* function, int index); 5806 void InstallFromOptimizedCodeMap(JSFunction* function, int index);
5807 5807
5808 // Clear optimized code map. 5808 // Clear optimized code map.
5809 inline void ClearOptimizedCodeMap(); 5809 void ClearOptimizedCodeMap(const char* reason);
5810 5810
5811 // Add a new entry to the optimized code map. 5811 // Add a new entry to the optimized code map.
5812 static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, 5812 static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared,
5813 Handle<Context> native_context, 5813 Handle<Context> native_context,
5814 Handle<Code> code, 5814 Handle<Code> code,
5815 Handle<FixedArray> literals); 5815 Handle<FixedArray> literals);
5816 static const int kEntryLength = 3; 5816 static const int kEntryLength = 3;
5817 5817
5818 // [scope_info]: Scope info. 5818 // [scope_info]: Scope info.
5819 DECL_ACCESSORS(scope_info, ScopeInfo) 5819 DECL_ACCESSORS(scope_info, ScopeInfo)
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after
6653 Object* current = this; 6653 Object* current = this;
6654 while (!current->IsUndefined()) { 6654 while (!current->IsUndefined()) {
6655 JSFunction* function = JSFunction::cast(current); 6655 JSFunction* function = JSFunction::cast(current);
6656 current = function->next_function_link(); 6656 current = function->next_function_link();
6657 if (function->code() != this->code()) return false; 6657 if (function->code() != this->code()) return false;
6658 } 6658 }
6659 return true; 6659 return true;
6660 } 6660 }
6661 #endif 6661 #endif
6662 6662
6663 bool PassesHydrogenFilter();
6664
6663 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to 6665 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to
6664 // kSize) is weak and has special handling during garbage collection. 6666 // kSize) is weak and has special handling during garbage collection.
6665 static const int kCodeEntryOffset = JSObject::kHeaderSize; 6667 static const int kCodeEntryOffset = JSObject::kHeaderSize;
6666 static const int kPrototypeOrInitialMapOffset = 6668 static const int kPrototypeOrInitialMapOffset =
6667 kCodeEntryOffset + kPointerSize; 6669 kCodeEntryOffset + kPointerSize;
6668 static const int kSharedFunctionInfoOffset = 6670 static const int kSharedFunctionInfoOffset =
6669 kPrototypeOrInitialMapOffset + kPointerSize; 6671 kPrototypeOrInitialMapOffset + kPointerSize;
6670 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize; 6672 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize;
6671 static const int kLiteralsOffset = kContextOffset + kPointerSize; 6673 static const int kLiteralsOffset = kContextOffset + kPointerSize;
6672 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize; 6674 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize;
(...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
7785 // ASCII and two byte string types. 7787 // ASCII and two byte string types.
7786 bool MarkAsUndetectable(); 7788 bool MarkAsUndetectable();
7787 7789
7788 // Return a substring. 7790 // Return a substring.
7789 MUST_USE_RESULT MaybeObject* SubString(int from, 7791 MUST_USE_RESULT MaybeObject* SubString(int from,
7790 int to, 7792 int to,
7791 PretenureFlag pretenure = NOT_TENURED); 7793 PretenureFlag pretenure = NOT_TENURED);
7792 7794
7793 // String equality operations. 7795 // String equality operations.
7794 inline bool Equals(String* other); 7796 inline bool Equals(String* other);
7795 bool IsUtf8EqualTo(Vector<const char> str); 7797 bool IsUtf8EqualTo(Vector<const char> str, bool allow_prefix_match = false);
7796 bool IsOneByteEqualTo(Vector<const uint8_t> str); 7798 bool IsOneByteEqualTo(Vector<const uint8_t> str);
7797 bool IsTwoByteEqualTo(Vector<const uc16> str); 7799 bool IsTwoByteEqualTo(Vector<const uc16> str);
7798 7800
7799 // Return a UTF8 representation of the string. The string is null 7801 // Return a UTF8 representation of the string. The string is null
7800 // terminated but may optionally contain nulls. Length is returned 7802 // terminated but may optionally contain nulls. Length is returned
7801 // in length_output if length_output is not a null pointer The string 7803 // in length_output if length_output is not a null pointer The string
7802 // should be nearly flat, otherwise the performance of this method may 7804 // should be nearly flat, otherwise the performance of this method may
7803 // be very slow (quadratic in the length). Setting robustness_flag to 7805 // be very slow (quadratic in the length). Setting robustness_flag to
7804 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it 7806 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it
7805 // handles unexpected data without causing assert failures and it does not 7807 // handles unexpected data without causing assert failures and it does not
(...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after
9568 } else { 9570 } else {
9569 value &= ~(1 << bit_position); 9571 value &= ~(1 << bit_position);
9570 } 9572 }
9571 return value; 9573 return value;
9572 } 9574 }
9573 }; 9575 };
9574 9576
9575 } } // namespace v8::internal 9577 } } // namespace v8::internal
9576 9578
9577 #endif // V8_OBJECTS_H_ 9579 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mips/deoptimizer-mips.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698