Update V8 to r4588

We're using WebKit r58033, as used by
http://src.chromium.org/svn/releases/5.0.387.0/DEPS
This requires http://v8.googlecode.com/svn/trunk@4465 but this version has a
crashing bug for ARM. Instead we use http://v8.googlecode.com/svn/trunk@4588,
which is used by http://src.chromium.org/svn/releases/6.0.399.0/DEPS

Note that a trivial bug fix was required in arm/codegen-arm.cc. This is guarded
with ANDROID. See http://code.google.com/p/v8/issues/detail?id=703

Change-Id: I459647a8286c4f8c7405f0c5581ecbf051a6f1e8
diff --git a/test/cctest/test-func-name-inference.cc b/test/cctest/test-func-name-inference.cc
index 28e8649..67791fb 100644
--- a/test/cctest/test-func-name-inference.cc
+++ b/test/cctest/test-func-name-inference.cc
@@ -62,8 +62,16 @@
                               const char* func_pos_src,
                               const char* ref_inferred_name) {
   // Get script source.
-  Handle<JSFunction> fun = v8::Utils::OpenHandle(*script);
-  Handle<Script> i_script(Script::cast(fun->shared()->script()));
+  Handle<Object> obj = v8::Utils::OpenHandle(*script);
+  Handle<SharedFunctionInfo> shared_function;
+  if (obj->IsSharedFunctionInfo()) {
+    shared_function =
+        Handle<SharedFunctionInfo>(SharedFunctionInfo::cast(*obj));
+  } else {
+    shared_function =
+        Handle<SharedFunctionInfo>(JSFunction::cast(*obj)->shared());
+  }
+  Handle<Script> i_script(Script::cast(shared_function->script()));
   CHECK(i_script->source()->IsString());
   Handle<String> script_src(String::cast(i_script->source()));