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

Unified Diff: src/runtime/runtime.h

Issue 1333843002: [runtime] Move binary operator fallbacks into the runtime. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: No need for frame states in bytecode handlers. Add test case. Created 5 years, 3 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/runtime/runtime.h
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
index 8a53bc8622029094f3285dae7d41e10af3766719..204d18affaab0eb0dee084a269f3494478704b49 100644
--- a/src/runtime/runtime.h
+++ b/src/runtime/runtime.h
@@ -405,18 +405,7 @@ namespace internal {
F(NumberToInteger, 1, 1) \
F(NumberToIntegerMapMinusZero, 1, 1) \
F(NumberToSmi, 1, 1) \
- F(NumberAdd, 2, 1) \
- F(NumberSub, 2, 1) \
- F(NumberMul, 2, 1) \
- F(NumberDiv, 2, 1) \
- F(NumberMod, 2, 1) \
F(NumberImul, 2, 1) \
- F(NumberOr, 2, 1) \
- F(NumberAnd, 2, 1) \
- F(NumberXor, 2, 1) \
- F(NumberShl, 2, 1) \
- F(NumberShr, 2, 1) \
- F(NumberSar, 2, 1) \
F(NumberEquals, 2, 1) \
F(NumberCompare, 3, 1) \
F(SmiLexicographicCompare, 2, 1) \
@@ -511,6 +500,30 @@ namespace internal {
F(GetObjectContextNotifierPerformChange, 1, 1)
+#define FOR_EACH_INTRINSIC_OPERATORS(F) \
+ F(Multiply, 2, 1) \
+ F(Multiply_Strong, 2, 1) \
+ F(Divide, 2, 1) \
+ F(Divide_Strong, 2, 1) \
+ F(Modulus, 2, 1) \
+ F(Modulus_Strong, 2, 1) \
+ F(Add, 2, 1) \
+ F(Add_Strong, 2, 1) \
+ F(Subtract, 2, 1) \
+ F(Subtract_Strong, 2, 1) \
+ F(ShiftLeft, 2, 1) \
+ F(ShiftLeft_Strong, 2, 1) \
+ F(ShiftRight, 2, 1) \
+ F(ShiftRight_Strong, 2, 1) \
+ F(ShiftRightLogical, 2, 1) \
+ F(ShiftRightLogical_Strong, 2, 1) \
+ F(BitwiseAnd, 2, 1) \
+ F(BitwiseAnd_Strong, 2, 1) \
+ F(BitwiseOr, 2, 1) \
+ F(BitwiseOr_Strong, 2, 1) \
+ F(BitwiseXor, 2, 1) \
+ F(BitwiseXor_Strong, 2, 1)
+
Michael Starzinger 2015/09/10 11:43:24 nit: Two empty newlines.
#define FOR_EACH_INTRINSIC_PROXY(F) \
F(CreateJSProxy, 2, 1) \
F(CreateJSFunctionProxy, 4, 1) \
@@ -1065,6 +1078,7 @@ namespace internal {
FOR_EACH_INTRINSIC_NUMBERS(F) \
FOR_EACH_INTRINSIC_OBJECT(F) \
FOR_EACH_INTRINSIC_OBSERVE(F) \
+ FOR_EACH_INTRINSIC_OPERATORS(F) \
FOR_EACH_INTRINSIC_PROXY(F) \
FOR_EACH_INTRINSIC_REGEXP(F) \
FOR_EACH_INTRINSIC_SCOPES(F) \
« src/hydrogen.cc ('K') | « src/runtime.js ('k') | src/runtime/runtime-i18n.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698