Showing with 3,509 additions and 1,965 deletions.
  1. +0 −5 deps/v8/ChangeLog
  2. +1 −1 deps/v8/build/features.gypi
  3. +0 −11 deps/v8/include/v8.h
  4. +6 −0 deps/v8/src/api.cc
  5. +1 −1 deps/v8/src/array-iterator.js
  6. +0 −1 deps/v8/src/array.js
  7. +3 −2 deps/v8/src/base/platform/platform-posix.cc
  8. +5 −3 deps/v8/src/bootstrapper.cc
  9. +0 −260 deps/v8/src/compiler/change-lowering.cc
  10. +0 −79 deps/v8/src/compiler/change-lowering.h
  11. +10 −10 deps/v8/src/compiler/node-properties-inl.h
  12. +8 −8 deps/v8/src/compiler/node-properties.h
  13. +2 −31 deps/v8/src/compiler/pipeline.cc
  14. +21 −16 deps/v8/src/compiler/representation-change.h
  15. +39 −1 deps/v8/src/date.h
  16. +0 −8 deps/v8/src/factory.cc
  17. +0 −1 deps/v8/src/factory.h
  18. +1 −3 deps/v8/src/flag-definitions.h
  19. +1 −3 deps/v8/src/generator.js
  20. +14 −1 deps/v8/src/globals.h
  21. +4 −17 deps/v8/src/heap/heap-inl.h
  22. +7 −7 deps/v8/src/heap/heap.cc
  23. +0 −9 deps/v8/src/heap/heap.h
  24. +5 −4 deps/v8/src/heap/spaces.cc
  25. +4 −3 deps/v8/src/heap/store-buffer.cc
  26. +2 −11 deps/v8/src/hydrogen-instructions.cc
  27. +8 −6 deps/v8/src/hydrogen.cc
  28. +5 −3 deps/v8/src/isolate.cc
  29. +0 −1 deps/v8/src/isolate.h
  30. +43 −16 deps/v8/src/json-parser.h
  31. +2 −11 deps/v8/src/lookup.h
  32. +21 −1 deps/v8/src/math.js
  33. +0 −8 deps/v8/src/objects-inl.h
  34. +1 −2 deps/v8/src/objects-printer.cc
  35. +55 −41 deps/v8/src/objects.cc
  36. +0 −8 deps/v8/src/objects.h
  37. +0 −12 deps/v8/src/property-details-inl.h
  38. +0 −2 deps/v8/src/property-details.h
  39. +18 −78 deps/v8/src/runtime.cc
  40. +0 −1 deps/v8/src/runtime.h
  41. +1 −1 deps/v8/src/unique.h
  42. +1 −3 deps/v8/src/v8natives.js
  43. +2 −2 deps/v8/src/version.cc
  44. +5 −2 deps/v8/test/benchmarks/benchmarks.status
  45. +0 −1 deps/v8/test/cctest/compiler/graph-builder-tester.cc
  46. +12 −5 deps/v8/test/cctest/compiler/test-representation-change.cc
  47. +10 −10 deps/v8/test/cctest/compiler/test-simplified-lowering.cc
  48. +0 −26 deps/v8/test/cctest/test-api.cc
  49. +22 −0 deps/v8/test/cctest/test-spaces.cc
  50. +1 −2 deps/v8/test/compiler-unittests/DEPS
  51. +1 −1 deps/v8/test/compiler-unittests/arm/instruction-selector-arm-unittest.cc
  52. +0 −257 deps/v8/test/compiler-unittests/change-lowering-unittest.cc
  53. +0 −3 deps/v8/test/compiler-unittests/compiler-unittests.gyp
  54. +7 −16 deps/v8/test/compiler-unittests/compiler-unittests.h
  55. +2 −2 deps/v8/test/compiler-unittests/instruction-selector-unittest.cc
  56. +0 −454 deps/v8/test/compiler-unittests/node-matchers.cc
  57. +0 −71 deps/v8/test/compiler-unittests/node-matchers.h
  58. +0 −69 deps/v8/test/mjsunit/cross-realm-filtering.js
  59. +7 −10 deps/v8/test/mjsunit/es6/array-iterator.js
  60. +7 −38 deps/v8/test/mjsunit/es6/math-log1p.js
  61. +2 −2 deps/v8/test/mjsunit/es6/typed-array-iterator.js
  62. +1 −4 deps/v8/test/mjsunit/mjsunit.status
  63. +0 −55 deps/v8/test/mjsunit/own-symbols.js
  64. +314 −0 deps/v8/test/mjsunit/regress/regress-3116.js
  65. +22 −0 deps/v8/test/mjsunit/regress/regress-411210.js
  66. +18 −0 deps/v8/test/mjsunit/regress/regress-crbug-403409.js
  67. +12 −0 deps/v8/test/mjsunit/regress/regress-crbug-407946.js
  68. +10 −0 deps/v8/test/mjsunit/regress/regress-crbug-423687.js
  69. +18 −0 deps/v8/test/mjsunit/regress/regress-force-constant-representation.js
  70. +6 −0 deps/v8/test/mjsunit/regress/regress-json-parse-index.js
  71. +14 −0 deps/v8/test/mjsunit/regress/regress-reset-dictionary-elements.js
  72. +0 −5 deps/v8/test/mjsunit/runtime-gen/createprivateownsymbol.js
  73. +2,613 −0 deps/v8/test/mjsunit/tools/profviz-test.log
  74. +11 −0 deps/v8/test/mjsunit/tools/tickprocessor-test-func-info.log
  75. +25 −0 deps/v8/test/mjsunit/tools/tickprocessor-test.log
  76. +1 −1 deps/v8/test/webkit/fast/js/Object-getOwnPropertyNames-expected.txt
  77. +1 −1 deps/v8/test/webkit/fast/js/Object-getOwnPropertyNames.js
  78. +3 −0 deps/v8/test/webkit/webkit.status
  79. +0 −34 deps/v8/testing/gtest-type-names.h
  80. +0 −1 deps/v8/testing/gtest.gyp
  81. +1 −12 deps/v8/third_party/fdlibm/fdlibm.cc
  82. +2 −2 deps/v8/third_party/fdlibm/fdlibm.h
  83. +15 −177 deps/v8/third_party/fdlibm/fdlibm.js
  84. +3 −4 deps/v8/tools/generate-runtime-tests.py
  85. +1 −3 deps/v8/tools/gyp/v8.gyp
  86. +39 −4 deps/v8/tools/run-tests.py
  87. +11 −0 deps/v8/tools/v8.xcodeproj/README.txt
  88. +1 −1 deps/v8/tools/whitespace.txt
@@ -1,8 +1,3 @@
2014-08-13: Version 3.28.73

Performance and stability improvements on all platforms.


2014-08-12: Version 3.28.71

ToNumber(Symbol) should throw TypeError (issue 3499).
@@ -115,7 +115,7 @@
'Release': {
'variables': {
'v8_enable_extra_checks%': 0,
'v8_enable_handle_zapping%': 1,
'v8_enable_handle_zapping%': 0,
},
'conditions': [
['v8_enable_extra_checks==1', {
@@ -4186,17 +4186,6 @@ class V8_EXPORT Isolate {
*/
static Isolate* GetCurrent();

/**
* Custom callback used by embedders to help V8 determine if it should abort
* when it throws and no internal handler can catch the exception.
* If FLAG_abort_on_uncaught_exception is true, then V8 will abort if either:
* - no custom callback is set.
* - the custom callback set returns true.
* Otherwise it won't abort.
*/
typedef bool (*abort_on_uncaught_exception_t)();
void SetAbortOnUncaughtException(abort_on_uncaught_exception_t callback);

/**
* Methods below this point require holding a lock (using Locker) in
* a multi-threaded environment.
@@ -5543,6 +5543,11 @@ bool v8::String::CanMakeExternal() {
i::Handle<i::String> obj = Utils::OpenHandle(this);
i::Isolate* isolate = obj->GetIsolate();

// TODO(yangguo): Externalizing sliced/cons strings allocates.
// This rule can be removed when all code that can
// trigger an access check is handlified and therefore GC safe.
if (isolate->heap()->old_pointer_space()->Contains(*obj)) return false;

if (isolate->string_tracker()->IsFreshUnusedString(obj)) return false;
int size = obj->Size(); // Byte size of the original string.
if (size < i::ExternalString::kShortSize) return false;
@@ -6731,6 +6736,7 @@ void v8::Isolate::LowMemoryNotification() {
}
}


int v8::Isolate::ContextDisposedNotification() {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
return isolate->heap()->NotifyContextDisposed();
@@ -120,8 +120,8 @@ function ExtendArrayPrototype() {
%CheckIsBootstrapping();

InstallFunctions($Array.prototype, DONT_ENUM, $Array(
// No 'values' since it breaks webcompat: http://crbug.com/409858
'entries', ArrayEntries,
'values', ArrayValues,
'keys', ArrayKeys
));

@@ -1480,7 +1480,6 @@ function SetUpArray() {
find: true,
findIndex: true,
keys: true,
values: true,
};
%AddNamedProperty($Array.prototype, symbolUnscopables, unscopables,
DONT_ENUM | READ_ONLY);
@@ -608,8 +608,9 @@ void Thread::Join() {


void Thread::YieldCPU() {
const timespec delay = { 0, 1 };
nanosleep(&delay, NULL);
int result = sched_yield();
DCHECK_EQ(0, result);
USE(result);
}


@@ -2655,17 +2655,19 @@ Genesis::Genesis(Isolate* isolate,
NONE).Assert();

// Initialize trigonometric lookup tables and constants.
const int constants_size = ARRAY_SIZE(fdlibm::MathConstants::constants);
const int constants_size =
ARRAY_SIZE(fdlibm::TrigonometricConstants::constants);
const int table_num_bytes = constants_size * kDoubleSize;
v8::Local<v8::ArrayBuffer> trig_buffer = v8::ArrayBuffer::New(
reinterpret_cast<v8::Isolate*>(isolate),
const_cast<double*>(fdlibm::MathConstants::constants), table_num_bytes);
const_cast<double*>(fdlibm::TrigonometricConstants::constants),
table_num_bytes);
v8::Local<v8::Float64Array> trig_table =
v8::Float64Array::New(trig_buffer, 0, constants_size);

Runtime::DefineObjectProperty(
builtins,
factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("kMath")),
factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("kTrig")),
Utils::OpenHandle(*trig_table), NONE).Assert();
}

This file was deleted.