Version 3.3.5

Fixed build on FreeBSD. Patch by Akinori MUSHA.

Added check that receiver is JSObject on API calls.

Implemented CallAsConstructor method for Object in the API (Issue 1348).
Patch by Peter Varga.

Added CallAsFunction method to the Object class in the API (Issue 1336).
Patch by Peter Varga.

Added per-isolate locking and unlocking.

Fixed bug in x64 >>> operator (Issue 1359).

Review URL: http://codereview.chromium.org/6960009

git-svn-id: http://v8.googlecode.com/svn/trunk@7816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/assembler.h b/src/assembler.h
index ef4ddc0..10d90a9 100644
--- a/src/assembler.h
+++ b/src/assembler.h
@@ -35,6 +35,7 @@
 #ifndef V8_ASSEMBLER_H_
 #define V8_ASSEMBLER_H_
 
+#include "allocation.h"
 #include "gdb-jit.h"
 #include "runtime.h"
 #include "token.h"
@@ -673,10 +674,11 @@
 
   // This lets you register a function that rewrites all external references.
   // Used by the ARM simulator to catch calls to external references.
-  static void set_redirector(ExternalReferenceRedirector* redirector) {
+  static void set_redirector(Isolate* isolate,
+                             ExternalReferenceRedirector* redirector) {
     // We can't stack them.
-    ASSERT(Isolate::Current()->external_reference_redirector() == NULL);
-    Isolate::Current()->set_external_reference_redirector(
+    ASSERT(isolate->external_reference_redirector() == NULL);
+    isolate->set_external_reference_redirector(
         reinterpret_cast<ExternalReferenceRedirectorPointer*>(redirector));
   }