OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #if V8_TARGET_ARCH_X64 | 5 #if V8_TARGET_ARCH_X64 |
6 | 6 |
7 #include "src/regexp/x64/regexp-macro-assembler-x64.h" | 7 #include "src/regexp/x64/regexp-macro-assembler-x64.h" |
8 | 8 |
9 #include "src/factory.h" | 9 #include "src/factory.h" |
10 #include "src/log.h" | 10 #include "src/log.h" |
(...skipping 987 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
998 // If any of the code above needed to exit with an exception. | 998 // If any of the code above needed to exit with an exception. |
999 __ bind(&exit_with_exception); | 999 __ bind(&exit_with_exception); |
1000 // Exit with Result EXCEPTION(-1) to signal thrown exception. | 1000 // Exit with Result EXCEPTION(-1) to signal thrown exception. |
1001 __ Set(rax, EXCEPTION); | 1001 __ Set(rax, EXCEPTION); |
1002 __ jmp(&return_rax); | 1002 __ jmp(&return_rax); |
1003 } | 1003 } |
1004 | 1004 |
1005 FixupCodeRelativePositions(); | 1005 FixupCodeRelativePositions(); |
1006 | 1006 |
1007 CodeDesc code_desc; | 1007 CodeDesc code_desc; |
1008 masm_.GetCode(&code_desc); | |
1009 Isolate* isolate = this->isolate(); | 1008 Isolate* isolate = this->isolate(); |
| 1009 masm_.GetCode(isolate, &code_desc); |
1010 Handle<Code> code = isolate->factory()->NewCode( | 1010 Handle<Code> code = isolate->factory()->NewCode( |
1011 code_desc, Code::ComputeFlags(Code::REGEXP), | 1011 code_desc, Code::ComputeFlags(Code::REGEXP), |
1012 masm_.CodeObject()); | 1012 masm_.CodeObject()); |
1013 PROFILE(isolate, RegExpCodeCreateEvent(AbstractCode::cast(*code), *source)); | 1013 PROFILE(isolate, RegExpCodeCreateEvent(AbstractCode::cast(*code), *source)); |
1014 return Handle<HeapObject>::cast(code); | 1014 return Handle<HeapObject>::cast(code); |
1015 } | 1015 } |
1016 | 1016 |
1017 | 1017 |
1018 void RegExpMacroAssemblerX64::GoTo(Label* to) { | 1018 void RegExpMacroAssemblerX64::GoTo(Label* to) { |
1019 BranchOrBacktrack(no_condition, to); | 1019 BranchOrBacktrack(no_condition, to); |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1396 } | 1396 } |
1397 | 1397 |
1398 #undef __ | 1398 #undef __ |
1399 | 1399 |
1400 #endif // V8_INTERPRETED_REGEXP | 1400 #endif // V8_INTERPRETED_REGEXP |
1401 | 1401 |
1402 } // namespace internal | 1402 } // namespace internal |
1403 } // namespace v8 | 1403 } // namespace v8 |
1404 | 1404 |
1405 #endif // V8_TARGET_ARCH_X64 | 1405 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |