Reviewers: danno, Dmitry Lomov (chromium), paul.l..., gergely.kis.imgtec,
akos.palfi.imgtec, dusmil.imgtec,
Description:
MIPS: Fix assertion in full codegen for holed 'this'.
Port 275e088abec213aa0be3eef748926e4be2c5c79f
BUG=chromium:455141
LOG=N
Please review this at https://codereview.chromium.org/876083006/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+4, -2 lines):
M src/mips/full-codegen-mips.cc
M src/mips64/full-codegen-mips64.cc
Index: src/mips/full-codegen-mips.cc
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc
index
4ad24e882984674342b859d7d09f44314b303b8c..dc4b40b34399c8e6fcb862dbe6e88c117dd2867a
100644
--- a/src/mips/full-codegen-mips.cc
+++ b/src/mips/full-codegen-mips.cc
@@ -1522,7 +1522,8 @@ void
FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
if (var->scope()->DeclarationScope() !=
scope()->DeclarationScope()) {
skip_init_check = false;
} else if (var->is_this()) {
- CHECK((info_->shared_info()->kind() & kSubclassConstructor) !=
0);
+ CHECK(info_->function() != nullptr &&
+ (info_->function()->kind() & kSubclassConstructor) != 0);
// TODO(dslomov): implement 'this' hole check elimination.
skip_init_check = false;
} else {
Index: src/mips64/full-codegen-mips64.cc
diff --git a/src/mips64/full-codegen-mips64.cc
b/src/mips64/full-codegen-mips64.cc
index
7aeb11839d5d91f9e8806bf9739d6105d51eddd3..2653728d296c8854dbf48d59b02521d503e59473
100644
--- a/src/mips64/full-codegen-mips64.cc
+++ b/src/mips64/full-codegen-mips64.cc
@@ -1519,7 +1519,8 @@ void
FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
if (var->scope()->DeclarationScope() !=
scope()->DeclarationScope()) {
skip_init_check = false;
} else if (var->is_this()) {
- CHECK((info_->shared_info()->kind() & kSubclassConstructor) !=
0);
+ CHECK(info_->function() != nullptr &&
+ (info_->function()->kind() & kSubclassConstructor) != 0);
// TODO(dslomov): implement 'this' hole check elimination.
skip_init_check = false;
} else {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.