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

Unified Diff: regexp2000/src/jsregexp.cc

Issue 11271: Building on regexp-ia32. (Closed)
Patch Set: Made it compile correctly. 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: regexp2000/src/jsregexp.cc
diff --git a/regexp2000/src/jsregexp.cc b/regexp2000/src/jsregexp.cc
index 862040a582c4037fe1d7c34b56de3b5e97968853..1c835314b35ee790e14d7a99f2e88b69f92a4b68 100644
--- a/regexp2000/src/jsregexp.cc
+++ b/regexp2000/src/jsregexp.cc
@@ -43,6 +43,7 @@
#include "assembler-re2k.h"
#include "regexp-macro-assembler.h"
#include "regexp-macro-assembler-re2k.h"
+#include "regexp-macro-assembler-ia32.h"
#include "interpreter-re2k.h"
// Including pcre.h undefines DEBUG to avoid getting debug output from
@@ -2290,19 +2291,32 @@ Handle<FixedArray> RegExpEngine::Compile(RegExpParseResult* input,
if (node_return != NULL) *node_return = node;
Analysis analysis;
analysis.EnsureAnalyzed(node);
- byte codes[1024];
- Re2kAssembler assembler(Vector<byte>(codes, 1024));
- RegExpMacroAssemblerRe2k macro_assembler(&assembler);
- return compiler.Assemble(&macro_assembler,
- node,
- input->capture_count,
- ignore_case);
-}
-
-RegExpMacroAssembler::RegExpMacroAssembler() {
-}
-RegExpMacroAssembler::~RegExpMacroAssembler() {
+ if (FLAG_re2k_native) {
Erik Corry 2008/11/21 13:03:04 We should probably either ignore the flag on ARM o
Lasse Reichstein 2008/11/24 08:32:33 Done.
+ // DON'T USE ON ARM YET!
+#if defined __arm__ || defined ARM || defined __thumb__
+ UNREACHABLE();
+ return NULL;
+#else
+ // FIXME.
Erik Corry 2008/11/21 13:03:04 Thuis should be a TODO with a name or issue number
Lasse Reichstein 2008/11/24 08:32:33 Done.
+ // Don't compile *here*, we don't know the input type yet! This won't work!
Erik Corry 2008/11/21 13:03:04 For now we just do 16 bit always for the bytecode
Lasse Reichstein 2008/11/24 08:32:33 The ia32 code will also assume 16-bit strings then
+ RegExpMacroAssemblerIA32 macro_assembler(RegExpMacroAssemblerIA32::ASCII,
+ input->capture_count,
+ ignore_case);
+ return compiler.Assemble(&macro_assembler,
+ node,
+ input->capture_count,
+ ignore_case);
+#endif
+ } else {
+ byte codes[1024];
+ Re2kAssembler assembler(Vector<byte>(codes, 1024));
+ RegExpMacroAssemblerRe2k macro_assembler(&assembler);
+ return compiler.Assemble(&macro_assembler,
+ node,
+ input->capture_count,
+ ignore_case);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698