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

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

Issue 5985012: Rename write buffers to store buffers. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 9 years, 11 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/ia32/code-stubs-ia32.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 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 Register scratch, 53 Register scratch,
54 SaveFPRegsMode save_fp) { 54 SaveFPRegsMode save_fp) {
55 if (FLAG_debug_code) { 55 if (FLAG_debug_code) {
56 // Check that the object is not in new space. 56 // Check that the object is not in new space.
57 Label not_in_new_space; 57 Label not_in_new_space;
58 InNewSpace(object, scratch, not_equal, &not_in_new_space); 58 InNewSpace(object, scratch, not_equal, &not_in_new_space);
59 Abort("new-space object passed to RecordWriteHelper"); 59 Abort("new-space object passed to RecordWriteHelper");
60 bind(&not_in_new_space); 60 bind(&not_in_new_space);
61 } 61 }
62 62
63 // Load write buffer top. 63 // Load store buffer top.
64 ExternalReference write_buffer = ExternalReference::write_buffer_top(); 64 ExternalReference store_buffer = ExternalReference::store_buffer_top();
65 mov(scratch, Operand::StaticVariable(write_buffer)); 65 mov(scratch, Operand::StaticVariable(store_buffer));
66 // Store pointer to buffer. 66 // Store pointer to buffer.
67 mov(Operand(scratch, 0), addr); 67 mov(Operand(scratch, 0), addr);
68 // Increment buffer top. 68 // Increment buffer top.
69 add(Operand(scratch), Immediate(kPointerSize)); 69 add(Operand(scratch), Immediate(kPointerSize));
70 // Write back new top of buffer. 70 // Write back new top of buffer.
71 mov(Operand::StaticVariable(write_buffer), scratch); 71 mov(Operand::StaticVariable(store_buffer), scratch);
72 // Call stub on end of buffer. 72 // Call stub on end of buffer.
73 NearLabel no_overflow; 73 NearLabel no_overflow;
74 // Check for end of buffer. 74 // Check for end of buffer.
75 test(scratch, Immediate(WriteBuffer::kWriteBufferOverflowBit)); 75 test(scratch, Immediate(StoreBuffer::kStoreBufferOverflowBit));
76 j(equal, &no_overflow); 76 j(equal, &no_overflow);
77 WriteBufferOverflowStub write_buffer_overflow = 77 StoreBufferOverflowStub store_buffer_overflow =
78 WriteBufferOverflowStub(save_fp); 78 StoreBufferOverflowStub(save_fp);
79 CallStub(&write_buffer_overflow); 79 CallStub(&store_buffer_overflow);
80 bind(&no_overflow); 80 bind(&no_overflow);
81 } 81 }
82 82
83 83
84 void MacroAssembler::RecordWrite(Register object, 84 void MacroAssembler::RecordWrite(Register object,
85 int offset, 85 int offset,
86 Register value, 86 Register value,
87 Register scratch, 87 Register scratch,
88 SaveFPRegsMode save_fp) { 88 SaveFPRegsMode save_fp) {
89 // The compiled code assumes that record write doesn't change the 89 // The compiled code assumes that record write doesn't change the
(...skipping 1821 matching lines...) Expand 10 before | Expand all | Expand 10 after
1911 1911
1912 // Check that the code was patched as expected. 1912 // Check that the code was patched as expected.
1913 ASSERT(masm_.pc_ == address_ + size_); 1913 ASSERT(masm_.pc_ == address_ + size_);
1914 ASSERT(masm_.reloc_info_writer.pos() == address_ + size_ + Assembler::kGap); 1914 ASSERT(masm_.reloc_info_writer.pos() == address_ + size_ + Assembler::kGap);
1915 } 1915 }
1916 1916
1917 1917
1918 } } // namespace v8::internal 1918 } } // namespace v8::internal
1919 1919
1920 #endif // V8_TARGET_ARCH_IA32 1920 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/code-stubs-ia32.cc ('k') | src/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698