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

Side by Side Diff: src/x64/code-stubs-x64.cc

Issue 1009373002: Remove BLACKLIST from check-name-clashes.py, it's wrong nowadays. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « src/v8natives.js ('k') | src/x87/code-stubs-x87.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_X64 7 #if V8_TARGET_ARCH_X64
8 8
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 __ leap(rdi, FieldOperand(rdi, rdx, times_1, Code::kHeaderSize)); 1089 __ leap(rdi, FieldOperand(rdi, rdx, times_1, Code::kHeaderSize));
1090 __ jmp(rdi); 1090 __ jmp(rdi);
1091 } 1091 }
1092 1092
1093 1093
1094 void RegExpExecStub::Generate(MacroAssembler* masm) { 1094 void RegExpExecStub::Generate(MacroAssembler* masm) {
1095 // Just jump directly to runtime if native RegExp is not selected at compile 1095 // Just jump directly to runtime if native RegExp is not selected at compile
1096 // time or if regexp entry in generated code is turned off runtime switch or 1096 // time or if regexp entry in generated code is turned off runtime switch or
1097 // at compilation. 1097 // at compilation.
1098 #ifdef V8_INTERPRETED_REGEXP 1098 #ifdef V8_INTERPRETED_REGEXP
1099 __ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1); 1099 __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
1100 #else // V8_INTERPRETED_REGEXP 1100 #else // V8_INTERPRETED_REGEXP
1101 1101
1102 // Stack frame on entry. 1102 // Stack frame on entry.
1103 // rsp[0] : return address 1103 // rsp[0] : return address
1104 // rsp[8] : last_match_info (expected JSArray) 1104 // rsp[8] : last_match_info (expected JSArray)
1105 // rsp[16] : previous index 1105 // rsp[16] : previous index
1106 // rsp[24] : subject string 1106 // rsp[24] : subject string
1107 // rsp[32] : JSRegExp object 1107 // rsp[32] : JSRegExp object
1108 1108
1109 enum RegExpExecStubArgumentIndices { 1109 enum RegExpExecStubArgumentIndices {
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
1477 __ LoadRoot(rdx, Heap::kTheHoleValueRootIndex); 1477 __ LoadRoot(rdx, Heap::kTheHoleValueRootIndex);
1478 __ cmpp(rax, rdx); 1478 __ cmpp(rax, rdx);
1479 __ j(equal, &runtime); 1479 __ j(equal, &runtime);
1480 1480
1481 // For exception, throw the exception again. 1481 // For exception, throw the exception again.
1482 __ EnterExitFrame(false); 1482 __ EnterExitFrame(false);
1483 ThrowPendingException(masm); 1483 ThrowPendingException(masm);
1484 1484
1485 // Do the runtime call to execute the regexp. 1485 // Do the runtime call to execute the regexp.
1486 __ bind(&runtime); 1486 __ bind(&runtime);
1487 __ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1); 1487 __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
1488 1488
1489 // Deferred code for string handling. 1489 // Deferred code for string handling.
1490 // (7) Not a long external string? If yes, go to (10). 1490 // (7) Not a long external string? If yes, go to (10).
1491 __ bind(&not_seq_nor_cons); 1491 __ bind(&not_seq_nor_cons);
1492 // Compare flags are still set from (3). 1492 // Compare flags are still set from (3).
1493 __ j(greater, &not_long_external, Label::kNear); // Go to (10). 1493 __ j(greater, &not_long_external, Label::kNear); // Go to (10).
1494 1494
1495 // (8) External string. Short external strings have been ruled out. 1495 // (8) External string. Short external strings have been ruled out.
1496 __ bind(&external_string); 1496 __ bind(&external_string);
1497 __ movp(rbx, FieldOperand(rdi, HeapObject::kMapOffset)); 1497 __ movp(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
(...skipping 3647 matching lines...) Expand 10 before | Expand all | Expand 10 after
5145 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, getter_arg, 5145 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, getter_arg,
5146 kStackSpace, nullptr, return_value_operand, NULL); 5146 kStackSpace, nullptr, return_value_operand, NULL);
5147 } 5147 }
5148 5148
5149 5149
5150 #undef __ 5150 #undef __
5151 5151
5152 } } // namespace v8::internal 5152 } } // namespace v8::internal
5153 5153
5154 #endif // V8_TARGET_ARCH_X64 5154 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/v8natives.js ('k') | src/x87/code-stubs-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698