Cleanup deoptimizer relocation slot preparation.
authormstarzinger <mstarzinger@chromium.org>
Fri, 5 Dec 2014 13:01:58 +0000 (05:01 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 5 Dec 2014 13:02:13 +0000 (13:02 +0000)
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/782703002

Cr-Commit-Position: refs/heads/master@{#25680}

15 files changed:
src/arm/deoptimizer-arm.cc
src/arm64/deoptimizer-arm64.cc
src/compiler/arm/code-generator-arm.cc
src/compiler/arm64/code-generator-arm64.cc
src/compiler/code-generator.cc
src/compiler/code-generator.h
src/compiler/ia32/code-generator-ia32.cc
src/compiler/mips/code-generator-mips.cc
src/compiler/mips64/code-generator-mips64.cc
src/compiler/x64/code-generator-x64.cc
src/ia32/deoptimizer-ia32.cc
src/mips/deoptimizer-mips.cc
src/mips64/deoptimizer-mips64.cc
src/x64/deoptimizer-x64.cc
src/x87/deoptimizer-x87.cc

index 0455a3ba679a50314836bfa0b9d65be18687ed96..b3a6173cf0de82622b26fabe8b905455d3df1929 100644 (file)
@@ -21,6 +21,12 @@ int Deoptimizer::patch_size() {
 }
 
 
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+  // Empty because there is no need for relocation information for the code
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
 void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
   Address code_start_address = code->instruction_start();
   // Invalidate the relocation information, as it will become invalid by the
index d67dc8fcd9b06f8f1ed0e31e30f47019ae00520a..b83bbbe121e52d6d8cbcc56baab5a4eaa41dcb48 100644 (file)
@@ -21,6 +21,11 @@ int Deoptimizer::patch_size() {
 }
 
 
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+  // Empty because there is no need for relocation information for the code
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
 
 void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
   // Invalidate the relocation information, as it will become invalid by the
index 9e0dc903f4d8f53d564d0c96c9a855d2fcf93b52..f2489a4676aa2c694c68e980566243495ef11db0 100644 (file)
@@ -1104,9 +1104,6 @@ void CodeGenerator::EnsureSpaceForLazyDeopt() {
   MarkLazyDeoptSite();
 }
 
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
 #undef __
 
 }  // namespace compiler
index 0b21f90c86664f17d2a87e87e99931be868d4b9d..62145cb445ac56e5758e8a75d05c2a2801904af7 100644 (file)
@@ -1159,9 +1159,6 @@ void CodeGenerator::EnsureSpaceForLazyDeopt() {
   MarkLazyDeoptSite();
 }
 
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
 #undef __
 
 }  // namespace compiler
index 4f13b4cfe5beee4c78727d1ec086bab457036808..09438f912e35c8fe23e43d67423200a46a1fb83c 100644 (file)
@@ -84,7 +84,7 @@ Handle<Code> CodeGenerator::GenerateCode() {
 
   FinishCode(masm());
 
-  // Ensure there is space for lazy deopt.
+  // Ensure there is space for lazy deoptimization in the code.
   if (!info->IsStub()) {
     int target_offset = masm()->pc_offset() + Deoptimizer::patch_size();
     while (masm()->pc_offset() < target_offset) {
@@ -107,7 +107,10 @@ Handle<Code> CodeGenerator::GenerateCode() {
 
   PopulateDeoptimizationData(result);
 
-  EnsureRelocSpaceForLazyDeopt(result);
+  // Ensure there is space for lazy deoptimization in the relocation info.
+  if (!info->IsStub()) {
+    Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(result);
+  }
 
   // Emit a code line info recording stop event.
   void* line_info = recorder->DetachJITHandlerData();
index e852e2bb45929c6de36b1a3f90ad2e0abd867ca2..46610dbde7f5f9cc9796b1215141ae754b00b255 100644 (file)
@@ -109,7 +109,6 @@ class CodeGenerator FINAL : public GapResolver::Assembler {
                                 InstructionOperand* op, MachineType type);
   void AddNopForSmiCodeInlining();
   void EnsureSpaceForLazyDeopt();
-  void EnsureRelocSpaceForLazyDeopt(Handle<Code> code);
   void MarkLazyDeoptSite();
 
   // ===========================================================================
index bc44ac77a1b2291d675b9e02491a6188374078fd..aa1cd547f87a01bddeee98aaa703e5374d691228 100644 (file)
@@ -1215,11 +1215,6 @@ void CodeGenerator::EnsureSpaceForLazyDeopt() {
   MarkLazyDeoptSite();
 }
 
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {
-  Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(code);
-}
-
 #undef __
 
 }  // namespace compiler
index 16e963731120d7be66e7a2e0bfe8336480cc3ce8..b808856dc011e6654514067036386be82d137e2c 100644 (file)
@@ -1105,9 +1105,6 @@ void CodeGenerator::EnsureSpaceForLazyDeopt() {
   MarkLazyDeoptSite();
 }
 
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
 #undef __
 
 }  // namespace compiler
index 50437411f87c3ec802ee0438cb5c9bf97a967c92..8e94ceed2126841ab08b5e5897ccb4621b2be0c9 100644 (file)
@@ -1380,9 +1380,6 @@ void CodeGenerator::EnsureSpaceForLazyDeopt() {
   MarkLazyDeoptSite();
 }
 
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
 #undef __
 
 }  // namespace compiler
index 471704590ca0605d8d8e363d9198932e35ef295c..f2679b0391b01f25dca742d011352471dbee4c7a 100644 (file)
@@ -1249,9 +1249,6 @@ void CodeGenerator::EnsureSpaceForLazyDeopt() {
   MarkLazyDeoptSite();
 }
 
-
-void CodeGenerator::EnsureRelocSpaceForLazyDeopt(Handle<Code> code) {}
-
 #undef __
 
 }  // namespace internal
index f40e23c0f3519c05373b17368e59634855f3e26b..e451fcc9e6fa0fa40f47034d9abb655d32c59318 100644 (file)
@@ -27,7 +27,7 @@ void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
   HandleScope scope(isolate);
 
   // Compute the size of relocation information needed for the code
-  // patching in Deoptimizer::DeoptimizeFunction.
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
   int min_reloc_size = 0;
   int prev_pc_offset = 0;
   DeoptimizationInputData* deopt_data =
index b40d7f45ff92e300a9e6cb15e2a94124f00d9ac6..e39b3689789acebd80c7229726cfb2b3fdc9e64c 100644 (file)
@@ -20,6 +20,12 @@ int Deoptimizer::patch_size() {
 }
 
 
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+  // Empty because there is no need for relocation information for the code
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
 void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
   Address code_start_address = code->instruction_start();
   // Invalidate the relocation information, as it will become invalid by the
index f903f465655ae943fcbcd09629e9591433699b6b..d7a7f05fce333b0277ddc08f3a206d0ec5fa4e42 100644 (file)
@@ -19,6 +19,12 @@ int Deoptimizer::patch_size() {
 }
 
 
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+  // Empty because there is no need for relocation information for the code
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
 void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
   Address code_start_address = code->instruction_start();
   // Invalidate the relocation information, as it will become invalid by the
index 16b0cdcd1ba434abcdcc7d70302179cbbe97f616..54fe9b0cfeeb2466597828d55f316fa220b88c51 100644 (file)
@@ -23,6 +23,12 @@ int Deoptimizer::patch_size() {
 }
 
 
+void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
+  // Empty because there is no need for relocation information for the code
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
+}
+
+
 void Deoptimizer::PatchCodeForDeoptimization(Isolate* isolate, Code* code) {
   // Invalidate the relocation information, as it will become invalid by the
   // code patching below, and is not needed any more.
index a76c7a709d29c1d1fa59dd9375a27bcedd4bad7a..0e53a0e8db93fef860fd0668b51d9da11a4f0b6e 100644 (file)
@@ -27,7 +27,7 @@ void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
   HandleScope scope(isolate);
 
   // Compute the size of relocation information needed for the code
-  // patching in Deoptimizer::DeoptimizeFunction.
+  // patching in Deoptimizer::PatchCodeForDeoptimization below.
   int min_reloc_size = 0;
   int prev_pc_offset = 0;
   DeoptimizationInputData* deopt_data =