Improve the fix for r18344.
authorsvenpanne@chromium.org <svenpanne@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 18 Dec 2013 12:09:14 +0000 (12:09 +0000)
committersvenpanne@chromium.org <svenpanne@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 18 Dec 2013 12:09:14 +0000 (12:09 +0000)
Our toolchains differ in mysterious ways, especially regarding
overloading resolution, templates, etc. :-P This fix avoids a
call/return just for resolution and uses a static_cast instead.

R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/118183002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/assembler.cc

index 1076be0..4ac2fb4 100644 (file)
@@ -1388,15 +1388,11 @@ ExternalReference ExternalReference::address_of_regexp_stack_memory_size(
 #endif  // V8_INTERPRETED_REGEXP
 
 
-static double math_log_double(double x) {
-  return log(x);
-}
-
-
 ExternalReference ExternalReference::math_log_double_function(
     Isolate* isolate) {
+  typedef double (*d2d)(double x);
   return ExternalReference(Redirect(isolate,
-                                    FUNCTION_ADDR(math_log_double),
+                                    FUNCTION_ADDR(static_cast<d2d>(log)),
                                     BUILTIN_FP_CALL));
 }