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

Issue 3295022: Handle global variables potentially shadowed by eval-introduced... (Closed)

Created:
10 years, 3 months ago by Mads Ager (chromium)
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Handle global variables potentially shadowed by eval-introduced variables in full-codegen. Committed: http://code.google.com/p/v8/source/detail?r=5430

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 8

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+268 lines, -33 lines) Patch
M src/arm/full-codegen-arm.cc View 1 2 6 chunks +84 lines, -11 lines 0 comments Download
M src/full-codegen.h View 1 2 2 chunks +6 lines, -0 lines 0 comments Download
M src/full-codegen.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 6 chunks +86 lines, -11 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 6 chunks +87 lines, -11 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Mads Ager (chromium)
10 years, 3 months ago (2010-09-09 09:35:55 UTC) #1
Kevin Millikin (Chromium)
http://codereview.chromium.org/3295022/diff/7001/8001 File src/arm/full-codegen-arm.cc (right): http://codereview.chromium.org/3295022/diff/7001/8001#newcode888 src/arm/full-codegen-arm.cc:888: Register context = cp; This code might be clearer ...
10 years, 3 months ago (2010-09-09 09:59:26 UTC) #2
Kasper Lund
LGTM. It should be very easy to add the typeof case. http://codereview.chromium.org/3295022/diff/7001/8001 File src/arm/full-codegen-arm.cc (right): ...
10 years, 3 months ago (2010-09-09 10:02:19 UTC) #3
Mads Ager (chromium)
10 years, 3 months ago (2010-09-09 10:43:41 UTC) #4
Thanks. I will enable the other cases separately.

http://codereview.chromium.org/3295022/diff/7001/8001
File src/arm/full-codegen-arm.cc (right):

http://codereview.chromium.org/3295022/diff/7001/8001#newcode888
src/arm/full-codegen-arm.cc:888: Register context = cp;
On 2010/09/09 09:59:26, Kevin Millikin wrote:
> This code might be clearer with some renaming:
> 
> Register current = cp;
> Register next = r1;
> Register temp = r2;
> ...
> 

Done.

http://codereview.chromium.org/3295022/diff/7001/8001#newcode897
src/arm/full-codegen-arm.cc:897: __ ldr(tmp2,
CodeGenerator::ContextOperand(context,
On 2010/09/09 10:02:19, Kasper Lund wrote:
> If the full codegen had a ContextOperand (maybe just wrapping the one in
> CodeGenerator) it would look nicer.

Done.

http://codereview.chromium.org/3295022/diff/7001/8001#newcode906
src/arm/full-codegen-arm.cc:906: context = tmp;
On 2010/09/09 09:59:26, Kevin Millikin wrote:
> // Walk the rest of the chain using a single register (without clobbering cp).
> current = next;

Done.

http://codereview.chromium.org/3295022/diff/7001/8001#newcode916
src/arm/full-codegen-arm.cc:916: __ Move(tmp, context);
On 2010/09/09 09:59:26, Kevin Millikin wrote:
> Don't you know statically whether you've walked up the context chain?  Could
you
> do
> 
> if (!tmp.is(context)) {
>   __ Move(tmp, context);
> }

Yes I do and I have exactly that conditional on the other platforms. Done.

Powered by Google App Engine
This is Rietveld 408576698