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

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

Issue 115262: Change the handling of the debug break stack guard (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 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/execution.cc ('k') | test/cctest/test-debug.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 2008-2009 the V8 project authors. All rights reserved. 1 // Copyright 2008-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 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1188 1188
1189 // The original start address of the characters to match. 1189 // The original start address of the characters to match.
1190 const byte* start_address = frame_entry<const byte*>(re_frame, kInputStart); 1190 const byte* start_address = frame_entry<const byte*>(re_frame, kInputStart);
1191 1191
1192 // Find the current start address of the same character at the current string 1192 // Find the current start address of the same character at the current string
1193 // position. 1193 // position.
1194 int start_index = frame_entry<int>(re_frame, kStartIndex); 1194 int start_index = frame_entry<int>(re_frame, kStartIndex);
1195 const byte* new_address = StringCharacterPosition(*subject, start_index); 1195 const byte* new_address = StringCharacterPosition(*subject, start_index);
1196 1196
1197 if (start_address != new_address) { 1197 if (start_address != new_address) {
1198 // If there is a difference, update start and end addresses in the 1198 // If there is a difference, update the object pointer and start and end
1199 // RegExp stack frame to match the new value. 1199 // addresses in the RegExp stack frame to match the new value.
1200 const byte* end_address = frame_entry<const byte* >(re_frame, kInputEnd); 1200 const byte* end_address = frame_entry<const byte* >(re_frame, kInputEnd);
1201 int byte_length = end_address - start_address; 1201 int byte_length = end_address - start_address;
1202 frame_entry<const String*>(re_frame, kInputString) = *subject;
1202 frame_entry<const byte*>(re_frame, kInputStart) = new_address; 1203 frame_entry<const byte*>(re_frame, kInputStart) = new_address;
1203 frame_entry<const byte*>(re_frame, kInputEnd) = new_address + byte_length; 1204 frame_entry<const byte*>(re_frame, kInputEnd) = new_address + byte_length;
1204 } 1205 }
1205 1206
1206 return 0; 1207 return 0;
1207 } 1208 }
1208 1209
1209 1210
1210 Address RegExpMacroAssemblerIA32::GrowStack(Address stack_pointer, 1211 Address RegExpMacroAssemblerIA32::GrowStack(Address stack_pointer,
1211 Address* stack_top) { 1212 Address* stack_top) {
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1382 1383
1383 1384
1384 void RegExpMacroAssemblerIA32::LoadConstantBufferAddress(Register reg, 1385 void RegExpMacroAssemblerIA32::LoadConstantBufferAddress(Register reg,
1385 ArraySlice* buffer) { 1386 ArraySlice* buffer) {
1386 __ mov(reg, buffer->array()); 1387 __ mov(reg, buffer->array());
1387 __ add(Operand(reg), Immediate(buffer->base_offset())); 1388 __ add(Operand(reg), Immediate(buffer->base_offset()));
1388 } 1389 }
1389 1390
1390 #undef __ 1391 #undef __
1391 }} // namespace v8::internal 1392 }} // namespace v8::internal
OLDNEW
« no previous file with comments | « src/execution.cc ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698