OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1015 CheckDebugBreakFunction(&env, | 1015 CheckDebugBreakFunction(&env, |
1016 "function f1(){}", "f1", | 1016 "function f1(){}", "f1", |
1017 0, | 1017 0, |
1018 v8::internal::RelocInfo::JS_RETURN, | 1018 v8::internal::RelocInfo::JS_RETURN, |
1019 NULL); | 1019 NULL); |
1020 CheckDebugBreakFunction(&env, | 1020 CheckDebugBreakFunction(&env, |
1021 "function f2(){x=1;}", "f2", | 1021 "function f2(){x=1;}", "f2", |
1022 0, | 1022 0, |
1023 v8::internal::RelocInfo::CODE_TARGET_CONTEXT, | 1023 v8::internal::RelocInfo::CODE_TARGET_CONTEXT, |
1024 Isolate::Current()->builtins()->builtin( | 1024 Isolate::Current()->builtins()->builtin( |
1025 Builtins::StoreIC_DebugBreak)); | 1025 Builtins::kStoreIC_DebugBreak)); |
1026 CheckDebugBreakFunction(&env, | 1026 CheckDebugBreakFunction(&env, |
1027 "function f3(){var a=x;}", "f3", | 1027 "function f3(){var a=x;}", "f3", |
1028 0, | 1028 0, |
1029 v8::internal::RelocInfo::CODE_TARGET_CONTEXT, | 1029 v8::internal::RelocInfo::CODE_TARGET_CONTEXT, |
1030 Isolate::Current()->builtins()->builtin( | 1030 Isolate::Current()->builtins()->builtin( |
1031 Builtins::LoadIC_DebugBreak)); | 1031 Builtins::kLoadIC_DebugBreak)); |
1032 | 1032 |
1033 // TODO(1240753): Make the test architecture independent or split | 1033 // TODO(1240753): Make the test architecture independent or split |
1034 // parts of the debugger into architecture dependent files. This | 1034 // parts of the debugger into architecture dependent files. This |
1035 // part currently disabled as it is not portable between IA32/ARM. | 1035 // part currently disabled as it is not portable between IA32/ARM. |
1036 // Currently on ICs for keyed store/load on ARM. | 1036 // Currently on ICs for keyed store/load on ARM. |
1037 #if !defined (__arm__) && !defined(__thumb__) | 1037 #if !defined (__arm__) && !defined(__thumb__) |
1038 CheckDebugBreakFunction( | 1038 CheckDebugBreakFunction( |
1039 &env, | 1039 &env, |
1040 "function f4(){var index='propertyName'; var a={}; a[index] = 'x';}", | 1040 "function f4(){var index='propertyName'; var a={}; a[index] = 'x';}", |
1041 "f4", | 1041 "f4", |
1042 0, | 1042 0, |
1043 v8::internal::RelocInfo::CODE_TARGET, | 1043 v8::internal::RelocInfo::CODE_TARGET, |
1044 Isolate::Current()->builtins()->builtin( | 1044 Isolate::Current()->builtins()->builtin( |
1045 Builtins::KeyedStoreIC_DebugBreak)); | 1045 Builtins::kKeyedStoreIC_DebugBreak)); |
1046 CheckDebugBreakFunction( | 1046 CheckDebugBreakFunction( |
1047 &env, | 1047 &env, |
1048 "function f5(){var index='propertyName'; var a={}; return a[index];}", | 1048 "function f5(){var index='propertyName'; var a={}; return a[index];}", |
1049 "f5", | 1049 "f5", |
1050 0, | 1050 0, |
1051 v8::internal::RelocInfo::CODE_TARGET, | 1051 v8::internal::RelocInfo::CODE_TARGET, |
1052 Isolate::Current()->builtins()->builtin( | 1052 Isolate::Current()->builtins()->builtin( |
1053 Builtins::KeyedLoadIC_DebugBreak)); | 1053 Builtins::kKeyedLoadIC_DebugBreak)); |
1054 #endif | 1054 #endif |
1055 | 1055 |
1056 // Check the debug break code stubs for call ICs with different number of | 1056 // Check the debug break code stubs for call ICs with different number of |
1057 // parameters. | 1057 // parameters. |
1058 Handle<Code> debug_break_0 = v8::internal::ComputeCallDebugBreak(0); | 1058 Handle<Code> debug_break_0 = v8::internal::ComputeCallDebugBreak(0); |
1059 Handle<Code> debug_break_1 = v8::internal::ComputeCallDebugBreak(1); | 1059 Handle<Code> debug_break_1 = v8::internal::ComputeCallDebugBreak(1); |
1060 Handle<Code> debug_break_4 = v8::internal::ComputeCallDebugBreak(4); | 1060 Handle<Code> debug_break_4 = v8::internal::ComputeCallDebugBreak(4); |
1061 | 1061 |
1062 CheckDebugBreakFunction(&env, | 1062 CheckDebugBreakFunction(&env, |
1063 "function f4_0(){x();}", "f4_0", | 1063 "function f4_0(){x();}", "f4_0", |
(...skipping 6189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7253 TestDebugBreakInLoop("for (;;) {", loop_bodies, "}"); | 7253 TestDebugBreakInLoop("for (;;) {", loop_bodies, "}"); |
7254 TestDebugBreakInLoop("for (;a == 1;) {", loop_bodies, "}"); | 7254 TestDebugBreakInLoop("for (;a == 1;) {", loop_bodies, "}"); |
7255 | 7255 |
7256 // Get rid of the debug event listener. | 7256 // Get rid of the debug event listener. |
7257 v8::Debug::SetDebugEventListener(NULL); | 7257 v8::Debug::SetDebugEventListener(NULL); |
7258 CheckDebuggerUnloaded(); | 7258 CheckDebuggerUnloaded(); |
7259 } | 7259 } |
7260 | 7260 |
7261 | 7261 |
7262 #endif // ENABLE_DEBUGGER_SUPPORT | 7262 #endif // ENABLE_DEBUGGER_SUPPORT |
OLD | NEW |