Lines Matching refs:code
2 // Use of this source code is governed by a BSD-style license that can be
42 // Call the generated regexp code directly. The code at the entry address
186 // V8 calls into generated JS code with 5 parameters and into
187 // generated RegExp code with 10 parameters. These are convenience functions,
326 bool IsZeroRegister(unsigned code, Reg31Mode r31mode) const {
327 return ((code == 31) && (r31mode == Reg31IsZeroRegister));
335 T reg(unsigned code, Reg31Mode r31mode = Reg31IsZeroRegister) const {
336 DCHECK(code < kNumberOfRegisters);
337 if (IsZeroRegister(code, r31mode)) {
340 return registers_[code].Get<T>();
344 int32_t wreg(unsigned code, Reg31Mode r31mode = Reg31IsZeroRegister) const {
345 return reg<int32_t>(code, r31mode);
348 int64_t xreg(unsigned code, Reg31Mode r31mode = Reg31IsZeroRegister) const {
349 return reg<int64_t>(code, r31mode);
355 void set_reg(unsigned code, T value,
357 set_reg_no_log(code, value, r31mode);
358 LogRegister(code, r31mode);
362 void set_wreg(unsigned code, int32_t value,
364 set_reg(code, value, r31mode);
367 void set_xreg(unsigned code, int64_t value,
369 set_reg(code, value, r31mode);
374 void set_reg_no_log(unsigned code, T value,
376 DCHECK(code < kNumberOfRegisters);
377 if (!IsZeroRegister(code, r31mode)) {
378 registers_[code].Set(value);
382 void set_wreg_no_log(unsigned code, int32_t value,
384 set_reg_no_log(code, value, r31mode);
387 void set_xreg_no_log(unsigned code, int64_t value,
389 set_reg_no_log(code, value, r31mode);
415 T fpreg(unsigned code) const {
416 DCHECK(code < kNumberOfRegisters);
417 return fpregisters_[code].Get<T>();
421 float sreg(unsigned code) const {
422 return fpreg<float>(code);
425 uint32_t sreg_bits(unsigned code) const {
426 return fpreg<uint32_t>(code);
429 double dreg(unsigned code) const {
430 return fpreg<double>(code);
433 uint64_t dreg_bits(unsigned code) const {
434 return fpreg<uint64_t>(code);
437 double fpreg(unsigned size, unsigned code) const {
439 case kSRegSizeInBits: return sreg(code);
440 case kDRegSizeInBits: return dreg(code);
450 void set_fpreg(unsigned code, T value) {
451 set_fpreg_no_log(code, value);
454 LogFPRegister(code, kPrintSRegValue);
456 LogFPRegister(code, kPrintDRegValue);
461 void set_sreg(unsigned code, float value) {
462 set_fpreg(code, value);
465 void set_sreg_bits(unsigned code, uint32_t value) {
466 set_fpreg(code, value);
469 void set_dreg(unsigned code, double value) {
470 set_fpreg(code, value);
473 void set_dreg_bits(unsigned code, uint64_t value) {
474 set_fpreg(code, value);
479 void set_fpreg_no_log(unsigned code, T value) {
481 DCHECK(code < kNumberOfFPRegisters);
482 fpregisters_[code].Set(value);
485 void set_sreg_no_log(unsigned code, float value) {
486 set_fpreg_no_log(code, value);
489 void set_dreg_no_log(unsigned code, double value) {
490 set_fpreg_no_log(code, value);
546 void PrintRegister(unsigned code, Reg31Mode r31mode = Reg31IsStackPointer);
547 void PrintFPRegister(unsigned code,
552 void LogRegister(unsigned code, Reg31Mode r31mode = Reg31IsStackPointer) {
553 if (log_parameters() & LOG_REGS) PrintRegister(code, r31mode);
555 void LogFPRegister(unsigned code,
557 if (log_parameters() & LOG_FP_REGS) PrintFPRegister(code, sizes);
599 static inline const char* WRegNameForCode(unsigned code,
601 static inline const char* XRegNameForCode(unsigned code,
603 static inline const char* SRegNameForCode(unsigned code);
604 static inline const char* DRegNameForCode(unsigned code);
605 static inline const char* VRegNameForCode(unsigned code);
772 // allow the code of the register being corrupted to be inserted.
818 // FPCR is set. This allows generated code to modify FPCR for external
820 // code.
889 // the C-based native code. The JS-based limit normally points near the end of