Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(720)

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 24205004: Rollback trunk to 3.21.16.2 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 // Ensure that FPSCR contains values needed by JavaScript. 462 // Ensure that FPSCR contains values needed by JavaScript.
463 // We need the NaNModeControlBit to be sure that operations like 463 // We need the NaNModeControlBit to be sure that operations like
464 // vadd and vsub generate the Canonical NaN (if a NaN must be generated). 464 // vadd and vsub generate the Canonical NaN (if a NaN must be generated).
465 // In VFP3 it will be always the Canonical NaN. 465 // In VFP3 it will be always the Canonical NaN.
466 // In VFP2 it will be either the Canonical NaN or the negative version 466 // In VFP2 it will be either the Canonical NaN or the negative version
467 // of the Canonical NaN. It doesn't matter if we have two values. The aim 467 // of the Canonical NaN. It doesn't matter if we have two values. The aim
468 // is to be sure to never generate the hole NaN. 468 // is to be sure to never generate the hole NaN.
469 void VFPEnsureFPSCRState(Register scratch); 469 void VFPEnsureFPSCRState(Register scratch);
470 470
471 // If the value is a NaN, canonicalize the value else, do nothing. 471 // If the value is a NaN, canonicalize the value else, do nothing.
472 void VFPCanonicalizeNaN(const DwVfpRegister dst, 472 void VFPCanonicalizeNaN(const DwVfpRegister value,
473 const DwVfpRegister src,
474 const Condition cond = al); 473 const Condition cond = al);
475 void VFPCanonicalizeNaN(const DwVfpRegister value,
476 const Condition cond = al) {
477 VFPCanonicalizeNaN(value, value, cond);
478 }
479 474
480 // Compare double values and move the result to the normal condition flags. 475 // Compare double values and move the result to the normal condition flags.
481 void VFPCompareAndSetFlags(const DwVfpRegister src1, 476 void VFPCompareAndSetFlags(const DwVfpRegister src1,
482 const DwVfpRegister src2, 477 const DwVfpRegister src2,
483 const Condition cond = al); 478 const Condition cond = al);
484 void VFPCompareAndSetFlags(const DwVfpRegister src1, 479 void VFPCompareAndSetFlags(const DwVfpRegister src1,
485 const double src2, 480 const double src2,
486 const Condition cond = al); 481 const Condition cond = al);
487 482
488 // Compare double values and then load the fpscr flags to a register. 483 // Compare double values and then load the fpscr flags to a register.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 Label* not_int32); 534 Label* not_int32);
540 535
541 536
542 // Enter exit frame. 537 // Enter exit frame.
543 // stack_space - extra stack space, used for alignment before call to C. 538 // stack_space - extra stack space, used for alignment before call to C.
544 void EnterExitFrame(bool save_doubles, int stack_space = 0); 539 void EnterExitFrame(bool save_doubles, int stack_space = 0);
545 540
546 // Leave the current exit frame. Expects the return value in r0. 541 // Leave the current exit frame. Expects the return value in r0.
547 // Expect the number of values, pushed prior to the exit frame, to 542 // Expect the number of values, pushed prior to the exit frame, to
548 // remove in a register (or no_reg, if there is nothing to remove). 543 // remove in a register (or no_reg, if there is nothing to remove).
549 void LeaveExitFrame(bool save_doubles, 544 void LeaveExitFrame(bool save_doubles, Register argument_count);
550 Register argument_count,
551 bool restore_context);
552 545
553 // Get the actual activation frame alignment for target environment. 546 // Get the actual activation frame alignment for target environment.
554 static int ActivationFrameAlignment(); 547 static int ActivationFrameAlignment();
555 548
556 void LoadContext(Register dst, int context_chain_length); 549 void LoadContext(Register dst, int context_chain_length);
557 550
558 // Conditionally load the cached Array transitioned map of type 551 // Conditionally load the cached Array transitioned map of type
559 // transitioned_kind from the native context if the map in register 552 // transitioned_kind from the native context if the map in register
560 // map_in_out is the cached Array map in the native context of 553 // map_in_out is the cached Array map in the native context of
561 // expected_kind. 554 // expected_kind.
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 1104
1112 // Calls an API function. Allocates HandleScope, extracts returned value 1105 // Calls an API function. Allocates HandleScope, extracts returned value
1113 // from handle and propagates exceptions. Restores context. stack_space 1106 // from handle and propagates exceptions. Restores context. stack_space
1114 // - space to be unwound on exit (includes the call JS arguments space and 1107 // - space to be unwound on exit (includes the call JS arguments space and
1115 // the additional space allocated for the fast call). 1108 // the additional space allocated for the fast call).
1116 void CallApiFunctionAndReturn(ExternalReference function, 1109 void CallApiFunctionAndReturn(ExternalReference function,
1117 Address function_address, 1110 Address function_address,
1118 ExternalReference thunk_ref, 1111 ExternalReference thunk_ref,
1119 Register thunk_last_arg, 1112 Register thunk_last_arg,
1120 int stack_space, 1113 int stack_space,
1121 MemOperand return_value_operand, 1114 int return_value_offset_from_fp);
1122 MemOperand* context_restore_operand);
1123 1115
1124 // Jump to a runtime routine. 1116 // Jump to a runtime routine.
1125 void JumpToExternalReference(const ExternalReference& builtin); 1117 void JumpToExternalReference(const ExternalReference& builtin);
1126 1118
1127 // Invoke specified builtin JavaScript function. Adds an entry to 1119 // Invoke specified builtin JavaScript function. Adds an entry to
1128 // the unresolved list if the name does not resolve. 1120 // the unresolved list if the name does not resolve.
1129 void InvokeBuiltin(Builtins::JavaScript id, 1121 void InvokeBuiltin(Builtins::JavaScript id,
1130 InvokeFlag flag, 1122 InvokeFlag flag,
1131 const CallWrapper& call_wrapper = NullCallWrapper()); 1123 const CallWrapper& call_wrapper = NullCallWrapper());
1132 1124
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1479 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1488 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1480 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1489 #else 1481 #else
1490 #define ACCESS_MASM(masm) masm-> 1482 #define ACCESS_MASM(masm) masm->
1491 #endif 1483 #endif
1492 1484
1493 1485
1494 } } // namespace v8::internal 1486 } } // namespace v8::internal
1495 1487
1496 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1488 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698