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

Unified Diff: src/code-stubs.h

Issue 1765823002: [compiler] Introduce code stubs for string relational comparisons. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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
Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index 533641955c5ea9fa37be7a4ba4278d81bb221e7c..48c65c8e3818f22a2906678902bc5cfeb3e6bb21 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -46,7 +46,6 @@ namespace internal {
V(RegExpExec) \
V(StoreBufferOverflow) \
V(StoreElement) \
- V(StringCompare) \
V(StubFailureTrampoline) \
V(SubString) \
V(ToNumber) \
@@ -109,6 +108,10 @@ namespace internal {
V(StrictNotEqual) \
V(StringEqual) \
V(StringNotEqual) \
+ V(StringLessThan) \
+ V(StringLessThanOrEqual) \
+ V(StringGreaterThan) \
+ V(StringGreaterThanOrEqual) \
V(ToBoolean) \
/* IC Handler stubs */ \
V(ArrayBufferViewLoadField) \
@@ -701,6 +704,41 @@ class StringNotEqualStub final : public TurboFanCodeStub {
DEFINE_TURBOFAN_CODE_STUB(StringNotEqual, TurboFanCodeStub);
};
+class StringLessThanStub final : public TurboFanCodeStub {
+ public:
+ explicit StringLessThanStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
+
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare);
+ DEFINE_TURBOFAN_CODE_STUB(StringLessThan, TurboFanCodeStub);
+};
+
+class StringLessThanOrEqualStub final : public TurboFanCodeStub {
+ public:
+ explicit StringLessThanOrEqualStub(Isolate* isolate)
+ : TurboFanCodeStub(isolate) {}
+
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare);
+ DEFINE_TURBOFAN_CODE_STUB(StringLessThanOrEqual, TurboFanCodeStub);
+};
+
+class StringGreaterThanStub final : public TurboFanCodeStub {
+ public:
+ explicit StringGreaterThanStub(Isolate* isolate)
+ : TurboFanCodeStub(isolate) {}
+
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare);
+ DEFINE_TURBOFAN_CODE_STUB(StringGreaterThan, TurboFanCodeStub);
+};
+
+class StringGreaterThanOrEqualStub final : public TurboFanCodeStub {
+ public:
+ explicit StringGreaterThanOrEqualStub(Isolate* isolate)
+ : TurboFanCodeStub(isolate) {}
+
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(Compare);
+ DEFINE_TURBOFAN_CODE_STUB(StringGreaterThanOrEqual, TurboFanCodeStub);
+};
+
class ToBooleanStub final : public TurboFanCodeStub {
public:
explicit ToBooleanStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
@@ -2935,16 +2973,6 @@ class ToObjectStub final : public HydrogenCodeStub {
DEFINE_HYDROGEN_CODE_STUB(ToObject, HydrogenCodeStub);
};
-
-class StringCompareStub : public PlatformCodeStub {
- public:
- explicit StringCompareStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
-
- DEFINE_CALL_INTERFACE_DESCRIPTOR(StringCompare);
- DEFINE_PLATFORM_CODE_STUB(StringCompare, PlatformCodeStub);
-};
-
-
#undef DEFINE_CALL_INTERFACE_DESCRIPTOR
#undef DEFINE_PLATFORM_CODE_STUB
#undef DEFINE_HANDLER_CODE_STUB
« no previous file with comments | « src/code-factory.cc ('k') | src/code-stubs.cc » ('j') | src/compiler/code-stub-assembler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698