Index: src/jsregexp.h |
=================================================================== |
--- src/jsregexp.h (revision 860) |
+++ src/jsregexp.h (working copy) |
@@ -576,7 +576,6 @@ |
STORE_REGISTER, |
INCREMENT_REGISTER, |
STORE_POSITION, |
- SAVE_POSITION, |
RESTORE_POSITION, |
BEGIN_SUBMATCH, |
ESCAPE_SUBMATCH |
@@ -584,10 +583,14 @@ |
static ActionNode* StoreRegister(int reg, int val, RegExpNode* on_success); |
static ActionNode* IncrementRegister(int reg, RegExpNode* on_success); |
static ActionNode* StorePosition(int reg, RegExpNode* on_success); |
- static ActionNode* SavePosition(int reg, RegExpNode* on_success); |
static ActionNode* RestorePosition(int reg, RegExpNode* on_success); |
- static ActionNode* BeginSubmatch(int reg, RegExpNode* on_success); |
- static ActionNode* EscapeSubmatch(int reg, RegExpNode* on_success); |
+ static ActionNode* BeginSubmatch(int stack_pointer_reg, |
+ int position_reg, |
+ RegExpNode* on_success); |
+ static ActionNode* EscapeSubmatch(int stack_pointer_reg, |
+ bool and_restore_position, |
+ int restore_reg, |
+ RegExpNode* on_success); |
virtual void Accept(NodeVisitor* visitor); |
virtual bool Emit(RegExpCompiler* compiler); |
virtual RegExpNode* PropagateForward(NodeInfo* info); |
@@ -604,8 +607,9 @@ |
int reg; |
} u_position_register; |
struct { |
- int reg; |
- } u_submatch_stack_pointer_register; |
+ int stack_pointer_register; |
+ int current_position_register; |
+ } u_submatch; |
} data_; |
ActionNode(Type type, RegExpNode* on_success) |
: SeqRegExpNode(on_success), |