Browse Source

deps: update v8 to 3.15.11.7

v0.9.7-release
Fedor Indutny 12 years ago
parent
commit
d22bd9e3c4
  1. 11
      deps/v8/build/common.gypi
  2. 5
      deps/v8/src/deoptimizer.cc
  3. 1
      deps/v8/src/string.js
  4. 2
      deps/v8/src/version.cc
  5. 33
      deps/v8/test/mjsunit/regress/regress-166553.js

11
deps/v8/build/common.gypi

@ -160,7 +160,7 @@
[ 'v8_use_arm_eabi_hardfloat=="true"', { [ 'v8_use_arm_eabi_hardfloat=="true"', {
'defines': [ 'defines': [
'USE_EABI_HARDFLOAT=1', 'USE_EABI_HARDFLOAT=1',
'CAN_USE_VFP2_INSTRUCTIONS', 'CAN_USE_VFP3_INSTRUCTIONS',
], ],
'target_conditions': [ 'target_conditions': [
['_toolset=="target"', { ['_toolset=="target"', {
@ -399,6 +399,15 @@
}], }],
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \
or OS=="android"', { or OS=="android"', {
'cflags!': [
'-O2',
'-Os',
],
'cflags': [
'-fdata-sections',
'-ffunction-sections',
'-O3',
],
'conditions': [ 'conditions': [
[ 'gcc_version==44 and clang==0', { [ 'gcc_version==44 and clang==0', {
'cflags': [ 'cflags': [

5
deps/v8/src/deoptimizer.cc

@ -1411,8 +1411,9 @@ void Deoptimizer::EnsureCodeForDeoptimizationEntry(BailoutType type,
? data->eager_deoptimization_entry_code_entries_ ? data->eager_deoptimization_entry_code_entries_
: data->lazy_deoptimization_entry_code_entries_; : data->lazy_deoptimization_entry_code_entries_;
if (max_entry_id < entry_count) return; if (max_entry_id < entry_count) return;
entry_count = Min(Max(entry_count * 2, Deoptimizer::kMinNumberOfEntries), entry_count = Max(entry_count, Deoptimizer::kMinNumberOfEntries);
Deoptimizer::kMaxNumberOfEntries); while (max_entry_id >= entry_count) entry_count *= 2;
ASSERT(entry_count <= Deoptimizer::kMaxNumberOfEntries);
MacroAssembler masm(Isolate::Current(), NULL, 16 * KB); MacroAssembler masm(Isolate::Current(), NULL, 16 * KB);
masm.set_emit_debug_code(false); masm.set_emit_debug_code(false);

1
deps/v8/src/string.js

@ -824,6 +824,7 @@ function StringFromCharCode(code) {
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
var code = %_Arguments(i); var code = %_Arguments(i);
if (!%_IsSmi(code)) code = ToNumber(code) & 0xffff; if (!%_IsSmi(code)) code = ToNumber(code) & 0xffff;
if (code < 0) code = code & 0xffff;
if (code > 0x7f) break; if (code > 0x7f) break;
%_OneByteSeqStringSetChar(one_byte, i, code); %_OneByteSeqStringSetChar(one_byte, i, code);
} }

2
deps/v8/src/version.cc

@ -35,7 +35,7 @@
#define MAJOR_VERSION 3 #define MAJOR_VERSION 3
#define MINOR_VERSION 15 #define MINOR_VERSION 15
#define BUILD_NUMBER 11 #define BUILD_NUMBER 11
#define PATCH_LEVEL 5 #define PATCH_LEVEL 7
// Use 1 for candidates and 0 otherwise. // Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.) // (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0 #define IS_CANDIDATE_VERSION 0

33
deps/v8/test/mjsunit/regress/regress-166553.js

@ -0,0 +1,33 @@
// Copyright 2012 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.
// Flags: --expose_gc
JSON.stringify(String.fromCharCode(1, -11).toString())
gc();
var s = String.fromCharCode(1, -11)
assertEquals(65525, s.charCodeAt(1))
Loading…
Cancel
Save