Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: src/assembler-re2k.cc

Issue 11228: * No failures on our own tests.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/regexp2000/
Patch Set: Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/assembler-re2k.cc
===================================================================
--- src/assembler-re2k.cc (revision 786)
+++ src/assembler-re2k.cc (working copy)
@@ -47,6 +47,9 @@
Re2kAssembler::~Re2kAssembler() {
+ if (own_buffer_) {
+ buffer_.Dispose();
+ }
}
@@ -173,22 +176,17 @@
}
-void Re2kAssembler::CheckRange(uc16 start, uc16 end, Label* on_mismatch) {
- if (start == end) {
- CheckChar(start, on_mismatch);
- }
- Emit(BC_CHECK_RANGE);
- Emit16(start);
- Emit16(end);
- EmitOrLink(on_mismatch);
+void Re2kAssembler::CheckCharacterLT(uc16 limit, Label* on_less) {
+ Emit(BC_CHECK_LT);
+ Emit16(limit);
+ EmitOrLink(on_less);
}
-void Re2kAssembler::CheckNotRange(uc16 start, uc16 end, Label* on_match) {
- Emit(BC_CHECK_NOT_RANGE);
- Emit16(start);
- Emit16(end);
- EmitOrLink(on_match);
+void Re2kAssembler::CheckCharacterGT(uc16 limit, Label* on_greater) {
+ Emit(BC_CHECK_GT);
+ Emit16(limit);
+ EmitOrLink(on_greater);
}
@@ -285,4 +283,17 @@
memcpy(a, buffer_.start(), length());
}
+
+void Re2kAssembler::Expand() {
+ bool old_buffer_was_our_own = own_buffer_;
+ Vector<byte> old_buffer = buffer_;
+ buffer_ = Vector<byte>::New(old_buffer.length() * 2);
+ own_buffer_ = true;
+ memcpy(buffer_.start(), old_buffer.start(), old_buffer.length());
+ if (old_buffer_was_our_own) {
+ old_buffer.Dispose();
+ }
+}
+
+
} } // namespace v8::internal
« no previous file with comments | « src/assembler-re2k.h ('k') | src/assembler-re2k-inl.h » ('j') | src/bytecodes-re2k.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698