| 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 2194 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2205 } |  2205 } | 
|  2206  |  2206  | 
|  2207  |  2207  | 
|  2208 void CodeGenerator::VisitDebuggerStatement(DebuggerStatement* node) { |  2208 void CodeGenerator::VisitDebuggerStatement(DebuggerStatement* node) { | 
|  2209   ASSERT(!in_spilled_code()); |  2209   ASSERT(!in_spilled_code()); | 
|  2210   Comment cmnt(masm_, "[ DebuggerStatement"); |  2210   Comment cmnt(masm_, "[ DebuggerStatement"); | 
|  2211   CodeForStatementPosition(node); |  2211   CodeForStatementPosition(node); | 
|  2212 #ifdef ENABLE_DEBUGGER_SUPPORT |  2212 #ifdef ENABLE_DEBUGGER_SUPPORT | 
|  2213   // Spill everything, even constants, to the frame. |  2213   // Spill everything, even constants, to the frame. | 
|  2214   frame_->SpillAll(); |  2214   frame_->SpillAll(); | 
|  2215   frame_->CallRuntime(Runtime::kDebugBreak, 0); |  2215  | 
 |  2216   DebugerStatementStub ces; | 
 |  2217   frame_->CallStub(&ces, 0); | 
|  2216   // Ignore the return value. |  2218   // Ignore the return value. | 
|  2217 #endif |  2219 #endif | 
|  2218 } |  2220 } | 
|  2219  |  2221  | 
|  2220  |  2222  | 
|  2221 void CodeGenerator::InstantiateBoilerplate(Handle<JSFunction> boilerplate) { |  2223 void CodeGenerator::InstantiateBoilerplate(Handle<JSFunction> boilerplate) { | 
|  2222   ASSERT(boilerplate->IsBoilerplate()); |  2224   ASSERT(boilerplate->IsBoilerplate()); | 
|  2223  |  2225  | 
|  2224   // The inevitable call will sync frame elements to memory anyway, so |  2226   // The inevitable call will sync frame elements to memory anyway, so | 
|  2225   // we do it eagerly to allow us to push the arguments directly into |  2227   // we do it eagerly to allow us to push the arguments directly into | 
| (...skipping 5104 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  7330            Operand(rdx, ArgumentsAdaptorFrameConstants::kLengthOffset)); |  7332            Operand(rdx, ArgumentsAdaptorFrameConstants::kLengthOffset)); | 
|  7331   __ ret(0); |  7333   __ ret(0); | 
|  7332 } |  7334 } | 
|  7333  |  7335  | 
|  7334  |  7336  | 
|  7335 int CEntryStub::MinorKey() { |  7337 int CEntryStub::MinorKey() { | 
|  7336   ASSERT(result_size_ <= 2); |  7338   ASSERT(result_size_ <= 2); | 
|  7337 #ifdef _WIN64 |  7339 #ifdef _WIN64 | 
|  7338   // Simple results returned in rax (using default code). |  7340   // Simple results returned in rax (using default code). | 
|  7339   // Complex results must be written to address passed as first argument. |  7341   // Complex results must be written to address passed as first argument. | 
|  7340   // Use even numbers for minor keys, reserving the odd numbers for |  7342   return (result_size_ < 2) ? 0 : 1; | 
|  7341   // CEntryDebugBreakStub. |  | 
|  7342   return (result_size_ < 2) ? 0 : result_size_ * 2; |  | 
|  7343 #else |  7343 #else | 
|  7344   // Single results returned in rax (both AMD64 and Win64 calling conventions) |  7344   // Single results returned in rax (both AMD64 and Win64 calling conventions) | 
|  7345   // and a struct of two pointers in rax+rdx (AMD64 calling convention only) |  7345   // and a struct of two pointers in rax+rdx (AMD64 calling convention only) | 
|  7346   // by default. |  7346   // by default. | 
|  7347   return 0; |  7347   return 0; | 
|  7348 #endif |  7348 #endif | 
|  7349 } |  7349 } | 
|  7350  |  7350  | 
|  7351  |  7351  | 
|  7352 void CEntryStub::GenerateThrowTOS(MacroAssembler* masm) { |  7352 void CEntryStub::GenerateThrowTOS(MacroAssembler* masm) { | 
| (...skipping 1854 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  9207   // Call the function from C++. |  9207   // Call the function from C++. | 
|  9208   return FUNCTION_CAST<ModuloFunction>(buffer); |  9208   return FUNCTION_CAST<ModuloFunction>(buffer); | 
|  9209 } |  9209 } | 
|  9210  |  9210  | 
|  9211 #endif |  9211 #endif | 
|  9212  |  9212  | 
|  9213  |  9213  | 
|  9214 #undef __ |  9214 #undef __ | 
|  9215  |  9215  | 
|  9216 } }  // namespace v8::internal |  9216 } }  // namespace v8::internal | 
| OLD | NEW |