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

Side by Side Diff: src/ia32/macro-assembler-ia32.cc

Issue 296413004: Remove high promotion mode. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 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/heap.cc ('k') | src/mips/macro-assembler-mips.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "v8.h" 5 #include "v8.h"
6 6
7 #if V8_TARGET_ARCH_IA32 7 #if V8_TARGET_ARCH_IA32
8 8
9 #include "bootstrapper.h" 9 #include "bootstrapper.h"
10 #include "codegen.h" 10 #include "codegen.h"
(...skipping 1778 matching lines...) Expand 10 before | Expand all | Expand 10 after
1789 // Set the map. The other fields are left uninitialized. 1789 // Set the map. The other fields are left uninitialized.
1790 mov(FieldOperand(result, HeapObject::kMapOffset), 1790 mov(FieldOperand(result, HeapObject::kMapOffset),
1791 Immediate(isolate()->factory()->cons_string_map())); 1791 Immediate(isolate()->factory()->cons_string_map()));
1792 } 1792 }
1793 1793
1794 1794
1795 void MacroAssembler::AllocateAsciiConsString(Register result, 1795 void MacroAssembler::AllocateAsciiConsString(Register result,
1796 Register scratch1, 1796 Register scratch1,
1797 Register scratch2, 1797 Register scratch2,
1798 Label* gc_required) { 1798 Label* gc_required) {
1799 Label allocate_new_space, install_map;
1800 AllocationFlags flags = TAG_OBJECT;
1801
1802 ExternalReference high_promotion_mode = ExternalReference::
1803 new_space_high_promotion_mode_active_address(isolate());
1804
1805 test(Operand::StaticVariable(high_promotion_mode), Immediate(1));
1806 j(zero, &allocate_new_space);
1807
1808 Allocate(ConsString::kSize, 1799 Allocate(ConsString::kSize,
1809 result, 1800 result,
1810 scratch1, 1801 scratch1,
1811 scratch2, 1802 scratch2,
1812 gc_required, 1803 gc_required,
1813 static_cast<AllocationFlags>(flags | PRETENURE_OLD_POINTER_SPACE)); 1804 TAG_OBJECT);
1814 jmp(&install_map);
1815 1805
1816 bind(&allocate_new_space);
1817 Allocate(ConsString::kSize,
1818 result,
1819 scratch1,
1820 scratch2,
1821 gc_required,
1822 flags);
1823
1824 bind(&install_map);
1825 // Set the map. The other fields are left uninitialized. 1806 // Set the map. The other fields are left uninitialized.
1826 mov(FieldOperand(result, HeapObject::kMapOffset), 1807 mov(FieldOperand(result, HeapObject::kMapOffset),
1827 Immediate(isolate()->factory()->cons_ascii_string_map())); 1808 Immediate(isolate()->factory()->cons_ascii_string_map()));
1828 } 1809 }
1829 1810
1830 1811
1831 void MacroAssembler::AllocateTwoByteSlicedString(Register result, 1812 void MacroAssembler::AllocateTwoByteSlicedString(Register result,
1832 Register scratch1, 1813 Register scratch1,
1833 Register scratch2, 1814 Register scratch2,
1834 Label* gc_required) { 1815 Label* gc_required) {
(...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after
3457 if (ms.shift() > 0) sar(edx, ms.shift()); 3438 if (ms.shift() > 0) sar(edx, ms.shift());
3458 mov(eax, dividend); 3439 mov(eax, dividend);
3459 shr(eax, 31); 3440 shr(eax, 31);
3460 add(edx, eax); 3441 add(edx, eax);
3461 } 3442 }
3462 3443
3463 3444
3464 } } // namespace v8::internal 3445 } } // namespace v8::internal
3465 3446
3466 #endif // V8_TARGET_ARCH_IA32 3447 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/mips/macro-assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698