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

Side by Side Diff: src/objects.cc

Issue 6480070: Merge revisions 6611, 6795, 6797 to the 3.0 branch... (Closed) Base URL: http://v8.googlecode.com/svn/branches/3.0/
Patch Set: Created 9 years, 10 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 5997 matching lines...) Expand 10 before | Expand all | Expand 10 after
6008 6008
6009 SafepointEntry Code::GetSafepointEntry(Address pc) { 6009 SafepointEntry Code::GetSafepointEntry(Address pc) {
6010 SafepointTable table(this); 6010 SafepointTable table(this);
6011 return table.FindEntry(pc); 6011 return table.FindEntry(pc);
6012 } 6012 }
6013 6013
6014 6014
6015 void Code::SetNoStackCheckTable() { 6015 void Code::SetNoStackCheckTable() {
6016 // Indicate the absence of a stack-check table by a table start after the 6016 // Indicate the absence of a stack-check table by a table start after the
6017 // end of the instructions. Table start must be aligned, so round up. 6017 // end of the instructions. Table start must be aligned, so round up.
6018 set_stack_check_table_start(RoundUp(instruction_size(), kIntSize)); 6018 set_stack_check_table_offset(RoundUp(instruction_size(), kIntSize));
6019 } 6019 }
6020 6020
6021 6021
6022 Map* Code::FindFirstMap() { 6022 Map* Code::FindFirstMap() {
6023 ASSERT(is_inline_cache_stub()); 6023 ASSERT(is_inline_cache_stub());
6024 AssertNoAllocation no_allocation; 6024 AssertNoAllocation no_allocation;
6025 int mask = RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT); 6025 int mask = RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT);
6026 for (RelocIterator it(this, mask); !it.done(); it.next()) { 6026 for (RelocIterator it(this, mask); !it.done(); it.next()) {
6027 RelocInfo* info = it.rinfo(); 6027 RelocInfo* info = it.rinfo();
6028 Object* object = info->target_object(); 6028 Object* object = info->target_object();
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
6285 } else { 6285 } else {
6286 PrintF(out, " <none>"); 6286 PrintF(out, " <none>");
6287 } 6287 }
6288 if (entry.argument_count() > 0) { 6288 if (entry.argument_count() > 0) {
6289 PrintF(out, " argc: %d", entry.argument_count()); 6289 PrintF(out, " argc: %d", entry.argument_count());
6290 } 6290 }
6291 PrintF(out, "\n"); 6291 PrintF(out, "\n");
6292 } 6292 }
6293 PrintF(out, "\n"); 6293 PrintF(out, "\n");
6294 } else if (kind() == FUNCTION) { 6294 } else if (kind() == FUNCTION) {
6295 unsigned offset = stack_check_table_start(); 6295 unsigned offset = stack_check_table_offset();
6296 // If there is no stack check table, the "table start" will at or after 6296 // If there is no stack check table, the "table start" will at or after
6297 // (due to alignment) the end of the instruction stream. 6297 // (due to alignment) the end of the instruction stream.
6298 if (static_cast<int>(offset) < instruction_size()) { 6298 if (static_cast<int>(offset) < instruction_size()) {
6299 unsigned* address = 6299 unsigned* address =
6300 reinterpret_cast<unsigned*>(instruction_start() + offset); 6300 reinterpret_cast<unsigned*>(instruction_start() + offset);
6301 unsigned length = address[0]; 6301 unsigned length = address[0];
6302 PrintF(out, "Stack checks (size = %u)\n", length); 6302 PrintF(out, "Stack checks (size = %u)\n", length);
6303 PrintF(out, "ast_id pc_offset\n"); 6303 PrintF(out, "ast_id pc_offset\n");
6304 for (unsigned i = 0; i < length; ++i) { 6304 for (unsigned i = 0; i < length; ++i) {
6305 unsigned index = (2 * i) + 1; 6305 unsigned index = (2 * i) + 1;
(...skipping 3590 matching lines...) Expand 10 before | Expand all | Expand 10 after
9896 if (break_point_objects()->IsUndefined()) return 0; 9896 if (break_point_objects()->IsUndefined()) return 0;
9897 // Single beak point. 9897 // Single beak point.
9898 if (!break_point_objects()->IsFixedArray()) return 1; 9898 if (!break_point_objects()->IsFixedArray()) return 1;
9899 // Multiple break points. 9899 // Multiple break points.
9900 return FixedArray::cast(break_point_objects())->length(); 9900 return FixedArray::cast(break_point_objects())->length();
9901 } 9901 }
9902 #endif 9902 #endif
9903 9903
9904 9904
9905 } } // namespace v8::internal 9905 } } // namespace v8::internal
OLDNEW
« src/ia32/lithium-codegen-ia32.cc ('K') | « src/objects.h ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698