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

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

Issue 72813004: Fixed crashes exposed though fuzzing. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix nits Created 7 years, 1 month 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 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 // Must preserve the result register. 654 // Must preserve the result register.
655 void PopTryHandler(); 655 void PopTryHandler();
656 656
657 // Passes thrown value to the handler of top of the try handler chain. 657 // Passes thrown value to the handler of top of the try handler chain.
658 void Throw(Register value); 658 void Throw(Register value);
659 659
660 // Propagates an uncatchable exception to the top of the current JS stack's 660 // Propagates an uncatchable exception to the top of the current JS stack's
661 // handler chain. 661 // handler chain.
662 void ThrowUncatchable(Register value); 662 void ThrowUncatchable(Register value);
663 663
664 // Throw a message string as an exception.
665 void Throw(BailoutReason reason);
666
667 // Throw a message string as an exception if a condition is not true.
668 void ThrowIf(Condition cc, BailoutReason reason);
669
664 // --------------------------------------------------------------------------- 670 // ---------------------------------------------------------------------------
665 // Inline caching support 671 // Inline caching support
666 672
667 // Generate code for checking access rights - used for security checks 673 // Generate code for checking access rights - used for security checks
668 // on access to global objects across environments. The holder register 674 // on access to global objects across environments. The holder register
669 // is left untouched, whereas both scratch registers are clobbered. 675 // is left untouched, whereas both scratch registers are clobbered.
670 void CheckAccessGlobalProxy(Register holder_reg, 676 void CheckAccessGlobalProxy(Register holder_reg,
671 Register scratch, 677 Register scratch,
672 Label* miss); 678 Label* miss);
673 679
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 Label* failure); 1340 Label* failure);
1335 1341
1336 // Check if instance type is sequential ASCII string and jump to label if 1342 // Check if instance type is sequential ASCII string and jump to label if
1337 // it is not. 1343 // it is not.
1338 void JumpIfInstanceTypeIsNotSequentialAscii(Register type, 1344 void JumpIfInstanceTypeIsNotSequentialAscii(Register type,
1339 Register scratch, 1345 Register scratch,
1340 Label* failure); 1346 Label* failure);
1341 1347
1342 void JumpIfNotUniqueName(Register reg, Label* not_unique_name); 1348 void JumpIfNotUniqueName(Register reg, Label* not_unique_name);
1343 1349
1350 void EmitSeqStringSetCharCheck(Register string,
1351 Register index,
1352 Register value,
1353 uint32_t encoding_mask);
1354
1344 // --------------------------------------------------------------------------- 1355 // ---------------------------------------------------------------------------
1345 // Patching helpers. 1356 // Patching helpers.
1346 1357
1347 // Get the location of a relocated constant (its address in the constant pool) 1358 // Get the location of a relocated constant (its address in the constant pool)
1348 // from its load site. 1359 // from its load site.
1349 void GetRelocatedValueLocation(Register ldr_location, 1360 void GetRelocatedValueLocation(Register ldr_location,
1350 Register result); 1361 Register result);
1351 1362
1352 1363
1353 void ClampUint8(Register output_reg, Register input_reg); 1364 void ClampUint8(Register output_reg, Register input_reg);
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1516 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1527 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1517 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1528 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1518 #else 1529 #else
1519 #define ACCESS_MASM(masm) masm-> 1530 #define ACCESS_MASM(masm) masm->
1520 #endif 1531 #endif
1521 1532
1522 1533
1523 } } // namespace v8::internal 1534 } } // namespace v8::internal
1524 1535
1525 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1536 #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