Revision: 21332
Author:   [email protected]
Date:     Thu May 15 13:03:14 2014 UTC
Log:      Fix builtin/runtime name clashes generated by macros

Specifically: DataView{S,G}et* and a few more Math functions.

Also change indentation in typedarray.js for easier future builtins parsing.

[email protected]

Review URL: https://codereview.chromium.org/286073004
http://code.google.com/p/v8/source/detail?r=21332

Modified:
 /branches/bleeding_edge/src/hydrogen.cc
 /branches/bleeding_edge/src/math.js
 /branches/bleeding_edge/src/runtime.cc
 /branches/bleeding_edge/src/runtime.h
 /branches/bleeding_edge/src/typedarray.js

=======================================
--- /branches/bleeding_edge/src/hydrogen.cc     Thu May 15 09:25:03 2014 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc     Thu May 15 13:03:14 2014 UTC
@@ -11118,7 +11118,7 @@
 }


-void HOptimizedGraphBuilder::GenerateMathLog(CallRuntime* call) {
+void HOptimizedGraphBuilder::GenerateMathLogRT(CallRuntime* call) {
   ASSERT(call->arguments()->length() == 1);
   CHECK_ALIVE(VisitForValue(call->arguments()->at(0)));
   HValue* value = Pop();
=======================================
--- /branches/bleeding_edge/src/math.js Wed May 14 08:51:10 2014 UTC
+++ /branches/bleeding_edge/src/math.js Thu May 15 13:03:14 2014 UTC
@@ -30,17 +30,17 @@
 }

 // ECMA 262 - 15.8.2.2
-function MathAcos(x) {
+function MathAcosJS(x) {
   return %MathAcos(TO_NUMBER_INLINE(x));
 }

 // ECMA 262 - 15.8.2.3
-function MathAsin(x) {
+function MathAsinJS(x) {
   return %MathAsin(TO_NUMBER_INLINE(x));
 }

 // ECMA 262 - 15.8.2.4
-function MathAtan(x) {
+function MathAtanJS(x) {
   return %MathAtan(TO_NUMBER_INLINE(x));
 }

@@ -85,7 +85,7 @@

 // ECMA 262 - 15.8.2.10
 function MathLog(x) {
-  return %_MathLog(TO_NUMBER_INLINE(x));
+  return %_MathLogRT(TO_NUMBER_INLINE(x));
 }

 // ECMA 262 - 15.8.2.11
@@ -284,9 +284,9 @@
   InstallFunctions($Math, DONT_ENUM, $Array(
     "random", MathRandom,
     "abs", MathAbs,
-    "acos", MathAcos,
-    "asin", MathAsin,
-    "atan", MathAtan,
+    "acos", MathAcosJS,
+    "asin", MathAsinJS,
+    "atan", MathAtanJS,
     "ceil", MathCeil,
     "cos", MathCos,
     "exp", MathExp,
=======================================
--- /branches/bleeding_edge/src/runtime.cc      Wed May 14 08:51:10 2014 UTC
+++ /branches/bleeding_edge/src/runtime.cc      Thu May 15 13:03:14 2014 UTC
@@ -7791,7 +7791,7 @@
 RUNTIME_UNARY_MATH(Acos, acos)
 RUNTIME_UNARY_MATH(Asin, asin)
 RUNTIME_UNARY_MATH(Atan, atan)
-RUNTIME_UNARY_MATH(Log, log)
+RUNTIME_UNARY_MATH(LogRT, log)
 #undef RUNTIME_UNARY_MATH


=======================================
--- /branches/bleeding_edge/src/runtime.h       Wed May 14 08:51:10 2014 UTC
+++ /branches/bleeding_edge/src/runtime.h       Thu May 15 13:03:14 2014 UTC
@@ -685,7 +685,7 @@
F(DoubleHi, 1, 1) \ F(DoubleLo, 1, 1) \ F(MathSqrtRT, 1, 1) \ - F(MathLog, 1, 1) \ + F(MathLogRT, 1, 1) \ /* Debugger */ \
   F(DebugCallbackSupportsStepping, 1, 1)

=======================================
--- /branches/bleeding_edge/src/typedarray.js   Tue Apr 29 06:42:26 2014 UTC
+++ /branches/bleeding_edge/src/typedarray.js   Thu May 15 13:03:14 2014 UTC
@@ -25,163 +25,163 @@
 endmacro

 macro TYPED_ARRAY_CONSTRUCTOR(ARRAY_ID, NAME, ELEMENT_SIZE)
-  function NAMEConstructByArrayBuffer(obj, buffer, byteOffset, length) {
-    if (!IS_UNDEFINED(byteOffset)) {
-        byteOffset =
-            ToPositiveInteger(byteOffset,  "invalid_typed_array_length");
-    }
-    if (!IS_UNDEFINED(length)) {
-        length = ToPositiveInteger(length, "invalid_typed_array_length");
-    }
+function NAMEConstructByArrayBuffer(obj, buffer, byteOffset, length) {
+  if (!IS_UNDEFINED(byteOffset)) {
+      byteOffset =
+          ToPositiveInteger(byteOffset,  "invalid_typed_array_length");
+  }
+  if (!IS_UNDEFINED(length)) {
+      length = ToPositiveInteger(length, "invalid_typed_array_length");
+  }

-    var bufferByteLength = %_ArrayBufferGetByteLength(buffer);
-    var offset;
-    if (IS_UNDEFINED(byteOffset)) {
-      offset = 0;
-    } else {
-      offset = byteOffset;
+  var bufferByteLength = %_ArrayBufferGetByteLength(buffer);
+  var offset;
+  if (IS_UNDEFINED(byteOffset)) {
+    offset = 0;
+  } else {
+    offset = byteOffset;

-      if (offset % ELEMENT_SIZE !== 0) {
-        throw MakeRangeError("invalid_typed_array_alignment",
-            ["start offset", "NAME", ELEMENT_SIZE]);
-      }
-      if (offset > bufferByteLength) {
-        throw MakeRangeError("invalid_typed_array_offset");
-      }
+    if (offset % ELEMENT_SIZE !== 0) {
+      throw MakeRangeError("invalid_typed_array_alignment",
+          ["start offset", "NAME", ELEMENT_SIZE]);
     }
-
-    var newByteLength;
-    var newLength;
-    if (IS_UNDEFINED(length)) {
-      if (bufferByteLength % ELEMENT_SIZE !== 0) {
-        throw MakeRangeError("invalid_typed_array_alignment",
-          ["byte length", "NAME", ELEMENT_SIZE]);
-      }
-      newByteLength = bufferByteLength - offset;
-      newLength = newByteLength / ELEMENT_SIZE;
-    } else {
-      var newLength = length;
-      newByteLength = newLength * ELEMENT_SIZE;
+    if (offset > bufferByteLength) {
+      throw MakeRangeError("invalid_typed_array_offset");
     }
-    if ((offset + newByteLength > bufferByteLength)
-        || (newLength > %_MaxSmi())) {
-      throw MakeRangeError("invalid_typed_array_length");
-    }
-    %_TypedArrayInitialize(obj, ARRAY_ID, buffer, offset, newByteLength);
   }

-  function NAMEConstructByLength(obj, length) {
-    var l = IS_UNDEFINED(length) ?
-      0 : ToPositiveInteger(length, "invalid_typed_array_length");
-    if (l > %_MaxSmi()) {
-      throw MakeRangeError("invalid_typed_array_length");
+  var newByteLength;
+  var newLength;
+  if (IS_UNDEFINED(length)) {
+    if (bufferByteLength % ELEMENT_SIZE !== 0) {
+      throw MakeRangeError("invalid_typed_array_alignment",
+        ["byte length", "NAME", ELEMENT_SIZE]);
     }
-    var byteLength = l * ELEMENT_SIZE;
-    if (byteLength > %_TypedArrayMaxSizeInHeap()) {
-      var buffer = new $ArrayBuffer(byteLength);
-      %_TypedArrayInitialize(obj, ARRAY_ID, buffer, 0, byteLength);
-    } else {
-      %_TypedArrayInitialize(obj, ARRAY_ID, null, 0, byteLength);
-    }
+    newByteLength = bufferByteLength - offset;
+    newLength = newByteLength / ELEMENT_SIZE;
+  } else {
+    var newLength = length;
+    newByteLength = newLength * ELEMENT_SIZE;
   }
+  if ((offset + newByteLength > bufferByteLength)
+      || (newLength > %_MaxSmi())) {
+    throw MakeRangeError("invalid_typed_array_length");
+  }
+  %_TypedArrayInitialize(obj, ARRAY_ID, buffer, offset, newByteLength);
+}

-  function NAMEConstructByArrayLike(obj, arrayLike) {
-    var length = arrayLike.length;
-    var l = ToPositiveInteger(length, "invalid_typed_array_length");
+function NAMEConstructByLength(obj, length) {
+  var l = IS_UNDEFINED(length) ?
+    0 : ToPositiveInteger(length, "invalid_typed_array_length");
+  if (l > %_MaxSmi()) {
+    throw MakeRangeError("invalid_typed_array_length");
+  }
+  var byteLength = l * ELEMENT_SIZE;
+  if (byteLength > %_TypedArrayMaxSizeInHeap()) {
+    var buffer = new $ArrayBuffer(byteLength);
+    %_TypedArrayInitialize(obj, ARRAY_ID, buffer, 0, byteLength);
+  } else {
+    %_TypedArrayInitialize(obj, ARRAY_ID, null, 0, byteLength);
+  }
+}

-    if (l > %_MaxSmi()) {
-      throw MakeRangeError("invalid_typed_array_length");
-    }
-    if(!%TypedArrayInitializeFromArrayLike(obj, ARRAY_ID, arrayLike, l)) {
-      for (var i = 0; i < l; i++) {
-        // It is crucial that we let any execptions from arrayLike[i]
-        // propagate outside the function.
-        obj[i] = arrayLike[i];
-      }
+function NAMEConstructByArrayLike(obj, arrayLike) {
+  var length = arrayLike.length;
+  var l = ToPositiveInteger(length, "invalid_typed_array_length");
+
+  if (l > %_MaxSmi()) {
+    throw MakeRangeError("invalid_typed_array_length");
+  }
+  if(!%TypedArrayInitializeFromArrayLike(obj, ARRAY_ID, arrayLike, l)) {
+    for (var i = 0; i < l; i++) {
+      // It is crucial that we let any execptions from arrayLike[i]
+      // propagate outside the function.
+      obj[i] = arrayLike[i];
     }
   }
+}

-  function NAMEConstructor(arg1, arg2, arg3) {
-    if (%_IsConstructCall()) {
-      if (IS_ARRAYBUFFER(arg1)) {
-        NAMEConstructByArrayBuffer(this, arg1, arg2, arg3);
-      } else if (IS_NUMBER(arg1) || IS_STRING(arg1) ||
-                 IS_BOOLEAN(arg1) || IS_UNDEFINED(arg1)) {
-        NAMEConstructByLength(this, arg1);
-      } else {
-        NAMEConstructByArrayLike(this, arg1);
-      }
+function NAMEConstructor(arg1, arg2, arg3) {
+  if (%_IsConstructCall()) {
+    if (IS_ARRAYBUFFER(arg1)) {
+      NAMEConstructByArrayBuffer(this, arg1, arg2, arg3);
+    } else if (IS_NUMBER(arg1) || IS_STRING(arg1) ||
+               IS_BOOLEAN(arg1) || IS_UNDEFINED(arg1)) {
+      NAMEConstructByLength(this, arg1);
     } else {
-      throw MakeTypeError("constructor_not_function", ["NAME"])
+      NAMEConstructByArrayLike(this, arg1);
     }
+  } else {
+    throw MakeTypeError("constructor_not_function", ["NAME"])
   }
+}

-  function NAME_GetBuffer() {
-    if (!(%_ClassOf(this) === 'NAME')) {
-      throw MakeTypeError('incompatible_method_receiver',
-                          ["NAME.buffer", this]);
-    }
-    return %TypedArrayGetBuffer(this);
+function NAME_GetBuffer() {
+  if (!(%_ClassOf(this) === 'NAME')) {
+    throw MakeTypeError('incompatible_method_receiver',
+                        ["NAME.buffer", this]);
   }
+  return %TypedArrayGetBuffer(this);
+}

-  function NAME_GetByteLength() {
-    if (!(%_ClassOf(this) === 'NAME')) {
-      throw MakeTypeError('incompatible_method_receiver',
-                          ["NAME.byteLength", this]);
-    }
-    return %_ArrayBufferViewGetByteLength(this);
+function NAME_GetByteLength() {
+  if (!(%_ClassOf(this) === 'NAME')) {
+    throw MakeTypeError('incompatible_method_receiver',
+                        ["NAME.byteLength", this]);
   }
+  return %_ArrayBufferViewGetByteLength(this);
+}

-  function NAME_GetByteOffset() {
-    if (!(%_ClassOf(this) === 'NAME')) {
-      throw MakeTypeError('incompatible_method_receiver',
-                          ["NAME.byteOffset", this]);
-    }
-    return %_ArrayBufferViewGetByteOffset(this);
+function NAME_GetByteOffset() {
+  if (!(%_ClassOf(this) === 'NAME')) {
+    throw MakeTypeError('incompatible_method_receiver',
+                        ["NAME.byteOffset", this]);
   }
+  return %_ArrayBufferViewGetByteOffset(this);
+}

-  function NAME_GetLength() {
-    if (!(%_ClassOf(this) === 'NAME')) {
-      throw MakeTypeError('incompatible_method_receiver',
-                          ["NAME.length", this]);
-    }
-    return %_TypedArrayGetLength(this);
+function NAME_GetLength() {
+  if (!(%_ClassOf(this) === 'NAME')) {
+    throw MakeTypeError('incompatible_method_receiver',
+                        ["NAME.length", this]);
   }
+  return %_TypedArrayGetLength(this);
+}

-  var $NAME = global.NAME;
+var $NAME = global.NAME;

-  function NAMESubArray(begin, end) {
-    if (!(%_ClassOf(this) === 'NAME')) {
-      throw MakeTypeError('incompatible_method_receiver',
-                          ["NAME.subarray", this]);
-    }
-    var beginInt = TO_INTEGER(begin);
-    if (!IS_UNDEFINED(end)) {
-      end = TO_INTEGER(end);
-    }
+function NAMESubArray(begin, end) {
+  if (!(%_ClassOf(this) === 'NAME')) {
+    throw MakeTypeError('incompatible_method_receiver',
+                        ["NAME.subarray", this]);
+  }
+  var beginInt = TO_INTEGER(begin);
+  if (!IS_UNDEFINED(end)) {
+    end = TO_INTEGER(end);
+  }

-    var srcLength = %_TypedArrayGetLength(this);
-    if (beginInt < 0) {
-      beginInt = MathMax(0, srcLength + beginInt);
-    } else {
-      beginInt = MathMin(srcLength, beginInt);
-    }
+  var srcLength = %_TypedArrayGetLength(this);
+  if (beginInt < 0) {
+    beginInt = MathMax(0, srcLength + beginInt);
+  } else {
+    beginInt = MathMin(srcLength, beginInt);
+  }

-    var endInt = IS_UNDEFINED(end) ? srcLength : end;
-    if (endInt < 0) {
-      endInt = MathMax(0, srcLength + endInt);
-    } else {
-      endInt = MathMin(endInt, srcLength);
-    }
-    if (endInt < beginInt) {
-      endInt = beginInt;
-    }
-    var newLength = endInt - beginInt;
-    var beginByteOffset =
-        %_ArrayBufferViewGetByteOffset(this) + beginInt * ELEMENT_SIZE;
-    return new $NAME(%TypedArrayGetBuffer(this),
-                     beginByteOffset, newLength);
+  var endInt = IS_UNDEFINED(end) ? srcLength : end;
+  if (endInt < 0) {
+    endInt = MathMax(0, srcLength + endInt);
+  } else {
+    endInt = MathMin(endInt, srcLength);
+  }
+  if (endInt < beginInt) {
+    endInt = beginInt;
   }
+  var newLength = endInt - beginInt;
+  var beginByteOffset =
+      %_ArrayBufferViewGetByteOffset(this) + beginInt * ELEMENT_SIZE;
+  return new $NAME(%TypedArrayGetBuffer(this),
+                   beginByteOffset, newLength);
+}
 endmacro

 TYPED_ARRAYS(TYPED_ARRAY_CONSTRUCTOR)
@@ -357,7 +357,7 @@
   }
 }

-function DataViewGetBuffer() {
+function DataViewGetBufferJS() {
   if (!IS_DATAVIEW(this)) {
     throw MakeTypeError('incompatible_method_receiver',
                         ['DataView.buffer', this]);
@@ -398,7 +398,7 @@


 macro DATA_VIEW_GETTER_SETTER(TYPENAME)
-function DataViewGetTYPENAME(offset, little_endian) {
+function DataViewGetTYPENAMEJS(offset, little_endian) {
   if (!IS_DATAVIEW(this)) {
     throw MakeTypeError('incompatible_method_receiver',
                         ['DataView.getTYPENAME', this]);
@@ -411,7 +411,7 @@
                           !!little_endian);
 }

-function DataViewSetTYPENAME(offset, value, little_endian) {
+function DataViewSetTYPENAMEJS(offset, value, little_endian) {
   if (!IS_DATAVIEW(this)) {
     throw MakeTypeError('incompatible_method_receiver',
                         ['DataView.setTYPENAME', this]);
@@ -438,34 +438,34 @@
   // Set up constructor property on the DataView prototype.
   %SetProperty($DataView.prototype, "constructor", $DataView, DONT_ENUM);

-  InstallGetter($DataView.prototype, "buffer", DataViewGetBuffer);
+  InstallGetter($DataView.prototype, "buffer", DataViewGetBufferJS);
   InstallGetter($DataView.prototype, "byteOffset", DataViewGetByteOffset);
   InstallGetter($DataView.prototype, "byteLength", DataViewGetByteLength);

   InstallFunctions($DataView.prototype, DONT_ENUM, $Array(
-      "getInt8", DataViewGetInt8,
-      "setInt8", DataViewSetInt8,
+      "getInt8", DataViewGetInt8JS,
+      "setInt8", DataViewSetInt8JS,

-      "getUint8", DataViewGetUint8,
-      "setUint8", DataViewSetUint8,
+      "getUint8", DataViewGetUint8JS,
+      "setUint8", DataViewSetUint8JS,

-      "getInt16", DataViewGetInt16,
-      "setInt16", DataViewSetInt16,
+      "getInt16", DataViewGetInt16JS,
+      "setInt16", DataViewSetInt16JS,

-      "getUint16", DataViewGetUint16,
-      "setUint16", DataViewSetUint16,
+      "getUint16", DataViewGetUint16JS,
+      "setUint16", DataViewSetUint16JS,

-      "getInt32", DataViewGetInt32,
-      "setInt32", DataViewSetInt32,
+      "getInt32", DataViewGetInt32JS,
+      "setInt32", DataViewSetInt32JS,

-      "getUint32", DataViewGetUint32,
-      "setUint32", DataViewSetUint32,
+      "getUint32", DataViewGetUint32JS,
+      "setUint32", DataViewSetUint32JS,

-      "getFloat32", DataViewGetFloat32,
-      "setFloat32", DataViewSetFloat32,
+      "getFloat32", DataViewGetFloat32JS,
+      "setFloat32", DataViewSetFloat32JS,

-      "getFloat64", DataViewGetFloat64,
-      "setFloat64", DataViewSetFloat64
+      "getFloat64", DataViewGetFloat64JS,
+      "setFloat64", DataViewSetFloat64JS
   ));
 }

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to