Add a bailout id just before every variable load in fullcode.
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1139733002 Cr-Commit-Position: refs/heads/master@{#28344}
This commit is contained in:
parent
aefba70586
commit
694890790d
@ -1493,6 +1493,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1472,6 +1472,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1621,6 +1621,9 @@ class VariableProxy final : public Expression {
|
||||
return variable_feedback_slot_;
|
||||
}
|
||||
|
||||
static int num_ids() { return parent_num_ids() + 1; }
|
||||
BailoutId BeforeId() const { return BailoutId(local_id(0)); }
|
||||
|
||||
protected:
|
||||
VariableProxy(Zone* zone, Variable* var, int start_position,
|
||||
int end_position);
|
||||
@ -1628,6 +1631,8 @@ class VariableProxy final : public Expression {
|
||||
VariableProxy(Zone* zone, const AstRawString* name,
|
||||
Variable::Kind variable_kind, int start_position,
|
||||
int end_position);
|
||||
static int parent_num_ids() { return Expression::num_ids(); }
|
||||
int local_id(int n) const { return base_id() + parent_num_ids() + n; }
|
||||
|
||||
class IsThisField : public BitField8<bool, 0, 1> {};
|
||||
class IsAssignedField : public BitField8<bool, 1, 1> {};
|
||||
|
@ -1419,6 +1419,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1477,6 +1477,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1474,6 +1474,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1451,6 +1451,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1454,6 +1454,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
@ -1411,6 +1411,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy,
|
||||
void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Record position before possible IC call.
|
||||
SetSourcePosition(proxy->position());
|
||||
PrepareForBailoutForId(proxy->BeforeId(), NO_REGISTERS);
|
||||
Variable* var = proxy->var();
|
||||
|
||||
// Three cases: global variables, lookup variables, and all other types of
|
||||
|
Loading…
Reference in New Issue
Block a user