Lines Matching defs:source
2 // Use of this source code is governed by a BSD-style license that can be
403 const VarState* source, VarState* target, uint32_t count,
409 for (const VarState* source_end = source + count; source < source_end;
410 ++source, ++target) {
411 if ((source->is_stack() && keep_stack_slots) ||
412 (source->is_const() && allow_constants)) {
413 *target = *source;
419 if (source->is_reg() && state->is_free(source->reg())) {
420 reg = source->reg();
425 reg = register_reuse_map.Lookup(source->reg());
428 RegClass rc = reg_class_for(source->kind());
435 *target = VarState(source->kind(), source->offset());
438 if (reuse_registers) register_reuse_map.Add(source->reg(), *reg);
440 *target = VarState(source->kind(), *reg, source->offset());
447 void LiftoffAssembler::CacheState::InitMerge(const CacheState& source,
454 if (source.cached_instance != no_reg) {
455 SetInstanceCacheRegister(source.cached_instance);
458 if (source.cached_mem_start != no_reg) {
459 SetMemStartCacheRegister(source.cached_mem_start);
464 uint32_t discarded = source.stack_height() - target_height;
467 DCHECK_GE(source.stack_height(), stack_base);
470 const VarState* source_begin = source.stack_state.data();
503 : source.stack_state[stack_base - 1].offset();
521 // source region, ensure to use the same register twice in the target region.
527 void LiftoffAssembler::CacheState::Steal(const CacheState& source) {
529 *this = std::move(source);
532 void LiftoffAssembler::CacheState::Split(const CacheState& source) {
534 *this = source;
755 const CacheState& source) {
756 DCHECK_EQ(source.stack_height(), target.stack_height());
760 for (uint32_t i = 0, e = source.stack_height(); i < e; ++i) {
761 transfers.TransferStackSlot(target.stack_state[i], source.stack_state[i]);
763 base::VectorOf(source.stack_state.data() + i + 1,
764 source.stack_height() - i - 1)));
769 if (source.cached_instance != target.cached_instance) {
772 if (source.cached_mem_start != target.cached_mem_start) {
832 // If the source has the content but in the wrong register, execute a
837 // Otherwise (the source state has no cached content), we reload later.