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

Side by Side Diff: src/objects.cc

Issue 7990: Implement Array::concat function in C++.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 12 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/factory.cc ('k') | src/runtime.h » ('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-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 5733 matching lines...) Expand 10 before | Expand all | Expand 10 after
5744 } 5744 }
5745 return -1; 5745 return -1;
5746 } 5746 }
5747 5747
5748 5748
5749 template<int prefix_size, int element_size> 5749 template<int prefix_size, int element_size>
5750 Object* HashTable<prefix_size, element_size>::EnsureCapacity( 5750 Object* HashTable<prefix_size, element_size>::EnsureCapacity(
5751 int n, HashTableKey* key) { 5751 int n, HashTableKey* key) {
5752 int capacity = Capacity(); 5752 int capacity = Capacity();
5753 int nof = NumberOfElements() + n; 5753 int nof = NumberOfElements() + n;
5754 // Make sure 20% is free 5754 // Make sure 25% is free
5755 if (nof + (nof >> 2) <= capacity) return this; 5755 if (nof + (nof >> 2) <= capacity) return this;
5756 5756
5757 Object* obj = Allocate(nof * 2); 5757 Object* obj = Allocate(nof * 2);
5758 if (obj->IsFailure()) return obj; 5758 if (obj->IsFailure()) return obj;
5759 HashTable* table = HashTable::cast(obj); 5759 HashTable* table = HashTable::cast(obj);
5760 WriteBarrierMode mode = table->GetWriteBarrierMode(); 5760 WriteBarrierMode mode = table->GetWriteBarrierMode();
5761 5761
5762 // Copy prefix to new array. 5762 // Copy prefix to new array.
5763 for (int i = kPrefixStartIndex; i < kPrefixStartIndex + prefix_size; i++) { 5763 for (int i = kPrefixStartIndex; i < kPrefixStartIndex + prefix_size; i++) {
5764 table->set(i, get(i), mode); 5764 table->set(i, get(i), mode);
(...skipping 959 matching lines...) Expand 10 before | Expand all | Expand 10 after
6724 // No break point. 6724 // No break point.
6725 if (break_point_objects()->IsUndefined()) return 0; 6725 if (break_point_objects()->IsUndefined()) return 0;
6726 // Single beak point. 6726 // Single beak point.
6727 if (!break_point_objects()->IsFixedArray()) return 1; 6727 if (!break_point_objects()->IsFixedArray()) return 1;
6728 // Multiple break points. 6728 // Multiple break points.
6729 return FixedArray::cast(break_point_objects())->length(); 6729 return FixedArray::cast(break_point_objects())->length();
6730 } 6730 }
6731 6731
6732 6732
6733 } } // namespace v8::internal 6733 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698