Revision: 19208
Author:   [email protected]
Date:     Fri Feb  7 17:56:30 2014 UTC
Log:      A64: Check that branch targets are reachable.

Assembling a branch that cannot reach its target is a security hole.
This patch prepares incoming changes that let the MacroAssembler handle branches
to distant targets.

[email protected]

Review URL: https://codereview.chromium.org/157683003
http://code.google.com/p/v8/source/detail?r=19208

Modified:
 /branches/experimental/a64/src/a64/assembler-a64-inl.h

=======================================
--- /branches/experimental/a64/src/a64/assembler-a64-inl.h Thu Feb 6 14:30:18 2014 UTC +++ /branches/experimental/a64/src/a64/assembler-a64-inl.h Fri Feb 7 17:56:30 2014 UTC
@@ -884,7 +884,7 @@


 Instr Assembler::ImmPCRelAddress(int imm21) {
-  ASSERT(is_int21(imm21));
+  CHECK(is_int21(imm21));
   Instr imm = static_cast<Instr>(truncate_to_int21(imm21));
   Instr immhi = (imm >> ImmPCRelLo_width) << ImmPCRelHi_offset;
   Instr immlo = imm << ImmPCRelLo_offset;
@@ -893,25 +893,25 @@


 Instr Assembler::ImmUncondBranch(int imm26) {
-  ASSERT(is_int26(imm26));
+  CHECK(is_int26(imm26));
   return truncate_to_int26(imm26) << ImmUncondBranch_offset;
 }


 Instr Assembler::ImmCondBranch(int imm19) {
-  ASSERT(is_int19(imm19));
+  CHECK(is_int19(imm19));
   return truncate_to_int19(imm19) << ImmCondBranch_offset;
 }


 Instr Assembler::ImmCmpBranch(int imm19) {
-  ASSERT(is_int19(imm19));
+  CHECK(is_int19(imm19));
   return truncate_to_int19(imm19) << ImmCmpBranch_offset;
 }


 Instr Assembler::ImmTestBranch(int imm14) {
-  ASSERT(is_int14(imm14));
+  CHECK(is_int14(imm14));
   return truncate_to_int14(imm14) << ImmTestBranch_offset;
 }

@@ -978,7 +978,7 @@


 Instr Assembler::ImmLLiteral(int imm19) {
-  ASSERT(is_int19(imm19));
+  CHECK(is_int19(imm19));
   return truncate_to_int19(imm19) << ImmLLiteral_offset;
 }

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to