OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 #include "src/codegen.h" | 46 #include "src/codegen.h" |
47 #include "src/counters.h" | 47 #include "src/counters.h" |
48 #include "src/debug/debug.h" | 48 #include "src/debug/debug.h" |
49 #include "src/deoptimizer.h" | 49 #include "src/deoptimizer.h" |
50 #include "src/disassembler.h" | 50 #include "src/disassembler.h" |
51 #include "src/execution.h" | 51 #include "src/execution.h" |
52 #include "src/ic/ic.h" | 52 #include "src/ic/ic.h" |
53 #include "src/ic/stub-cache.h" | 53 #include "src/ic/stub-cache.h" |
54 #include "src/interpreter/interpreter.h" | 54 #include "src/interpreter/interpreter.h" |
55 #include "src/ostreams.h" | 55 #include "src/ostreams.h" |
56 #include "src/profiler/cpu-profiler.h" | |
57 #include "src/regexp/jsregexp.h" | 56 #include "src/regexp/jsregexp.h" |
58 #include "src/regexp/regexp-macro-assembler.h" | 57 #include "src/regexp/regexp-macro-assembler.h" |
59 #include "src/regexp/regexp-stack.h" | 58 #include "src/regexp/regexp-stack.h" |
60 #include "src/register-configuration.h" | 59 #include "src/register-configuration.h" |
61 #include "src/runtime/runtime.h" | 60 #include "src/runtime/runtime.h" |
62 #include "src/simulator.h" // For flushing instruction cache. | 61 #include "src/simulator.h" // For flushing instruction cache. |
63 #include "src/snapshot/serializer-common.h" | 62 #include "src/snapshot/serializer-common.h" |
64 #include "src/wasm/wasm-external-refs.h" | 63 #include "src/wasm/wasm-external-refs.h" |
65 | 64 |
66 #if V8_TARGET_ARCH_IA32 | 65 #if V8_TARGET_ARCH_IA32 |
(...skipping 1484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1551 } | 1550 } |
1552 | 1551 |
1553 | 1552 |
1554 ExternalReference ExternalReference::address_of_uint32_bias() { | 1553 ExternalReference ExternalReference::address_of_uint32_bias() { |
1555 return ExternalReference( | 1554 return ExternalReference( |
1556 reinterpret_cast<void*>(&double_constants.uint32_bias)); | 1555 reinterpret_cast<void*>(&double_constants.uint32_bias)); |
1557 } | 1556 } |
1558 | 1557 |
1559 | 1558 |
1560 ExternalReference ExternalReference::is_profiling_address(Isolate* isolate) { | 1559 ExternalReference ExternalReference::is_profiling_address(Isolate* isolate) { |
1561 return ExternalReference(isolate->cpu_profiler()->is_profiling_address()); | 1560 return ExternalReference(isolate->is_profiling_address()); |
1562 } | 1561 } |
1563 | 1562 |
1564 | 1563 |
1565 ExternalReference ExternalReference::invoke_function_callback( | 1564 ExternalReference ExternalReference::invoke_function_callback( |
1566 Isolate* isolate) { | 1565 Isolate* isolate) { |
1567 Address thunk_address = FUNCTION_ADDR(&InvokeFunctionCallback); | 1566 Address thunk_address = FUNCTION_ADDR(&InvokeFunctionCallback); |
1568 ExternalReference::Type thunk_type = ExternalReference::PROFILING_API_CALL; | 1567 ExternalReference::Type thunk_type = ExternalReference::PROFILING_API_CALL; |
1569 ApiFunction thunk_fun(thunk_address); | 1568 ApiFunction thunk_fun(thunk_address); |
1570 return ExternalReference(&thunk_fun, thunk_type, isolate); | 1569 return ExternalReference(&thunk_fun, thunk_type, isolate); |
1571 } | 1570 } |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2079 } | 2078 } |
2080 } | 2079 } |
2081 | 2080 |
2082 return !empty ? emitted_label_.pos() : 0; | 2081 return !empty ? emitted_label_.pos() : 0; |
2083 } | 2082 } |
2084 | 2083 |
2085 | 2084 |
2086 // Platform specific but identical code for all the platforms. | 2085 // Platform specific but identical code for all the platforms. |
2087 | 2086 |
2088 void Assembler::RecordDeoptReason(const int reason, int raw_position, int id) { | 2087 void Assembler::RecordDeoptReason(const int reason, int raw_position, int id) { |
2089 if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | 2088 if (FLAG_trace_deopt || isolate()->is_profiling()) { |
2090 EnsureSpace ensure_space(this); | 2089 EnsureSpace ensure_space(this); |
2091 RecordRelocInfo(RelocInfo::POSITION, raw_position); | 2090 RecordRelocInfo(RelocInfo::POSITION, raw_position); |
2092 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | 2091 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); |
2093 RecordRelocInfo(RelocInfo::DEOPT_ID, id); | 2092 RecordRelocInfo(RelocInfo::DEOPT_ID, id); |
2094 } | 2093 } |
2095 } | 2094 } |
2096 | 2095 |
2097 | 2096 |
2098 void Assembler::RecordComment(const char* msg) { | 2097 void Assembler::RecordComment(const char* msg) { |
2099 if (FLAG_code_comments) { | 2098 if (FLAG_code_comments) { |
(...skipping 17 matching lines...) Expand all Loading... |
2117 | 2116 |
2118 | 2117 |
2119 void Assembler::DataAlign(int m) { | 2118 void Assembler::DataAlign(int m) { |
2120 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); | 2119 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); |
2121 while ((pc_offset() & (m - 1)) != 0) { | 2120 while ((pc_offset() & (m - 1)) != 0) { |
2122 db(0); | 2121 db(0); |
2123 } | 2122 } |
2124 } | 2123 } |
2125 } // namespace internal | 2124 } // namespace internal |
2126 } // namespace v8 | 2125 } // namespace v8 |
OLD | NEW |