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

Issue 521041: Improve keyed loads on strings by using a new stub (Closed)

Created:
10 years, 11 months ago by fschneider
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Improve keyed loads on strings by using a new stub. Instead of going through a runtime function for keyed loads on strings we invoke a separate specialized stub that assumes string as receiver type and the key to be a number. The stub calls a JS builtin function to return the corresponding one-character string. Committed: http://code.google.com/p/v8/source/detail?r=3556

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 7

Patch Set 6 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -9 lines) Patch
M src/builtins.h View 1 2 chunks +3 lines, -1 line 0 comments Download
M src/builtins.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/ia32/ic-ia32.cc View 1 2 3 4 5 1 chunk +42 lines, -0 lines 0 comments Download
M src/ic.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M src/ic.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/runtime.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime.cc View 2 chunks +19 lines, -7 lines 0 comments Download
M src/runtime.js View 1 2 3 4 1 chunk +11 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
fschneider
10 years, 11 months ago (2010-01-07 09:35:41 UTC) #1
Kasper Lund
LGTM. http://codereview.chromium.org/521041/diff/3005/4018 File src/ia32/ic-ia32.cc (right): http://codereview.chromium.org/521041/diff/3005/4018#newcode402 src/ia32/ic-ia32.cc:402: __ pop(eax); // return address Maybe add a ...
10 years, 11 months ago (2010-01-07 09:58:58 UTC) #2
fschneider
http://codereview.chromium.org/521041/diff/3005/4018 File src/ia32/ic-ia32.cc (right): http://codereview.chromium.org/521041/diff/3005/4018#newcode402 src/ia32/ic-ia32.cc:402: __ pop(eax); // return address On 2010/01/07 09:58:58, Kasper ...
10 years, 11 months ago (2010-01-07 10:23:55 UTC) #3
Kevin Millikin (Chromium)
10 years, 11 months ago (2010-01-07 10:26:33 UTC) #4
LGTM.

http://codereview.chromium.org/521041/diff/3005/4018
File src/ia32/ic-ia32.cc (right):

http://codereview.chromium.org/521041/diff/3005/4018#newcode407
src/ia32/ic-ia32.cc:407: __ mov(ecx, FieldOperand(ebx, HeapObject::kMapOffset));
The next three instructions are abstracted as
MacroAssembler::IsObjectStringType:

Condition is_string = masm->IsObjectStringType(ebx, ecx, ecx);
__ j(NegateCondition(is_string), &miss);

Powered by Google App Engine
This is Rietveld 408576698