8330178b4c
version of the keyed load stub (https://code.google.com/p/v8/source/detail?r=24661), I allowed polymorphism between string and non-string types in the IC. Before, the IC would go generic. Then, at crankshaft time, we special case when we only saw strings. The error here is that crankshaft can't emit code that handles polymorphism between string and non-string types. The choice is either to get that to happen (I don't deem this necessary from a performance point of view, an IC with such type feedback before would have gone generic), or simply check for the case of "polymorphic with some string maps" and require crankshaft to go generic. I'll do the latter. BUG=425519 LOG=N R=jarin@chromium.org Review URL: https://codereview.chromium.org/667923004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
16 lines
323 B
JavaScript
16 lines
323 B
JavaScript
// Copyright 2014 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.
|
|
|
|
// Flags: --allow-natives-syntax
|
|
|
|
function load(a, i) {
|
|
return a[i];
|
|
}
|
|
|
|
load([]);
|
|
load(0);
|
|
load("x", 0);
|
|
%OptimizeFunctionOnNextCall(load);
|
|
load([], 0);
|