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

Unified Diff: runtime/vm/method_recognizer.h

Issue 539153002: Port and integrate the irregexp engine from V8 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed Ivan's comments. Created 6 years, 2 months 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
« no previous file with comments | « runtime/vm/intrinsifier_x64.cc ('k') | runtime/vm/object.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/method_recognizer.h
diff --git a/runtime/vm/method_recognizer.h b/runtime/vm/method_recognizer.h
index c7062842c934413a0f7807f7d8a620bd087de9dd..6f7e314c96d47a34c292e1a7b11c9bb37ed1aa04 100644
--- a/runtime/vm/method_recognizer.h
+++ b/runtime/vm/method_recognizer.h
@@ -38,6 +38,12 @@ namespace dart {
V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 950522310) \
V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1301138078) \
V(_StringBase, _interpolate, StringBaseInterpolate, 1540062866) \
+ V(_OneByteString, _oneCodeUnitAt, OneByteString_oneCodeUnitAt, 1042963962) \
+ V(_OneByteString, _twoCodeUnitsAt, OneByteString_twoCodeUnitsAt, 1094453328) \
+ V(_OneByteString, _fourCodeUnitsAt, OneByteString_fourCodeUnitsAt, \
+ 1600083803) \
+ V(_TwoByteString, _oneCodeUnitAt, TwoByteString_oneCodeUnitAt, 1205041289) \
+ V(_TwoByteString, _twoCodeUnitsAt, TwoByteString_twoCodeUnitsAt, 1256530655) \
V(_IntegerImplementation, toDouble, IntegerToDouble, 1084977108) \
V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \
597111055) \
@@ -194,6 +200,17 @@ namespace dart {
V(_TwoByteString, ==, TwoByteString_equality, 951149689) \
+// TODO(jgruber): Remove this list and add _ExecuteMatch to
+// CORE_LIB_INTRINSIC_LIST once irregexp code has been implemented for all
+// architectures and JSCRE has been removed.
+#if defined(USE_JSCRE)
+#define CORE_REGEXP_LIB_INTRINSIC_LIST(V)
+#else
+#define CORE_REGEXP_LIB_INTRINSIC_LIST(V) \
+ V(_JSSyntaxRegExp, _ExecuteMatch, JSRegExp_ExecuteMatch, 1654250896)
+#endif
+
+
#define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \
V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \
438687793) \
@@ -296,6 +313,7 @@ namespace dart {
#define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \
CORE_LIB_INTRINSIC_LIST(V) \
+ CORE_REGEXP_LIB_INTRINSIC_LIST(V) \
MATH_LIB_INTRINSIC_LIST(V) \
TYPED_DATA_LIB_INTRINSIC_LIST(V) \
PROFILER_LIB_INTRINSIC_LIST(V)
@@ -317,6 +335,14 @@ namespace dart {
V(_TypedList, get:length, TypedDataLength, 522565357) \
V(_GrowableList, get:length, GrowableArrayLength, 778505107) \
V(_StringBase, get:length, StringBaseLength, 784399628) \
+ V(_GrowableList, add, GrowableListAdd, 1899133961) \
+ V(_GrowableList, removeLast, GrowableListRemoveLast, 1274907639) \
+ V(_OneByteString, _oneCodeUnitAt, OneByteString_oneCodeUnitAt, 1042963962) \
+ V(_OneByteString, _twoCodeUnitsAt, OneByteString_twoCodeUnitsAt, 1094453328) \
+ V(_OneByteString, _fourCodeUnitsAt, OneByteString_fourCodeUnitsAt, \
+ 1600083803) \
+ V(_TwoByteString, _oneCodeUnitAt, TwoByteString_oneCodeUnitAt, 1205041289) \
+ V(_TwoByteString, _twoCodeUnitsAt, TwoByteString_twoCodeUnitsAt, 1256530655) \
V(ListIterator, moveNext, ListIteratorMoveNext, 210829138) \
V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 1147271335) \
V(_GrowableList, get:iterator, GrowableArrayIterator, 1812933946) \
« no previous file with comments | « runtime/vm/intrinsifier_x64.cc ('k') | runtime/vm/object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698