Index: src/codegen.h |
diff --git a/src/codegen.h b/src/codegen.h |
index d6967b7aff75e9a7bec6e932cd11272bcff923f0..2f8becf95a4b83396da09cc1071c53e7a3c260d2 100644 |
--- a/src/codegen.h |
+++ b/src/codegen.h |
@@ -286,7 +286,7 @@ class CompareStub: public CodeStub { |
class CEntryStub : public CodeStub { |
public: |
- CEntryStub() { } |
+ explicit CEntryStub(int result_size) : result_size_(result_size) { } |
void Generate(MacroAssembler* masm) { GenerateBody(masm, false); } |
@@ -302,10 +302,14 @@ class CEntryStub : public CodeStub { |
void GenerateThrowTOS(MacroAssembler* masm); |
void GenerateThrowUncatchable(MacroAssembler* masm, |
UncatchableExceptionType type); |
- |
private: |
+ // Number of pointers/values returned. |
+ int result_size_; |
+ |
Major MajorKey() { return CEntry; } |
- int MinorKey() { return 0; } |
+ // Minor key must differ if different result_size_ values means different |
+ // code is generated. |
+ int MinorKey(); |
const char* GetName() { return "CEntryStub"; } |
}; |
@@ -313,7 +317,7 @@ class CEntryStub : public CodeStub { |
class CEntryDebugBreakStub : public CEntryStub { |
public: |
- CEntryDebugBreakStub() { } |
+ explicit CEntryDebugBreakStub() : CEntryStub(1) { } |
Søren Thygesen Gjesse
2009/09/07 12:22:33
explicit only required when there is one argument,
Lasse Reichstein
2009/09/08 11:51:35
Good catch.
(There was an argument at a point, but
|
void Generate(MacroAssembler* masm) { GenerateBody(masm, true); } |