Browse Source

deps: upgrade v8 to 4.1.0.14

PR-URL: https://github.com/iojs/io.js/pull/656
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
v1.8.0-commit
Ben Noordhuis 10 years ago
parent
commit
cbc1262bd9
  1. 7
      deps/v8/src/compiler/representation-change.h
  2. 2
      deps/v8/src/version.cc
  3. 17
      deps/v8/test/mjsunit/compiler/regress-bit-number-constant.js

7
deps/v8/src/compiler/representation-change.h

@ -296,6 +296,13 @@ class RepresentationChanger {
if (value == 0 || value == 1) return node;
return jsgraph()->Int32Constant(1); // value != 0
}
case IrOpcode::kNumberConstant: {
double value = OpParameter<double>(node);
if (std::isnan(value) || value == 0.0) {
return jsgraph()->Int32Constant(0);
}
return jsgraph()->Int32Constant(1);
}
case IrOpcode::kHeapConstant: {
Handle<Object> handle = OpParameter<Unique<Object> >(node).handle();
DCHECK(*handle == isolate()->heap()->true_value() ||

2
deps/v8/src/version.cc

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

17
deps/v8/test/mjsunit/compiler/regress-bit-number-constant.js

@ -0,0 +1,17 @@
// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
var stdlib = this;
var buffer = new ArrayBuffer(64 * 1024);
var foreign = {}
var foo = (function Module(stdlib, foreign, heap) {
"use asm";
function foo(i) {
return !(i ? 1 : false);
}
return {foo:foo};
})(stdlib, foreign, buffer).foo;
assertFalse(foo(1));
Loading…
Cancel
Save