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

Issue 9453009: MIPS: Support fast case for-in in Crankshaft. (Closed)

Created:
8 years, 10 months ago by kalmard
Modified:
8 years, 9 months ago
CC:
v8-dev
Visibility:
Public.

Description

MIPS: Support fast case for-in in Crankshaft. Port r10794 (654fe910). Original commit message: Only JSObject enumerables with enum cache (fast case properties, no interceptors, no enumerable properties on the prototype) are supported. HLoadKeyedGeneric with keys produced by for-in enumeration are recognized and rewritten into direct property load by index. For this enum-cache was extended to store property indices in a separate array (see handles.cc). New hydrogen instructions: - HForInPrepareMap: checks for-in fast case preconditions and returns map that contains enum-cache; - HForInCacheArray: extracts enum-cache array from the map; - HCheckMapValue: map check with HValue map instead of immediate; - HLoadFieldByIndex: load fast property by it's index, positive indexes denote in-object properties, negative - out of object properties; Changed hydrogen instructions: - HLoadKeyedFastElement: added hole check suppression for loads from internal FixedArrays that are knows to have no holes inside. BUG= TEST= Committed: https://code.google.com/p/v8/source/detail?r=10865

Patch Set 1 #

Patch Set 2 : rebased on r10833. #

Patch Set 3 : rebased on r10858. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+225 lines, -43 lines) Patch
M src/mips/full-codegen-mips.cc View 1 2 7 chunks +7 lines, -42 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 1 chunk +83 lines, -0 lines 0 comments Download
M src/mips/lithium-mips.h View 1 2 2 chunks +61 lines, -1 line 0 comments Download
M src/mips/lithium-mips.cc View 1 2 1 chunk +28 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 chunk +42 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
kalmard
8 years, 10 months ago (2012-02-23 13:33:49 UTC) #1
kalmard
rebased on r10833.
8 years, 10 months ago (2012-02-25 10:07:53 UTC) #2
kalmard
rebased on r10858.
8 years, 9 months ago (2012-02-28 14:32:57 UTC) #3
Vyacheslav Egorov (Chromium)
lgtm
8 years, 9 months ago (2012-02-29 11:58:49 UTC) #4
Vyacheslav Egorov (Chromium)
8 years, 9 months ago (2012-02-29 12:06:16 UTC) #5
landed

Powered by Google App Engine
This is Rietveld 408576698