OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 | 232 |
233 | 233 |
234 void IrregexpAssembler::CheckNotBackReference(int capture_index, | 234 void IrregexpAssembler::CheckNotBackReference(int capture_index, |
235 Label* on_mismatch) { | 235 Label* on_mismatch) { |
236 Emit(BC_CHECK_NOT_BACK_REF); | 236 Emit(BC_CHECK_NOT_BACK_REF); |
237 Emit(capture_index); | 237 Emit(capture_index); |
238 EmitOrLink(on_mismatch); | 238 EmitOrLink(on_mismatch); |
239 } | 239 } |
240 | 240 |
241 | 241 |
| 242 void IrregexpAssembler::CheckNotBackReferenceNoCase(int capture_index, |
| 243 Label* on_mismatch) { |
| 244 Emit(BC_CHECK_NOT_BACK_REF_NO_CASE); |
| 245 Emit(capture_index); |
| 246 EmitOrLink(on_mismatch); |
| 247 } |
| 248 |
| 249 |
242 void IrregexpAssembler::CheckRegister(int byte_code, | 250 void IrregexpAssembler::CheckRegister(int byte_code, |
243 int reg_index, | 251 int reg_index, |
244 uint16_t vs, | 252 uint16_t vs, |
245 Label* on_true) { | 253 Label* on_true) { |
246 Emit(byte_code); | 254 Emit(byte_code); |
247 Emit(reg_index); | 255 Emit(reg_index); |
248 Emit16(vs); | 256 Emit16(vs); |
249 EmitOrLink(on_true); | 257 EmitOrLink(on_true); |
250 } | 258 } |
251 | 259 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 buffer_ = Vector<byte>::New(old_buffer.length() * 2); | 338 buffer_ = Vector<byte>::New(old_buffer.length() * 2); |
331 own_buffer_ = true; | 339 own_buffer_ = true; |
332 memcpy(buffer_.start(), old_buffer.start(), old_buffer.length()); | 340 memcpy(buffer_.start(), old_buffer.start(), old_buffer.length()); |
333 if (old_buffer_was_our_own) { | 341 if (old_buffer_was_our_own) { |
334 old_buffer.Dispose(); | 342 old_buffer.Dispose(); |
335 } | 343 } |
336 } | 344 } |
337 | 345 |
338 | 346 |
339 } } // namespace v8::internal | 347 } } // namespace v8::internal |
OLD | NEW |