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

Side by Side Diff: src/objects.cc

Issue 392001: Fix inline constructor code bailout.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 1 month 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.h ('k') | src/objects-debug.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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 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 4795 matching lines...) Expand 10 before | Expand all | Expand 10 after
4806 return instance_size; 4806 return instance_size;
4807 } 4807 }
4808 4808
4809 4809
4810 int SharedFunctionInfo::CalculateInObjectProperties() { 4810 int SharedFunctionInfo::CalculateInObjectProperties() {
4811 return (CalculateInstanceSize() - JSObject::kHeaderSize) / kPointerSize; 4811 return (CalculateInstanceSize() - JSObject::kHeaderSize) / kPointerSize;
4812 } 4812 }
4813 4813
4814 4814
4815 void SharedFunctionInfo::SetThisPropertyAssignmentsInfo( 4815 void SharedFunctionInfo::SetThisPropertyAssignmentsInfo(
4816 bool only_this_property_assignments,
4817 bool only_simple_this_property_assignments, 4816 bool only_simple_this_property_assignments,
4818 FixedArray* assignments) { 4817 FixedArray* assignments) {
4819 set_compiler_hints(BooleanBit::set(compiler_hints(), 4818 set_compiler_hints(BooleanBit::set(compiler_hints(),
4820 kHasOnlyThisPropertyAssignments,
4821 only_this_property_assignments));
4822 set_compiler_hints(BooleanBit::set(compiler_hints(),
4823 kHasOnlySimpleThisPropertyAssignments, 4819 kHasOnlySimpleThisPropertyAssignments,
4824 only_simple_this_property_assignments)); 4820 only_simple_this_property_assignments));
4825 set_this_property_assignments(assignments); 4821 set_this_property_assignments(assignments);
4826 set_this_property_assignments_count(assignments->length() / 3); 4822 set_this_property_assignments_count(assignments->length() / 3);
4827 } 4823 }
4828 4824
4829 4825
4830 void SharedFunctionInfo::ClearThisPropertyAssignmentsInfo() { 4826 void SharedFunctionInfo::ClearThisPropertyAssignmentsInfo() {
4831 set_compiler_hints(BooleanBit::set(compiler_hints(), 4827 set_compiler_hints(BooleanBit::set(compiler_hints(),
4832 kHasOnlyThisPropertyAssignments,
4833 false));
4834 set_compiler_hints(BooleanBit::set(compiler_hints(),
4835 kHasOnlySimpleThisPropertyAssignments, 4828 kHasOnlySimpleThisPropertyAssignments,
4836 false)); 4829 false));
4837 set_this_property_assignments(Heap::undefined_value()); 4830 set_this_property_assignments(Heap::undefined_value());
4838 set_this_property_assignments_count(0); 4831 set_this_property_assignments_count(0);
4839 } 4832 }
4840 4833
4841 4834
4842 String* SharedFunctionInfo::GetThisPropertyAssignmentName(int index) { 4835 String* SharedFunctionInfo::GetThisPropertyAssignmentName(int index) {
4843 Object* obj = this_property_assignments(); 4836 Object* obj = this_property_assignments();
4844 ASSERT(obj->IsFixedArray()); 4837 ASSERT(obj->IsFixedArray());
(...skipping 3354 matching lines...) Expand 10 before | Expand all | Expand 10 after
8199 if (break_point_objects()->IsUndefined()) return 0; 8192 if (break_point_objects()->IsUndefined()) return 0;
8200 // Single beak point. 8193 // Single beak point.
8201 if (!break_point_objects()->IsFixedArray()) return 1; 8194 if (!break_point_objects()->IsFixedArray()) return 1;
8202 // Multiple break points. 8195 // Multiple break points.
8203 return FixedArray::cast(break_point_objects())->length(); 8196 return FixedArray::cast(break_point_objects())->length();
8204 } 8197 }
8205 #endif 8198 #endif
8206 8199
8207 8200
8208 } } // namespace v8::internal 8201 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/objects-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698