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

Issue 1484723003: [runtime] Use "the hole" instead of smi 0 as sentinel for context extension. (Closed)

Created:
5 years ago by Benedikt Meurer
Modified:
5 years ago
Reviewers:
Michael Starzinger
CC:
v8-reviews_googlegroups.com, Yang
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[runtime] Use "the hole" instead of smi 0 as sentinel for context extension. This way we avoid the %_IsSmi magic that is required in TurboFan to (efficiently) check abitrary context slots for smi 0. Checking against "the hole" is common in the AstGraphBuilder and "the hole" is also used to mark other context slots as not initialized. R=mstarzinger@chromium.org Committed: https://crrev.com/9e6448813d41858c3f879ecde41b13bda0770673 Cr-Commit-Position: refs/heads/master@{#32407}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Address comment. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+119 lines, -96 lines) Patch
M src/code-stubs-hydrogen.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/ast-graph-builder.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M src/compiler/js-typed-lowering.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/typer.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/contexts.h View 2 chunks +3 lines, -3 lines 0 comments Download
M src/contexts.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M src/contexts-inl.h View 1 chunk +7 lines, -3 lines 0 comments Download
M src/debug/debug-evaluate.h View 3 chunks +3 lines, -3 lines 0 comments Download
M src/debug/debug-evaluate.cc View 3 chunks +5 lines, -6 lines 0 comments Download
M src/debug/debug-scopes.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/factory.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 3 chunks +8 lines, -12 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 3 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 3 chunks +12 lines, -14 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 3 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 3 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 3 chunks +12 lines, -14 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 2 chunks +12 lines, -0 lines 0 comments Download
M src/profiler/heap-snapshot-generator.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime-debug.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/runtime/runtime-scopes.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/x64/macro-assembler-x64.h View 2 chunks +12 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Benedikt Meurer
5 years ago (2015-11-30 12:47:12 UTC) #1
Benedikt Meurer
Hey Michi, Here's the cleanup for the extension slot. Please take a look. Thanks, Benedikt
5 years ago (2015-11-30 12:47:50 UTC) #2
Michael Starzinger
LGTM. https://codereview.chromium.org/1484723003/diff/1/src/runtime/runtime-scopes.cc File src/runtime/runtime-scopes.cc (right): https://codereview.chromium.org/1484723003/diff/1/src/runtime/runtime-scopes.cc#newcode309 src/runtime/runtime-scopes.cc:309: context->set_extension(HeapObject::cast(*object)); nit: Explicit cast should not be necessary, ...
5 years ago (2015-11-30 13:02:48 UTC) #3
Benedikt Meurer
https://codereview.chromium.org/1484723003/diff/1/src/runtime/runtime-scopes.cc File src/runtime/runtime-scopes.cc (right): https://codereview.chromium.org/1484723003/diff/1/src/runtime/runtime-scopes.cc#newcode309 src/runtime/runtime-scopes.cc:309: context->set_extension(HeapObject::cast(*object)); On 2015/11/30 13:02:48, Michael Starzinger wrote: > nit: ...
5 years ago (2015-11-30 13:04:20 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1484723003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1484723003/20001
5 years ago (2015-11-30 13:04:36 UTC) #7
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years ago (2015-11-30 13:23:08 UTC) #8
commit-bot: I haz the power
5 years ago (2015-11-30 13:23:36 UTC) #10
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/9e6448813d41858c3f879ecde41b13bda0770673
Cr-Commit-Position: refs/heads/master@{#32407}

Powered by Google App Engine
This is Rietveld 408576698