Reviewers: Michael Starzinger,

Description:
Merged r11308, r11311, r11313 into trunk branch.

Fix several ancient presubmit failures.

Provide empty default implementation of OutputStream::WriteUint32Chunk to make
Webkit V8 bindings compile

Fix r11306 to use external references on X64.

[email protected]


Please review this at https://chromiumcodereview.appspot.com/10081005/

SVN Base: https://v8.googlecode.com/svn/trunk

Affected files:
  M include/v8.h
  M src/arguments.h
  M src/version.cc
  M src/x64/stub-cache-x64.cc


Index: include/v8.h
diff --git a/include/v8.h b/include/v8.h
index a55e13480ae0238c4600739cd9556df5ecd6ee93..0f05230596e19496a7a98515dea6fa918b7a6a31 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -1969,6 +1969,7 @@ class Arguments {
   inline bool IsConstructCall() const;
   inline Local<Value> Data() const;
   inline Isolate* GetIsolate() const;
+
  private:
   static const int kIsolateIndex = 0;
   static const int kDataIndex = -1;
@@ -1999,6 +2000,7 @@ class V8EXPORT AccessorInfo {
   inline Local<Value> Data() const;
   inline Local<Object> This() const;
   inline Local<Object> Holder() const;
+
  private:
   internal::Object** args_;
 };
@@ -3770,7 +3772,11 @@ class V8EXPORT OutputStream {  // NOLINT
    * can be stopped by returning kAbort as function result. EndOfStream
    * will not be called in case writing was aborted.
    */
-  virtual WriteResult WriteUint32Chunk(uint32_t* data, int count) = 0;
+  // TODO(loislo): Make this pure virtual when WebKit's V8 bindings
+  // have been updated.
+  virtual WriteResult WriteUint32Chunk(uint32_t* data, int count) {
+    return kAbort;
+  };
 };


Index: src/arguments.h
diff --git a/src/arguments.h b/src/arguments.h
index 2b8dddb0dfd02a93a3a06c2e30ebbe1a297e9a84..f8fb00c57538aeb32b7a0adcfdc40d0796a91332 100644
--- a/src/arguments.h
+++ b/src/arguments.h
@@ -108,6 +108,7 @@ class CustomArguments : public Relocatable {

   void IterateInstance(ObjectVisitor* v);
   Object** end() { return values_ + ARRAY_SIZE(values_) - 1; }
+
  private:
   Object* values_[4];
 };
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 850228017c93316cf001379f8397150de90eac10..d19373537e7224a1bbdb213e387ba41f61f8ceae 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     10
 #define BUILD_NUMBER      2
-#define PATCH_LEVEL       0
+#define PATCH_LEVEL       1
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0
Index: src/x64/stub-cache-x64.cc
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
index fed2f2640946103b4a9bc9e15806312ec79ec715..86b4aff68d02b11ef6c7410499aa4e2da6b78611 100644
--- a/src/x64/stub-cache-x64.cc
+++ b/src/x64/stub-cache-x64.cc
@@ -379,7 +379,8 @@ static void PushInterceptorArguments(MacroAssembler* masm,
   __ push(receiver);
   __ push(holder);
   __ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset));
-  __ push(Immediate(reinterpret_cast<intptr_t>(masm->isolate())));
+  __ movq(kScratchRegister, ExternalReference::isolate_address());
+  __ push(kScratchRegister);
 }


@@ -475,8 +476,8 @@ static void GenerateFastApiCall(MacroAssembler* masm,
   } else {
     __ Move(Operand(rsp, 3 * kPointerSize), call_data);
   }
-  __ movq(Operand(rsp, 4 * kPointerSize),
-          Immediate(reinterpret_cast<intptr_t>(masm->isolate())));
+  __ movq(kScratchRegister, ExternalReference::isolate_address());
+  __ movq(Operand(rsp, 4 * kPointerSize), kScratchRegister);

   // Prepare arguments.
   __ lea(rbx, Operand(rsp, 4 * kPointerSize));
@@ -1009,7 +1010,8 @@ void StubCompiler::GenerateLoadCallback(Handle<JSObject> object,
   } else {
     __ Push(Handle<Object>(callback->data()));
   }
-  __ push(Immediate(reinterpret_cast<intptr_t>(isolate())));  // isolate
+  __ movq(kScratchRegister, ExternalReference::isolate_address());
+  __ push(kScratchRegister);  // isolate
   __ push(name_reg);  // name
   // Save a pointer to where we pushed the arguments pointer.
   // This will be passed as the const AccessorInfo& to the C++ callback.
@@ -1184,7 +1186,8 @@ void StubCompiler::GenerateLoadInterceptor(Handle<JSObject> object,
       __ push(holder_reg);
       __ Move(holder_reg, callback);
       __ push(FieldOperand(holder_reg, AccessorInfo::kDataOffset));
-      __ push(Immediate(reinterpret_cast<intptr_t>(isolate())));
+      __ movq(kScratchRegister, ExternalReference::isolate_address());
+      __ push(kScratchRegister);
       __ push(holder_reg);
       __ push(name_reg);
       __ push(scratch2);  // restore return address


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to