Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Issue 9425061: On ia32 LFunctionLiteral instruction should get context from esi register instead of stack slot. (Closed)

Created:
8 years, 10 months ago by Vyacheslav Egorov (Chromium)
Modified:
8 years, 10 months ago
Reviewers:
Michael Starzinger
CC:
v8-dev
Visibility:
Public.

Description

On ia32 LFunctionLiteral instruction should get context from esi register instead of stack slot. This makes LFunctionLiteral safe even when it is used from inside inlined function. All other architectures were implementing LFunctionLiteral correctly. R=mstarzinger@chromium.org TEST=test/mjsunit/regress/regress-inlining-function-literal-context.js Committed: https://code.google.com/p/v8/source/detail?r=10778

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -1 line) Patch
M src/ia32/lithium-codegen-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
A test/mjsunit/regress/regress-inlining-function-literal-context.js View 1 chunk +53 lines, -0 lines 1 comment Download

Messages

Total messages: 2 (0 generated)
Vyacheslav Egorov (Chromium)
8 years, 10 months ago (2012-02-21 12:01:59 UTC) #1
Michael Starzinger
8 years, 10 months ago (2012-02-21 12:06:40 UTC) #2
LGTM (with a comment).

https://chromiumcodereview.appspot.com/9425061/diff/1/test/mjsunit/regress/re...
File test/mjsunit/regress/regress-inlining-function-literal-context.js (right):

https://chromiumcodereview.appspot.com/9425061/diff/1/test/mjsunit/regress/re...
test/mjsunit/regress/regress-inlining-function-literal-context.js:50:
assertArrayEquals([1], foo(10));
Is there a particular reason you call foo() with 10 as an argument?

Powered by Google App Engine
This is Rietveld 408576698