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

Unified Diff: src/arm64/lithium-codegen-arm64.h

Issue 582743002: Emit comment with instruction+reason before deopt calls. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebased Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/arm64/lithium-codegen-arm64.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm64/lithium-codegen-arm64.h
diff --git a/src/arm64/lithium-codegen-arm64.h b/src/arm64/lithium-codegen-arm64.h
index 4ee8a8bba6dfbdb15a27bb054c37c9cb7c0d789c..40fbc381cc4bca24a05ce38742f786ef34a1639b 100644
--- a/src/arm64/lithium-codegen-arm64.h
+++ b/src/arm64/lithium-codegen-arm64.h
@@ -27,7 +27,7 @@ class LCodeGen: public LCodeGenBase {
LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info)
: LCodeGenBase(chunk, assembler, info),
deoptimizations_(4, info->zone()),
- deopt_jump_table_(4, info->zone()),
+ jump_table_(4, info->zone()),
deoptimization_literals_(8, info->zone()),
inlined_function_count_(0),
scope_(info->scope()),
@@ -213,24 +213,35 @@ class LCodeGen: public LCodeGenBase {
Register temp,
LOperand* index,
String::Encoding encoding);
- void DeoptimizeBranch(LInstruction* instr, BranchType branch_type,
- Register reg = NoReg, int bit = -1,
+ void DeoptimizeBranch(LInstruction* instr, const char* reason,
+ BranchType branch_type, Register reg = NoReg,
+ int bit = -1,
Deoptimizer::BailoutType* override_bailout_type = NULL);
void Deoptimize(LInstruction* instr,
- Deoptimizer::BailoutType* override_bailout_type = NULL);
- void DeoptimizeIf(Condition cond, LInstruction* instr);
- void DeoptimizeIfZero(Register rt, LInstruction* instr);
- void DeoptimizeIfNotZero(Register rt, LInstruction* instr);
- void DeoptimizeIfNegative(Register rt, LInstruction* instr);
- void DeoptimizeIfSmi(Register rt, LInstruction* instr);
- void DeoptimizeIfNotSmi(Register rt, LInstruction* instr);
+ Deoptimizer::BailoutType* override_bailout_type = NULL,
+ const char* reason = NULL);
+ void DeoptimizeIf(Condition cond, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfZero(Register rt, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfNotZero(Register rt, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfNegative(Register rt, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfSmi(Register rt, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfNotSmi(Register rt, LInstruction* instr,
+ const char* reason = NULL);
void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index,
- LInstruction* instr);
+ LInstruction* instr, const char* reason = NULL);
void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index,
- LInstruction* instr);
- void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr);
- void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr);
- void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr);
+ LInstruction* instr, const char* reason = NULL);
+ void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr,
+ const char* reason = NULL);
+ void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr,
+ const char* reason = NULL);
MemOperand PrepareKeyedExternalArrayOperand(Register key,
Register base,
@@ -273,7 +284,7 @@ class LCodeGen: public LCodeGenBase {
void GenerateBodyInstructionPre(LInstruction* instr) OVERRIDE;
bool GeneratePrologue();
bool GenerateDeferredCode();
- bool GenerateDeoptJumpTable();
+ bool GenerateJumpTable();
bool GenerateSafepointTable();
// Generates the custom OSR entrypoint and sets the osr_pc_offset.
@@ -338,7 +349,7 @@ class LCodeGen: public LCodeGenBase {
void EnsureSpaceForLazyDeopt(int space_needed) OVERRIDE;
ZoneList<LEnvironment*> deoptimizations_;
- ZoneList<Deoptimizer::JumpTableEntry*> deopt_jump_table_;
+ ZoneList<Deoptimizer::JumpTableEntry*> jump_table_;
ZoneList<Handle<Object> > deoptimization_literals_;
int inlined_function_count_;
Scope* const scope_;
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/arm64/lithium-codegen-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698