Lines Matching refs:code
6 // * Redistributions of source code must retain the above copyright
48 void Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(Handle<Code> code) {
49 Isolate* isolate = code->GetIsolate();
52 // Compute the size of relocation information needed for the code
57 DeoptimizationInputData::cast(code->deoptimization_data());
77 int reloc_length = code->relocation_info()->length();
94 code->relocation_info()->GetDataStartAddress(),
111 // Replace relocation information on the code object.
112 code->set_relocation_info(*new_reloc);
124 // Get the optimized code.
125 Code* code = function->code();
126 Address code_start_address = code->instruction_start();
128 // We will overwrite the code's relocation info in-place. Relocation info
132 ByteArray* reloc_info = code->relocation_info();
141 // existing code will not be used again (we zap it in debug builds).
145 DeoptimizationInputData::cast(code->deoptimization_data());
166 ASSERT(call_address + patch_size() <= code->instruction_end());
174 memmove(code->relocation_start(), reloc_info_writer.pos(), new_reloc_size);
186 // Add the deoptimizing code to the list.
187 DeoptimizingCodeListNode* node = new DeoptimizingCodeListNode(code);
193 // Tell collector to treat this code object in a special way and
195 isolate->heap()->mark_compact_collector()->InvalidateCode(code);
197 // Set the code for the function to non-optimized version.
198 function->ReplaceCode(function->shared()->code());
217 void Deoptimizer::PatchStackCheckCodeAt(Code* unoptimized_code,
219 Code* check_code,
220 Code* replacement_code) {
224 // The stack check code matches the pattern:
232 // We will patch away the branch so the code is:
259 void Deoptimizer::RevertStackCheckCodeAt(Code* unoptimized_code,
261 Code* check_code,
262 Code* replacement_code) {
430 output_[0]->SetRegister(ebp.code(), input_->GetRegister(ebp.code()));
431 output_[0]->SetRegister(esi.code(), input_->GetRegister(esi.code()));
438 Code* continuation =
540 Code* adaptor_trampoline =
552 Code* construct_stub = builtins->builtin(Builtins::kJSConstructStubGeneric);
630 PrintF(" 0x%08x: [top + %d] <- 0x%08x ; code object\n",
699 input_->GetRegister(ebp.code()) - (2 * kPointerSize) - height_in_bytes;
722 // function code and AST id of the bailout.
750 ASSERT(!is_bottommost || input_->GetRegister(ebp.code()) == fp_value);
752 if (is_topmost) output_frame->SetRegister(ebp.code(), fp_value);
770 if (is_topmost) output_frame->SetRegister(esi.code(), value);
797 Code* non_optimized_code = function->shared()->code();
813 Code* continuation = (bailout_type_ == EAGER)
830 input_->SetRegister(esp.code(), reinterpret_cast<intptr_t>(frame->sp()));
831 input_->SetRegister(ebp.code(), reinterpret_cast<intptr_t>(frame->fp()));
871 // Get the address of the location in the code object if possible
889 __ mov(Operand(esp, 3 * kPointerSize), ecx); // Code address or 0.