This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Upgrade V8 to 3.1.2

  • Loading branch information...
1 parent a48a075 commit a0702b54d1db35a6006644882c0b5420d8670958 @ry ry committed Feb 9, 2011
Showing with 5,878 additions and 1,766 deletions.
  1. +1 −0 deps/v8/.gitignore
  2. +2 −1 deps/v8/AUTHORS
  3. +12 −0 deps/v8/ChangeLog
  4. +5 −5 deps/v8/{src/third_party/strongtalk/LICENSE → LICENSE.strongtalk}
  5. +26 −0 deps/v8/LICENSE.v8
  6. +45 −0 deps/v8/LICENSE.valgrind
  7. +1 −1 deps/v8/SConstruct
  8. +8 −8 deps/v8/src/arm/assembler-arm.cc
  9. +7 −11 deps/v8/src/arm/assembler-arm.h
  10. +355 −91 deps/v8/src/arm/code-stubs-arm.cc
  11. +39 −0 deps/v8/src/arm/code-stubs-arm.h
  12. +9 −3 deps/v8/src/arm/codegen-arm.cc
  13. +1 −0 deps/v8/src/arm/codegen-arm.h
  14. +17 −7 deps/v8/src/arm/constants-arm.h
  15. +1 −1 deps/v8/src/arm/deoptimizer-arm.cc
  16. +8 −2 deps/v8/src/arm/full-codegen-arm.cc
  17. +12 −13 deps/v8/src/arm/ic-arm.cc
  18. +93 −24 deps/v8/src/arm/lithium-arm.cc
  19. +109 −134 deps/v8/src/arm/lithium-arm.h
  20. +166 −30 deps/v8/src/arm/lithium-codegen-arm.cc
  21. +5 −0 deps/v8/src/arm/lithium-codegen-arm.h
  22. +141 −17 deps/v8/src/arm/macro-assembler-arm.cc
  23. +31 −5 deps/v8/src/arm/macro-assembler-arm.h
  24. +142 −71 deps/v8/src/arm/simulator-arm.cc
  25. +5 −3 deps/v8/src/arm/simulator-arm.h
  26. +147 −83 deps/v8/src/arm/stub-cache-arm.cc
  27. +5 −3 deps/v8/src/array.js
  28. +7 −5 deps/v8/src/assembler.cc
  29. +27 −8 deps/v8/src/assembler.h
  30. +2 −1 deps/v8/src/code-stubs.h
  31. +4 −0 deps/v8/src/codegen-inl.h
  32. +13 −8 deps/v8/src/compilation-cache.cc
  33. +2 −1 deps/v8/src/compilation-cache.h
  34. +12 −2 deps/v8/src/compiler.cc
  35. +12 −1 deps/v8/src/compiler.h
  36. +32 −46 deps/v8/src/conversions.cc
  37. +2 −2 deps/v8/src/deoptimizer.cc
  38. +2 −2 deps/v8/src/disassembler.cc
  39. +5 −1 deps/v8/src/extensions/gc-extension.cc
  40. +1 −1 deps/v8/src/full-codegen.cc
  41. +3 −0 deps/v8/src/full-codegen.h
  42. +1 −1 deps/v8/src/handles.cc
  43. +2 −1 deps/v8/src/heap-profiler.cc
  44. +11 −0 deps/v8/src/heap.cc
  45. +9 −2 deps/v8/src/heap.h
  46. +9 −1 deps/v8/src/hydrogen-instructions.cc
  47. +85 −29 deps/v8/src/hydrogen-instructions.h
  48. +60 −32 deps/v8/src/hydrogen.cc
  49. +2 −0 deps/v8/src/hydrogen.h
  50. +48 −0 deps/v8/src/ia32/code-stubs-ia32.cc
  51. +19 −0 deps/v8/src/ia32/code-stubs-ia32.h
  52. +8 −2 deps/v8/src/ia32/codegen-ia32.cc
  53. +1 −0 deps/v8/src/ia32/codegen-ia32.h
  54. +48 −67 deps/v8/src/ia32/deoptimizer-ia32.cc
  55. +90 −63 deps/v8/src/ia32/full-codegen-ia32.cc
  56. +9 −13 deps/v8/src/ia32/ic-ia32.cc
  57. +37 −8 deps/v8/src/ia32/lithium-codegen-ia32.cc
  58. +80 −18 deps/v8/src/ia32/lithium-ia32.cc
  59. +107 −131 deps/v8/src/ia32/lithium-ia32.h
  60. +15 −5 deps/v8/src/ia32/macro-assembler-ia32.cc
  61. +11 −0 deps/v8/src/ia32/macro-assembler-ia32.h
  62. +31 −0 deps/v8/src/ia32/stub-cache-ia32.cc
  63. +30 −18 deps/v8/src/ic.cc
  64. +140 −0 deps/v8/src/lithium-allocator-inl.h
  65. +55 −116 deps/v8/src/lithium-allocator.cc
  66. +50 −68 deps/v8/src/lithium-allocator.h
  67. +76 −0 deps/v8/src/lithium.h
  68. +3 −6 deps/v8/src/messages.js
  69. +20 −8 deps/v8/src/objects-inl.h
  70. +42 −13 deps/v8/src/objects.cc
  71. +15 −8 deps/v8/src/objects.h
  72. +97 −29 deps/v8/src/parser.cc
  73. +7 −1 deps/v8/src/parser.h
  74. +21 −10 deps/v8/src/preparser.cc
  75. +2 −0 deps/v8/src/preparser.h
  76. +4 −21 deps/v8/src/prettyprinter.cc
  77. +164 −28 deps/v8/src/runtime.cc
  78. +2 −2 deps/v8/src/runtime.h
  79. +21 −1 deps/v8/src/safepoint-table.cc
  80. +8 −3 deps/v8/src/safepoint-table.h
  81. +55 −6 deps/v8/src/scanner-base.cc
  82. +8 −1 deps/v8/src/scanner-base.h
  83. +18 −1 deps/v8/src/scanner.cc
  84. +9 −0 deps/v8/src/scanner.h
  85. +1 −2 deps/v8/src/scopes.cc
  86. +33 −0 deps/v8/src/stub-cache.cc
  87. +4 −0 deps/v8/src/stub-cache.h
  88. +0 −18 deps/v8/src/third_party/strongtalk/README.chromium
  89. +5 −32 deps/v8/src/token.h
  90. +1 −1 deps/v8/src/top.h
  91. +3 −3 deps/v8/src/type-info.h
  92. +1 −2 deps/v8/src/uri.js
  93. +6 −0 deps/v8/src/v8globals.h
  94. +96 −50 deps/v8/src/v8natives.js
  95. +1 −1 deps/v8/src/version.cc
  96. +27 −0 deps/v8/src/x64/assembler-x64.cc
  97. +29 −3 deps/v8/src/x64/assembler-x64.h
  98. +433 −64 deps/v8/src/x64/code-stubs-x64.cc
  99. +24 −0 deps/v8/src/x64/code-stubs-x64.h
  100. +8 −2 deps/v8/src/x64/codegen-x64.cc
  101. +1 −0 deps/v8/src/x64/codegen-x64.h
  102. +117 −30 deps/v8/src/x64/deoptimizer-x64.cc
  103. +2 −0 deps/v8/src/x64/disasm-x64.cc
  104. +2 −3 deps/v8/src/x64/frames-x64.h
  105. +19 −22 deps/v8/src/x64/full-codegen-x64.cc
  106. +11 −15 deps/v8/src/x64/ic-x64.cc
  107. +366 −43 deps/v8/src/x64/lithium-codegen-x64.cc
  108. +176 −61 deps/v8/src/x64/lithium-x64.cc
  109. +50 −15 deps/v8/src/x64/lithium-x64.h
  110. +3 −1 deps/v8/src/x64/macro-assembler-x64.cc
  111. +28 −1 deps/v8/src/x64/macro-assembler-x64.h
  112. +29 −0 deps/v8/src/x64/stub-cache-x64.cc
  113. +1 −1 deps/v8/test/cctest/cctest.status
  114. +317 −12 deps/v8/test/cctest/test-api.cc
  115. +167 −49 deps/v8/test/cctest/test-assembler-arm.cc
  116. +2 −2 deps/v8/test/cctest/test-bignum-dtoa.cc
  117. +1 −1 deps/v8/test/cctest/test-dtoa.cc
  118. +1 −1 deps/v8/test/cctest/test-fast-dtoa.cc
  119. +213 −7 deps/v8/test/es5conform/es5conform.status
  120. +16 −0 deps/v8/test/mjsunit/get-own-property-descriptor.js
  121. +4 −0 deps/v8/test/mjsunit/mjsunit.status
  122. +135 −2 deps/v8/test/mjsunit/object-define-property.js
  123. +38 −0 deps/v8/test/mjsunit/regress/regress-1083.js
  124. +35 −0 deps/v8/test/mjsunit/regress/regress-1092.js
  125. +46 −0 deps/v8/test/mjsunit/regress/regress-1099.js
  126. +2 −0 deps/v8/test/mjsunit/regress/regress-900966.js
  127. +43 −0 deps/v8/test/mjsunit/regress/regress-992.js
  128. +49 −0 deps/v8/test/mjsunit/regress/regress-deopt-gc.js
  129. +82 −0 deps/v8/test/mjsunit/strict-mode-eval.js
  130. +65 −0 deps/v8/test/mjsunit/strict-mode.js
  131. +5 −10 deps/v8/test/mozilla/mozilla.status
  132. +1 −0 deps/v8/tools/gyp/v8.gyp
  133. +20 −0 deps/v8/tools/visual_studio/v8_base.vcproj
  134. +4 −0 deps/v8/tools/visual_studio/v8_base_arm.vcproj
  135. +108 −8 deps/v8/tools/visual_studio/v8_base_x64.vcproj
View
@@ -20,6 +20,7 @@ d8_g
shell
shell_g
/obj/
+/test/sputnik/sputniktests/
/tools/oom_dump/oom_dump
/tools/oom_dump/oom_dump.o
/tools/visual_studio/Debug
View
@@ -26,6 +26,7 @@ Kun Zhang <zhangk@codeaurora.org>
Matt Hanselman <mjhanselman@gmail.com>
Martyn Capewell <martyn.capewell@arm.com>
Michael Smith <mike@w3.org>
+Mike Gilbert <floppymaster@gmail.com>
Paolo Giarrusso <p.giarrusso@gmail.com>
Patrick Gansterer <paroga@paroga.com>
Rafal Krypa <rafal@krypa.net>
@@ -35,4 +36,4 @@ Ryan Dahl <coldredlemur@gmail.com>
Sanjoy Das <sanjoy@playingwithpointers.com>
Subrato K De <subratokde@codeaurora.org>
Vlad Burlik <vladbph@gmail.com>
-Mike Gilbert <floppymaster@gmail.com>
+Zaheer Ahmad <zahmad@codeaurora.org>
View
@@ -1,3 +1,15 @@
+2011-02-07: Version 3.1.2
+
+ Added better security checks when accessing properties via
+ Object.getOwnPropertyDescriptor.
+
+ Fixed bug in Object.defineProperty and related access bugs (issues
+ 992, 1083 and 1092).
+
+ Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
+ copyright notice generation for embedders.
+
+
2011-02-02: Version 3.1.1
Perform security checks before fetching the value in
@@ -6,15 +6,15 @@ modification, are permitted provided that the following conditions are
met:
- Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+this list of conditions and the following disclaimer.
- Redistribution in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
- Neither the name of Sun Microsystems or the names of contributors may
- be used to endorse or promote products derived from this software without
- specific prior written permission.
+be used to endorse or promote products derived from this software without
+specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
View
@@ -0,0 +1,26 @@
+Copyright 2006-2011, the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
@@ -0,0 +1,45 @@
+----------------------------------------------------------------
+
+Notice that the following BSD-style license applies to this one
+file (valgrind.h) only. The rest of Valgrind is licensed under the
+terms of the GNU General Public License, version 2, unless
+otherwise indicated. See the COPYING file in the source
+distribution for details.
+
+----------------------------------------------------------------
+
+This file is part of Valgrind, a dynamic binary instrumentation
+framework.
+
+Copyright (C) 2000-2007 Julian Seward. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. The origin of this software must not be misrepresented; you must
+ not claim that you wrote the original software. If you use this
+ software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+
+3. Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+
+4. The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
@@ -136,7 +136,7 @@ LIBRARY_FLAGS = {
'gcc': {
'all': {
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
- 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions', '-fno-builtin-memcpy'],
+ 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
},
'visibility:hidden': {
# Use visibility=default to disable this.
@@ -2124,7 +2124,7 @@ static Instr EncodeVCVT(const VFPType dst_type,
const int dst_code,
const VFPType src_type,
const int src_code,
- Assembler::ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(src_type != dst_type);
int D, Vd, M, Vm;
@@ -2167,7 +2167,7 @@ static Instr EncodeVCVT(const VFPType dst_type,
void Assembler::vcvt_f64_s32(const DwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(F64, dst.code(), S32, src.code(), mode, cond));
@@ -2176,7 +2176,7 @@ void Assembler::vcvt_f64_s32(const DwVfpRegister dst,
void Assembler::vcvt_f32_s32(const SwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(F32, dst.code(), S32, src.code(), mode, cond));
@@ -2185,7 +2185,7 @@ void Assembler::vcvt_f32_s32(const SwVfpRegister dst,
void Assembler::vcvt_f64_u32(const DwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(F64, dst.code(), U32, src.code(), mode, cond));
@@ -2194,7 +2194,7 @@ void Assembler::vcvt_f64_u32(const DwVfpRegister dst,
void Assembler::vcvt_s32_f64(const SwVfpRegister dst,
const DwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(S32, dst.code(), F64, src.code(), mode, cond));
@@ -2203,7 +2203,7 @@ void Assembler::vcvt_s32_f64(const SwVfpRegister dst,
void Assembler::vcvt_u32_f64(const SwVfpRegister dst,
const DwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(U32, dst.code(), F64, src.code(), mode, cond));
@@ -2212,7 +2212,7 @@ void Assembler::vcvt_u32_f64(const SwVfpRegister dst,
void Assembler::vcvt_f64_f32(const DwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(F64, dst.code(), F32, src.code(), mode, cond));
@@ -2221,7 +2221,7 @@ void Assembler::vcvt_f64_f32(const DwVfpRegister dst,
void Assembler::vcvt_f32_f64(const SwVfpRegister dst,
const DwVfpRegister src,
- ConversionMode mode,
+ VFPConversionMode mode,
const Condition cond) {
ASSERT(CpuFeatures::IsEnabled(VFP3));
emit(EncodeVCVT(F32, dst.code(), F64, src.code(), mode, cond));
@@ -942,37 +942,33 @@ class Assembler : public Malloced {
void vmov(const Register dst,
const SwVfpRegister src,
const Condition cond = al);
- enum ConversionMode {
- FPSCRRounding = 0,
- RoundToZero = 1
- };
void vcvt_f64_s32(const DwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vcvt_f32_s32(const SwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vcvt_f64_u32(const DwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vcvt_s32_f64(const SwVfpRegister dst,
const DwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vcvt_u32_f64(const SwVfpRegister dst,
const DwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vcvt_f64_f32(const DwVfpRegister dst,
const SwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vcvt_f32_f64(const SwVfpRegister dst,
const DwVfpRegister src,
- ConversionMode mode = RoundToZero,
+ VFPConversionMode mode = kDefaultRoundToZero,
const Condition cond = al);
void vabs(const DwVfpRegister dst,
Oops, something went wrong.

0 comments on commit a0702b5

Please sign in to comment.