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

Side by Side Diff: src/objects-inl.h

Issue 254623002: Simplify feedback vector creation and store in SharedFunctionInfo. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Code comments Created 6 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/objects-debug.cc ('k') | src/objects-printer.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 5178 matching lines...) Expand 10 before | Expand all | Expand 10 after
5189 5189
5190 ACCESSORS_TO_SMI(BreakPointInfo, code_position, kCodePositionIndex) 5190 ACCESSORS_TO_SMI(BreakPointInfo, code_position, kCodePositionIndex)
5191 ACCESSORS_TO_SMI(BreakPointInfo, source_position, kSourcePositionIndex) 5191 ACCESSORS_TO_SMI(BreakPointInfo, source_position, kSourcePositionIndex)
5192 ACCESSORS_TO_SMI(BreakPointInfo, statement_position, kStatementPositionIndex) 5192 ACCESSORS_TO_SMI(BreakPointInfo, statement_position, kStatementPositionIndex)
5193 ACCESSORS(BreakPointInfo, break_point_objects, Object, kBreakPointObjectsIndex) 5193 ACCESSORS(BreakPointInfo, break_point_objects, Object, kBreakPointObjectsIndex)
5194 5194
5195 ACCESSORS(SharedFunctionInfo, name, Object, kNameOffset) 5195 ACCESSORS(SharedFunctionInfo, name, Object, kNameOffset)
5196 ACCESSORS(SharedFunctionInfo, optimized_code_map, Object, 5196 ACCESSORS(SharedFunctionInfo, optimized_code_map, Object,
5197 kOptimizedCodeMapOffset) 5197 kOptimizedCodeMapOffset)
5198 ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset) 5198 ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset)
5199 ACCESSORS(SharedFunctionInfo, feedback_vector, FixedArray,
5200 kFeedbackVectorOffset)
5199 ACCESSORS(SharedFunctionInfo, initial_map, Object, kInitialMapOffset) 5201 ACCESSORS(SharedFunctionInfo, initial_map, Object, kInitialMapOffset)
5200 ACCESSORS(SharedFunctionInfo, instance_class_name, Object, 5202 ACCESSORS(SharedFunctionInfo, instance_class_name, Object,
5201 kInstanceClassNameOffset) 5203 kInstanceClassNameOffset)
5202 ACCESSORS(SharedFunctionInfo, function_data, Object, kFunctionDataOffset) 5204 ACCESSORS(SharedFunctionInfo, function_data, Object, kFunctionDataOffset)
5203 ACCESSORS(SharedFunctionInfo, script, Object, kScriptOffset) 5205 ACCESSORS(SharedFunctionInfo, script, Object, kScriptOffset)
5204 ACCESSORS(SharedFunctionInfo, debug_info, Object, kDebugInfoOffset) 5206 ACCESSORS(SharedFunctionInfo, debug_info, Object, kDebugInfoOffset)
5205 ACCESSORS(SharedFunctionInfo, inferred_name, String, kInferredNameOffset) 5207 ACCESSORS(SharedFunctionInfo, inferred_name, String, kInferredNameOffset)
5206 5208
5207 5209
5208 SMI_ACCESSORS(FunctionTemplateInfo, length, kLengthOffset) 5210 SMI_ACCESSORS(FunctionTemplateInfo, length, kLengthOffset)
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
5447 5449
5448 void SharedFunctionInfo::ReplaceCode(Code* value) { 5450 void SharedFunctionInfo::ReplaceCode(Code* value) {
5449 // If the GC metadata field is already used then the function was 5451 // If the GC metadata field is already used then the function was
5450 // enqueued as a code flushing candidate and we remove it now. 5452 // enqueued as a code flushing candidate and we remove it now.
5451 if (code()->gc_metadata() != NULL) { 5453 if (code()->gc_metadata() != NULL) {
5452 CodeFlusher* flusher = GetHeap()->mark_compact_collector()->code_flusher(); 5454 CodeFlusher* flusher = GetHeap()->mark_compact_collector()->code_flusher();
5453 flusher->EvictCandidate(this); 5455 flusher->EvictCandidate(this);
5454 } 5456 }
5455 5457
5456 ASSERT(code()->gc_metadata() == NULL && value->gc_metadata() == NULL); 5458 ASSERT(code()->gc_metadata() == NULL && value->gc_metadata() == NULL);
5459
5457 set_code(value); 5460 set_code(value);
5458 } 5461 }
5459 5462
5460 5463
5461 ScopeInfo* SharedFunctionInfo::scope_info() { 5464 ScopeInfo* SharedFunctionInfo::scope_info() {
5462 return reinterpret_cast<ScopeInfo*>(READ_FIELD(this, kScopeInfoOffset)); 5465 return reinterpret_cast<ScopeInfo*>(READ_FIELD(this, kScopeInfoOffset));
5463 } 5466 }
5464 5467
5465 5468
5466 void SharedFunctionInfo::set_scope_info(ScopeInfo* value, 5469 void SharedFunctionInfo::set_scope_info(ScopeInfo* value,
(...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after
6915 } 6918 }
6916 6919
6917 6920
6918 bool TypeFeedbackInfo::matches_inlined_type_change_checksum(int checksum) { 6921 bool TypeFeedbackInfo::matches_inlined_type_change_checksum(int checksum) {
6919 int value = Smi::cast(READ_FIELD(this, kStorage2Offset))->value(); 6922 int value = Smi::cast(READ_FIELD(this, kStorage2Offset))->value();
6920 int mask = (1 << kTypeChangeChecksumBits) - 1; 6923 int mask = (1 << kTypeChangeChecksumBits) - 1;
6921 return InlinedTypeChangeChecksum::decode(value) == (checksum & mask); 6924 return InlinedTypeChangeChecksum::decode(value) == (checksum & mask);
6922 } 6925 }
6923 6926
6924 6927
6925 ACCESSORS(TypeFeedbackInfo, feedback_vector, FixedArray,
6926 kFeedbackVectorOffset)
6927
6928
6929 SMI_ACCESSORS(AliasedArgumentsEntry, aliased_context_slot, kAliasedContextSlot) 6928 SMI_ACCESSORS(AliasedArgumentsEntry, aliased_context_slot, kAliasedContextSlot)
6930 6929
6931 6930
6932 Relocatable::Relocatable(Isolate* isolate) { 6931 Relocatable::Relocatable(Isolate* isolate) {
6933 isolate_ = isolate; 6932 isolate_ = isolate;
6934 prev_ = isolate->relocatable_top(); 6933 prev_ = isolate->relocatable_top();
6935 isolate->set_relocatable_top(this); 6934 isolate->set_relocatable_top(this);
6936 } 6935 }
6937 6936
6938 6937
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
7036 #undef READ_SHORT_FIELD 7035 #undef READ_SHORT_FIELD
7037 #undef WRITE_SHORT_FIELD 7036 #undef WRITE_SHORT_FIELD
7038 #undef READ_BYTE_FIELD 7037 #undef READ_BYTE_FIELD
7039 #undef WRITE_BYTE_FIELD 7038 #undef WRITE_BYTE_FIELD
7040 #undef NOBARRIER_READ_BYTE_FIELD 7039 #undef NOBARRIER_READ_BYTE_FIELD
7041 #undef NOBARRIER_WRITE_BYTE_FIELD 7040 #undef NOBARRIER_WRITE_BYTE_FIELD
7042 7041
7043 } } // namespace v8::internal 7042 } } // namespace v8::internal
7044 7043
7045 #endif // V8_OBJECTS_INL_H_ 7044 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698