| OLD | NEW |
| 1 // Copyright 2008-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2008-2009 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 // A light-weight assembler for the Irregexp byte code. | 5 #ifndef V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_INL_H_ |
| 6 | 6 #define V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_INL_H_ |
| 7 | |
| 8 #include "src/v8.h" | |
| 9 | 7 |
| 10 #include "src/ast.h" | 8 #include "src/ast.h" |
| 11 #include "src/bytecodes-irregexp.h" | 9 #include "src/bytecodes-irregexp.h" |
| 12 | 10 |
| 13 #ifndef V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_INL_H_ | |
| 14 #define V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_INL_H_ | |
| 15 | |
| 16 namespace v8 { | 11 namespace v8 { |
| 17 namespace internal { | 12 namespace internal { |
| 18 | 13 |
| 19 #ifdef V8_INTERPRETED_REGEXP | 14 #ifdef V8_INTERPRETED_REGEXP |
| 20 | 15 |
| 21 void RegExpMacroAssemblerIrregexp::Emit(uint32_t byte, | 16 void RegExpMacroAssemblerIrregexp::Emit(uint32_t byte, |
| 22 uint32_t twenty_four_bits) { | 17 uint32_t twenty_four_bits) { |
| 23 uint32_t word = ((twenty_four_bits << BYTECODE_SHIFT) | byte); | 18 uint32_t word = ((twenty_four_bits << BYTECODE_SHIFT) | byte); |
| 24 DCHECK(pc_ <= buffer_.length()); | 19 DCHECK(pc_ <= buffer_.length()); |
| 25 if (pc_ + 3 >= buffer_.length()) { | 20 if (pc_ + 3 >= buffer_.length()) { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 } | 52 } |
| 58 *reinterpret_cast<uint32_t*>(buffer_.start() + pc_) = word; | 53 *reinterpret_cast<uint32_t*>(buffer_.start() + pc_) = word; |
| 59 pc_ += 4; | 54 pc_ += 4; |
| 60 } | 55 } |
| 61 | 56 |
| 62 #endif // V8_INTERPRETED_REGEXP | 57 #endif // V8_INTERPRETED_REGEXP |
| 63 | 58 |
| 64 } } // namespace v8::internal | 59 } } // namespace v8::internal |
| 65 | 60 |
| 66 #endif // V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_INL_H_ | 61 #endif // V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_INL_H_ |
| OLD | NEW |