| Index: src/assembler-re2k.cc
|
| ===================================================================
|
| --- src/assembler-re2k.cc (revision 707)
|
| +++ src/assembler-re2k.cc (working copy)
|
| @@ -31,7 +31,6 @@
|
| #include "v8.h"
|
| #include "ast.h"
|
| #include "bytecodes-re2k.h"
|
| -#include "regexp-codegen.h"
|
| #include "assembler-re2k.h"
|
|
|
| #include "assembler-re2k-inl.h"
|
| @@ -71,15 +70,23 @@
|
| }
|
|
|
|
|
| -void Re2kAssembler::SetRegister(int index, int cp_offset) {
|
| +void Re2kAssembler::SetRegisterToCurrentPosition(int index, int cp_offset) {
|
| ASSERT(cp_offset >= 0);
|
| ASSERT(index >= 0);
|
| - Emit(BC_SET_REGISTER);
|
| + Emit(BC_SET_REGISTER_TO_CP);
|
| Emit(index);
|
| Emit32(cp_offset);
|
| }
|
|
|
|
|
| +void Re2kAssembler::SetRegister(int index, int value) {
|
| + ASSERT(index >= 0);
|
| + Emit(BC_SET_REGISTER);
|
| + Emit(index);
|
| + Emit32(value);
|
| +}
|
| +
|
| +
|
| void Re2kAssembler::PopCurrentPosition() {
|
| Emit(BC_POP_CP);
|
| }
|
| @@ -101,6 +108,11 @@
|
| }
|
|
|
|
|
| +void Re2kAssembler::Break() {
|
| + Emit(BC_BREAK);
|
| +}
|
| +
|
| +
|
| void Re2kAssembler::FailIfWithin(int distance_from_end) {
|
| Emit(BC_FAIL_IF_WITHIN);
|
| Emit32(distance_from_end);
|
| @@ -158,6 +170,18 @@
|
| }
|
|
|
|
|
| +void Re2kAssembler::CheckEnd(Label* on_not_end) {
|
| + Emit(BC_CHECK_END);
|
| + EmitOrLink(on_not_end);
|
| +}
|
| +
|
| +
|
| +void Re2kAssembler::CheckNotEnd(Label* on_end) {
|
| + Emit(BC_CHECK_NOT_END);
|
| + EmitOrLink(on_end);
|
| +}
|
| +
|
| +
|
| void Re2kAssembler::CheckRange(uc16 start, uc16 end, Label* on_mismatch) {
|
| Emit(BC_CHECK_RANGE);
|
| Emit16(start);
|
| @@ -205,20 +229,6 @@
|
| }
|
|
|
|
|
| -void Re2kAssembler::CheckRegisterEq(int reg_index,
|
| - uint16_t vs,
|
| - Label* on_equal) {
|
| - CheckRegister(BC_CHECK_REGISTER_EQ, reg_index, vs, on_equal);
|
| -}
|
| -
|
| -
|
| -void Re2kAssembler::CheckRegisterLe(int reg_index,
|
| - uint16_t vs,
|
| - Label* on_less_than_equal) {
|
| - CheckRegister(BC_CHECK_REGISTER_LE, reg_index, vs, on_less_than_equal);
|
| -}
|
| -
|
| -
|
| void Re2kAssembler::CheckRegisterLt(int reg_index,
|
| uint16_t vs,
|
| Label* on_less_than) {
|
| @@ -233,20 +243,6 @@
|
| }
|
|
|
|
|
| -void Re2kAssembler::CheckRegisterGt(int reg_index,
|
| - uint16_t vs,
|
| - Label* on_greater_than) {
|
| - CheckRegister(BC_CHECK_REGISTER_GT, reg_index, vs, on_greater_than);
|
| -}
|
| -
|
| -
|
| -void Re2kAssembler::CheckRegisterNe(int reg_index,
|
| - uint16_t vs,
|
| - Label* on_not_equal) {
|
| - CheckRegister(BC_CHECK_REGISTER_NE, reg_index, vs, on_not_equal);
|
| -}
|
| -
|
| -
|
| int Re2kAssembler::length() {
|
| return pc_;
|
| }
|
|
|