[vm] Delete dead runtime entries

We do not have a byte code interpreter anymore, these runtime entries
are dead.

With enabling inlining for external functions (previous CL), the
`external-name` annotations can also be removed.

TEST=removes dead code
TEST=hashes: runtime/vm/compiler/recognized_methods_list.h

Change-Id: Ibf7f9598cfe52756f6645473f619cf8456f8f593
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229961
Reviewed-by: Tess Strickland <sstrickl@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
This commit is contained in:
Daco Harkes
2022-01-26 13:09:58 +00:00
committed by Commit Bot
parent 0ac2549604
commit dfcd594ebd
6 changed files with 11 additions and 92 deletions
-51
View File
@@ -13,57 +13,6 @@
namespace dart {
DEFINE_NATIVE_ENTRY(Math_sqrt, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(sqrt(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_sin, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(sin(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_cos, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(cos(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_tan, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(tan(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_asin, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(asin(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_acos, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(acos(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_atan, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(atan(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_atan2, 0, 2) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand1, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand2, arguments->NativeArgAt(1));
return Double::New(atan2_ieee(operand1.value(), operand2.value()));
}
DEFINE_NATIVE_ENTRY(Math_exp, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(exp(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_log, 0, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(Double, operand, arguments->NativeArgAt(0));
return Double::New(log(operand.value()));
}
DEFINE_NATIVE_ENTRY(Math_doublePow, 0, 2) {
const double operand =
Double::CheckedHandle(zone, arguments->NativeArgAt(0)).value();
-8
View File
@@ -299,14 +299,6 @@ DEFINE_NATIVE_ENTRY(LibraryPrefix_issueLoad, 0, 1) {
return unit.IssueLoad();
}
DEFINE_NATIVE_ENTRY(Internal_has63BitSmis, 0, 0) {
#if defined(ARCH_IS_64_BIT) && !defined(DART_COMPRESSED_POINTERS)
return Bool::True().ptr();
#else
return Bool::False().ptr();
#endif // defined(ARCH_IS_64_BIT)
}
DEFINE_NATIVE_ENTRY(Internal_unsafeCast, 0, 1) {
UNREACHABLE(); // Should be erased at Kernel translation time.
return arguments->NativeArgAt(0);
-11
View File
@@ -138,16 +138,6 @@ namespace dart {
V(String_toLowerCase, 1) \
V(String_toUpperCase, 1) \
V(String_concatRange, 3) \
V(Math_sqrt, 1) \
V(Math_sin, 1) \
V(Math_cos, 1) \
V(Math_tan, 1) \
V(Math_asin, 1) \
V(Math_acos, 1) \
V(Math_atan, 1) \
V(Math_atan2, 2) \
V(Math_exp, 1) \
V(Math_log, 1) \
V(Math_doublePow, 2) \
V(Random_nextState, 1) \
V(Random_setupSeed, 1) \
@@ -333,7 +323,6 @@ namespace dart {
V(Internal_collectAllGarbage, 0) \
V(Internal_makeListFixedLength, 1) \
V(Internal_makeFixedListUnmodifiable, 1) \
V(Internal_has63BitSmis, 0) \
V(Internal_extractTypeArguments, 2) \
V(Internal_prependTypeArguments, 4) \
V(Internal_boundsCheckForPartialInstantiation, 2) \
+11 -11
View File
@@ -99,16 +99,16 @@ namespace dart {
V(::, max, MathMax, 0xead7161a) \
V(::, _doublePow, MathDoublePow, 0x989f3334) \
V(::, _intPow, MathIntPow, 0x68b6021e) \
V(::, _sin, MathSin, 0x17dacdc4) \
V(::, _cos, MathCos, 0xf4948106) \
V(::, _tan, MathTan, 0xeb1a58f8) \
V(::, _asin, MathAsin, 0x29e4d95f) \
V(::, _acos, MathAcos, 0x200aa49c) \
V(::, _atan, MathAtan, 0x10fa64b3) \
V(::, _atan2, MathAtan2, 0x58d4f514) \
V(::, _sqrt, MathSqrt, 0x03183751) \
V(::, _exp, MathExp, 0x00f50391) \
V(::, _log, MathLog, 0x09ae8823) \
V(::, _sin, MathSin, 0x17daca03) \
V(::, _cos, MathCos, 0xf4947d45) \
V(::, _tan, MathTan, 0xeb1a5537) \
V(::, _asin, MathAsin, 0x29e4d59e) \
V(::, _acos, MathAcos, 0x200aa0db) \
V(::, _atan, MathAtan, 0x10fa60f2) \
V(::, _atan2, MathAtan2, 0x58d4f153) \
V(::, _sqrt, MathSqrt, 0x03183390) \
V(::, _exp, MathExp, 0x00f4ffd0) \
V(::, _log, MathLog, 0x09ae8462) \
V(Float32x4, _Float32x4FromDoubles, Float32x4FromDoubles, 0x1845792b) \
V(Float32x4, Float32x4.zero, Float32x4Zero, 0xd3b64002) \
V(Float32x4, _Float32x4Splat, Float32x4Splat, 0x13a552c3) \
@@ -240,7 +240,7 @@ namespace dart {
V(Future, wait, FutureWait, 0x495c83cd) \
V(_RootZone, runUnary, RootZoneRunUnary, 0xb607f8bf) \
V(_FutureListener, handleValue, FutureListenerHandleValue, 0x438115a8) \
V(::, has63BitSmis, Has63BitSmis, 0xf61b5ab2) \
V(::, has63BitSmis, Has63BitSmis, 0xf61b56f1) \
// List of intrinsics:
// (class-name, function-name, intrinsification method, fingerprint).
@@ -104,7 +104,6 @@ class VMLibraryHooks {
@pragma("vm:recognized", "other")
@pragma('vm:prefer-inline')
@pragma("vm:external-name", "Internal_has63BitSmis")
external bool get has63BitSmis;
@pragma("vm:recognized", "other")
-10
View File
@@ -164,43 +164,33 @@ double log(num x) => _log(x.toDouble());
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_atan2")
external double _atan2(double a, double b);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_sin")
external double _sin(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_cos")
external double _cos(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_tan")
external double _tan(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_acos")
external double _acos(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_asin")
external double _asin(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_atan")
external double _atan(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_sqrt")
external double _sqrt(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_exp")
external double _exp(double x);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@pragma("vm:external-name", "Math_log")
external double _log(double x);
// TODO(iposva): Handle patch methods within a patch class correctly.