diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-10-18 15:03:02 -0700 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-10-18 17:01:41 -0700 |
commit | 3d1b3df9486c0e7708065257f7311902f6b7b366 (patch) | |
tree | cb051bdeaead11e06dcd97725783e0f113afb1bf /deps/v8/src/mips64/deoptimizer-mips64.cc | |
parent | e2cddbb8ccdb7b3c4a40c8acc630f68703bc77b5 (diff) | |
download | node-new-3d1b3df9486c0e7708065257f7311902f6b7b366.tar.gz |
deps: update V8 to 6.2.414.32
PR-URL: https://github.com/nodejs/node/pull/15362
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/mips64/deoptimizer-mips64.cc')
-rw-r--r-- | deps/v8/src/mips64/deoptimizer-mips64.cc | 69 |
1 files changed, 1 insertions, 68 deletions
diff --git a/deps/v8/src/mips64/deoptimizer-mips64.cc b/deps/v8/src/mips64/deoptimizer-mips64.cc index 4885b5f050..ae8f0c1c2d 100644 --- a/deps/v8/src/mips64/deoptimizer-mips64.cc +++ b/deps/v8/src/mips64/deoptimizer-mips64.cc @@ -4,79 +4,12 @@ #include "src/codegen.h" #include "src/deoptimizer.h" -#include "src/full-codegen/full-codegen.h" #include "src/register-configuration.h" #include "src/safepoint-table.h" namespace v8 { namespace internal { - -int Deoptimizer::patch_size() { - const int kCallInstructionSizeInWords = 6; - return kCallInstructionSizeInWords * Assembler::kInstrSize; -} - - -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 - // code patching below, and is not needed any more. - code->InvalidateRelocation(); - - // Fail hard and early if we enter this code object again. - byte* pointer = code->FindCodeAgeSequence(); - if (pointer != NULL) { - pointer += kNoCodeAgeSequenceLength; - } else { - pointer = code->instruction_start(); - } - CodePatcher patcher(isolate, pointer, 1); - patcher.masm()->break_(0xCC); - - DeoptimizationInputData* data = - DeoptimizationInputData::cast(code->deoptimization_data()); - int osr_offset = data->OsrPcOffset()->value(); - if (osr_offset > 0) { - CodePatcher osr_patcher(isolate, code_start_address + osr_offset, 1); - osr_patcher.masm()->break_(0xCC); - } - - DeoptimizationInputData* deopt_data = - DeoptimizationInputData::cast(code->deoptimization_data()); -#ifdef DEBUG - Address prev_call_address = NULL; -#endif - // For each LLazyBailout instruction insert a call to the corresponding - // deoptimization entry. - for (int i = 0; i < deopt_data->DeoptCount(); i++) { - if (deopt_data->Pc(i)->value() == -1) continue; - Address call_address = code_start_address + deopt_data->Pc(i)->value(); - Address deopt_entry = GetDeoptimizationEntry(isolate, i, LAZY); - int call_size_in_bytes = MacroAssembler::CallSize(deopt_entry, - RelocInfo::NONE32); - int call_size_in_words = call_size_in_bytes / Assembler::kInstrSize; - DCHECK(call_size_in_bytes % Assembler::kInstrSize == 0); - DCHECK(call_size_in_bytes <= patch_size()); - CodePatcher patcher(isolate, call_address, call_size_in_words); - patcher.masm()->Call(deopt_entry, RelocInfo::NONE32); - DCHECK(prev_call_address == NULL || - call_address >= prev_call_address + patch_size()); - DCHECK(call_address + patch_size() <= code->instruction_end()); - -#ifdef DEBUG - prev_call_address = call_address; -#endif - } -} - - #define __ masm()-> @@ -97,7 +30,7 @@ void Deoptimizer::TableEntryGenerator::Generate() { // Save all double FPU registers before messing with them. __ Dsubu(sp, sp, Operand(kDoubleRegsSize)); - const RegisterConfiguration* config = RegisterConfiguration::Crankshaft(); + const RegisterConfiguration* config = RegisterConfiguration::Default(); for (int i = 0; i < config->num_allocatable_double_registers(); ++i) { int code = config->GetAllocatableDoubleCode(i); const DoubleRegister fpu_reg = DoubleRegister::from_code(code); |