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

Side by Side Diff: src/a64/regexp-macro-assembler-a64.cc

Issue 153773002: A64: Synchronize with r16679. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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/a64/macro-assembler-a64.cc ('k') | src/a64/stub-cache-a64.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 if (exit_with_exception.is_linked()) { 1054 if (exit_with_exception.is_linked()) {
1055 __ Bind(&exit_with_exception); 1055 __ Bind(&exit_with_exception);
1056 __ Mov(w0, EXCEPTION); 1056 __ Mov(w0, EXCEPTION);
1057 __ B(&return_w0); 1057 __ B(&return_w0);
1058 } 1058 }
1059 1059
1060 CodeDesc code_desc; 1060 CodeDesc code_desc;
1061 masm_->GetCode(&code_desc); 1061 masm_->GetCode(&code_desc);
1062 Handle<Code> code = isolate()->factory()->NewCode( 1062 Handle<Code> code = isolate()->factory()->NewCode(
1063 code_desc, Code::ComputeFlags(Code::REGEXP), masm_->CodeObject()); 1063 code_desc, Code::ComputeFlags(Code::REGEXP), masm_->CodeObject());
1064 PROFILE(Isolate::Current(), RegExpCodeCreateEvent(*code, *source)); 1064 PROFILE(masm_->isolate(), RegExpCodeCreateEvent(*code, *source));
1065 return Handle<HeapObject>::cast(code); 1065 return Handle<HeapObject>::cast(code);
1066 } 1066 }
1067 1067
1068 1068
1069 void RegExpMacroAssemblerA64::GoTo(Label* to) { 1069 void RegExpMacroAssemblerA64::GoTo(Label* to) {
1070 BranchOrBacktrack(al, to); 1070 BranchOrBacktrack(al, to);
1071 } 1071 }
1072 1072
1073 void RegExpMacroAssemblerA64::IfRegisterGE(int reg, 1073 void RegExpMacroAssemblerA64::IfRegisterGE(int reg,
1074 int comparand, 1074 int comparand,
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1307 } 1307 }
1308 1308
1309 1309
1310 int RegExpMacroAssemblerA64::CheckStackGuardState(Address* return_address, 1310 int RegExpMacroAssemblerA64::CheckStackGuardState(Address* return_address,
1311 Code* re_code, 1311 Code* re_code,
1312 Address re_frame, 1312 Address re_frame,
1313 int start_offset, 1313 int start_offset,
1314 const byte** input_start, 1314 const byte** input_start,
1315 const byte** input_end) { 1315 const byte** input_end) {
1316 Isolate* isolate = frame_entry<Isolate*>(re_frame, kIsolate); 1316 Isolate* isolate = frame_entry<Isolate*>(re_frame, kIsolate);
1317 ASSERT(isolate == Isolate::Current());
1318 if (isolate->stack_guard()->IsStackOverflow()) { 1317 if (isolate->stack_guard()->IsStackOverflow()) {
1319 isolate->StackOverflow(); 1318 isolate->StackOverflow();
1320 return EXCEPTION; 1319 return EXCEPTION;
1321 } 1320 }
1322 1321
1323 // If not real stack overflow the stack guard was used to interrupt 1322 // If not real stack overflow the stack guard was used to interrupt
1324 // execution for another purpose. 1323 // execution for another purpose.
1325 1324
1326 // If this is a direct call from JavaScript retry the RegExp forcing the call 1325 // If this is a direct call from JavaScript retry the RegExp forcing the call
1327 // through the runtime system. Currently the direct call cannot handle a GC. 1326 // through the runtime system. Currently the direct call cannot handle a GC.
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
1722 __ Ldrh(current_character(), MemOperand(input_end(), offset, SXTW)); 1721 __ Ldrh(current_character(), MemOperand(input_end(), offset, SXTW));
1723 } 1722 }
1724 } 1723 }
1725 } 1724 }
1726 1725
1727 #endif // V8_INTERPRETED_REGEXP 1726 #endif // V8_INTERPRETED_REGEXP
1728 1727
1729 }} // namespace v8::internal 1728 }} // namespace v8::internal
1730 1729
1731 #endif // V8_TARGET_ARCH_A64 1730 #endif // V8_TARGET_ARCH_A64
OLDNEW
« no previous file with comments | « src/a64/macro-assembler-a64.cc ('k') | src/a64/stub-cache-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698