| Index: test/mjsunit/parallel-recompilation.js
|
| diff --git a/test/mjsunit/regress/regress-crbug-168545.js b/test/mjsunit/parallel-recompilation.js
|
| similarity index 78%
|
| copy from test/mjsunit/regress/regress-crbug-168545.js
|
| copy to test/mjsunit/parallel-recompilation.js
|
| index acc065e41101325dd9b105f73e50748b1c9cff13..75403656f6a5b63e259251631521d34b85fdb2f2 100644
|
| --- a/test/mjsunit/regress/regress-crbug-168545.js
|
| +++ b/test/mjsunit/parallel-recompilation.js
|
| @@ -25,10 +25,20 @@
|
| // (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: --allow-natives-syntax
|
| +// Flags: --parallel-recompilation --manual-parallel-recompilation
|
| +
|
| +function f(foo) { return foo.bar(); }
|
| +
|
| var o = {};
|
| -Object.defineProperty(o, "length", { get: function() { throw "bail"; }});
|
| -assertThrows("new Int16Array(o);");
|
| +o.__proto__ = { __proto__: { bar: function() { return 1; } } };
|
| +
|
| +assertEquals(1, f(o));
|
| +assertEquals(1, f(o));
|
| +
|
| +%ForceParallelRecompile(f);
|
| +// Change the prototype chain during optimization.
|
| +o.__proto__.__proto__ = { bar: function() { return 2; } };
|
| +%InstallRecompiledCode(f);
|
|
|
| -var a = [];
|
| -Object.defineProperty(a, "0", { get: function() { throw "bail"; }});
|
| -assertThrows("new Int16Array(a);");
|
| +assertEquals(2, f(o));
|
|
|