Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 47cddd0a10dce599dd3f353e7d19fbfa99abca92..c53ff7ae0293e53079bb69144c8f06f9315da5ca 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -4281,6 +4281,11 @@ void HOptimizedGraphBuilder::VisitExpressions(ZoneList<Expression*>* exprs, |
bool HOptimizedGraphBuilder::BuildGraph() { |
+ if (IsSubclassConstructor(current_info()->function()->kind())) { |
+ Bailout(kSuperReference); |
+ return false; |
+ } |
+ |
Scope* scope = current_info()->scope(); |
SetUpScope(scope); |
@@ -7565,7 +7570,8 @@ HInstruction* HOptimizedGraphBuilder::BuildCallConstantFunction( |
HValue* target = Add<HConstant>(jsfun); |
// For constant functions, we try to avoid calling the |
// argument adaptor and instead call the function directly |
- int formal_parameter_count = jsfun->shared()->formal_parameter_count(); |
+ int formal_parameter_count = |
+ jsfun->shared()->internal_formal_parameter_count(); |
bool dont_adapt_arguments = |
(formal_parameter_count == |
SharedFunctionInfo::kDontAdaptArgumentsSentinel); |