Revision: 18585
Author: u...@chromium.org
Date: Tue Jan 14 13:13:30 2014 UTC
Log: Experimental lexer: reset literals if the source was moved by GC.
R=ma...@chromium.org
Review URL: https://codereview.chromium.org/138123002
http://code.google.com/p/v8/source/detail?r=18585
Modified:
/branches/experimental/parser/src/lexer/experimental-scanner.h
=======================================
--- /branches/experimental/parser/src/lexer/experimental-scanner.h Mon Dec
2 17:07:54 2013 UTC
+++ /branches/experimental/parser/src/lexer/experimental-scanner.h Tue Jan
14 13:13:30 2014 UTC
@@ -254,6 +254,11 @@
virtual void Scan() = 0;
virtual bool FillLiteral(const TokenDesc& token, LiteralDesc* literal) =
0;
+ void ResetLiterals() {
+ current_literal_->beg_pos = -1;
+ next_literal_->beg_pos = -1;
+ }
+
Isolate* isolate_;
UnicodeCache* unicode_cache_;
@@ -318,11 +323,16 @@
int start_offset = start_ - buffer_;
int cursor_offset = cursor_ - buffer_;
int marker_offset = marker_ - buffer_;
+ int last_octal_end_offset = last_octal_end_ - buffer_;
buffer_ = new_buffer;
buffer_end_ = buffer_ + source_handle_->length();
start_ = buffer_ + start_offset;
cursor_ = buffer_ + cursor_offset;
marker_ = buffer_ + marker_offset;
+ if (last_octal_end_ != NULL) {
+ last_octal_end_ = buffer_ + last_octal_end_offset;
+ }
+ ResetLiterals();
}
}
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.