| Index: test/mjsunit/regress/regress-fundecl.js
|
| diff --git a/test/mjsunit/regress/regress-1110.js b/test/mjsunit/regress/regress-fundecl.js
|
| similarity index 82%
|
| copy from test/mjsunit/regress/regress-1110.js
|
| copy to test/mjsunit/regress/regress-fundecl.js
|
| index 204a87ba3d16743a945fb2fb5817538fd43e7315..fddb5895eb0d0e0786edb785e3aaffe80fef8369 100644
|
| --- a/test/mjsunit/regress/regress-1110.js
|
| +++ b/test/mjsunit/regress/regress-fundecl.js
|
| @@ -25,14 +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.
|
|
|
| -// Test that the illegal continue is thrown at parse time.
|
| +// Flags: --allow-natives-syntax
|
|
|
| -try {
|
| - function Crash() { continue;if (Crash) {
|
| - } }
|
| - Crash();
|
| - assertTrue(false);
|
| -} catch (e) {
|
| - assertTrue(e instanceof SyntaxError);
|
| - assertTrue(/continue/.test(e.message));
|
| +// Test hoisting of function declarations in the optimizing
|
| +// compiler in case of deoptimization.
|
| +
|
| +function h(a, b) {
|
| + var r = a + b;
|
| + function X() { return 42; }
|
| + return r + X();
|
| }
|
| +
|
| +for (var i = 0; i < 5; i++) h(1,2);
|
| +
|
| +%OptimizeFunctionOnNextCall(h);
|
| +
|
| +assertEquals(45, h(1,2));
|
| +assertEquals("foo742", h("foo", 7));
|
|
|