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

Side by Side Diff: src/objects.cc

Issue 275016: Fix overflow in failure "requested size" field. (Closed)
Patch Set: Created 11 years, 2 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
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 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 PrintF("%d", value()); 611 PrintF("%d", value());
612 } 612 }
613 613
614 614
615 void Smi::SmiPrint(StringStream* accumulator) { 615 void Smi::SmiPrint(StringStream* accumulator) {
616 accumulator->Add("%d", value()); 616 accumulator->Add("%d", value());
617 } 617 }
618 618
619 619
620 void Failure::FailurePrint(StringStream* accumulator) { 620 void Failure::FailurePrint(StringStream* accumulator) {
621 accumulator->Add("Failure(%d)", value()); 621 accumulator->Add("Failure(%p)", reinterpret_cast<void*>(value()));
622 } 622 }
623 623
624 624
625 void Failure::FailurePrint() { 625 void Failure::FailurePrint() {
626 PrintF("Failure(%d)", value()); 626 PrintF("Failure(%p)", reinterpret_cast<void*>(value()));
627 } 627 }
628 628
629 629
630 Failure* Failure::RetryAfterGC(int requested_bytes, AllocationSpace space) { 630 Failure* Failure::RetryAfterGC(int requested_bytes, AllocationSpace space) {
631 ASSERT((space & ~kSpaceTagMask) == 0); 631 ASSERT((space & ~kSpaceTagMask) == 0);
632 // TODO(X64): Stop using Smi validation for non-smi checks, even if they 632 // TODO(X64): Stop using Smi validation for non-smi checks, even if they
633 // happen to be identical at the moment. 633 // happen to be identical at the moment.
634 634
635 int requested = requested_bytes >> kObjectAlignmentBits; 635 int requested = requested_bytes >> kObjectAlignmentBits;
636 int value = (requested << kSpaceTagSize) | space; 636 int value = (requested << kSpaceTagSize) | space;
(...skipping 7343 matching lines...) Expand 10 before | Expand all | Expand 10 after
7980 if (break_point_objects()->IsUndefined()) return 0; 7980 if (break_point_objects()->IsUndefined()) return 0;
7981 // Single beak point. 7981 // Single beak point.
7982 if (!break_point_objects()->IsFixedArray()) return 1; 7982 if (!break_point_objects()->IsFixedArray()) return 1;
7983 // Multiple break points. 7983 // Multiple break points.
7984 return FixedArray::cast(break_point_objects())->length(); 7984 return FixedArray::cast(break_point_objects())->length();
7985 } 7985 }
7986 #endif 7986 #endif
7987 7987
7988 7988
7989 } } // namespace v8::internal 7989 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/objects-inl.h » ('j') | src/string-stream.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698