Commit 8da0b4ec authored by jarin@chromium.org's avatar jarin@chromium.org

Couple more debugger tests working with Turbofan.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/498493002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 1fcfacbc
...@@ -417,6 +417,7 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() { ...@@ -417,6 +417,7 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() {
compiler::Pipeline pipeline(info()); compiler::Pipeline pipeline(info());
pipeline.GenerateCode(); pipeline.GenerateCode();
if (!info()->code().is_null()) { if (!info()->code().is_null()) {
info()->context()->native_context()->AddOptimizedCode(*info()->code());
return SetLastStatus(SUCCEEDED); return SetLastStatus(SUCCEEDED);
} }
} }
......
...@@ -87,7 +87,8 @@ bool AstGraphBuilder::CreateGraph() { ...@@ -87,7 +87,8 @@ bool AstGraphBuilder::CreateGraph() {
VisitDeclarations(scope->declarations()); VisitDeclarations(scope->declarations());
// TODO(mstarzinger): This should do an inlined stack check. // TODO(mstarzinger): This should do an inlined stack check.
NewNode(javascript()->Runtime(Runtime::kStackGuard, 0)); Node* node = NewNode(javascript()->Runtime(Runtime::kStackGuard, 0));
PrepareFrameState(node, BailoutId::FunctionEntry());
// Visit statements in the function body. // Visit statements in the function body.
VisitStatements(info()->function()->body()); VisitStatements(info()->function()->body());
......
...@@ -47,6 +47,9 @@ inline bool OperatorProperties::HasFrameStateInput(Operator* op) { ...@@ -47,6 +47,9 @@ inline bool OperatorProperties::HasFrameStateInput(Operator* op) {
switch (function) { switch (function) {
case Runtime::kDebugBreak: case Runtime::kDebugBreak:
case Runtime::kDeoptimizeFunction: case Runtime::kDeoptimizeFunction:
case Runtime::kSetScriptBreakPoint:
case Runtime::kDebugGetLoadedScripts:
case Runtime::kStackGuard:
return true; return true;
default: default:
return false; return false;
...@@ -178,6 +181,9 @@ inline bool OperatorProperties::CanLazilyDeoptimize(Operator* op) { ...@@ -178,6 +181,9 @@ inline bool OperatorProperties::CanLazilyDeoptimize(Operator* op) {
switch (function) { switch (function) {
case Runtime::kDebugBreak: case Runtime::kDebugBreak:
case Runtime::kDeoptimizeFunction: case Runtime::kDeoptimizeFunction:
case Runtime::kSetScriptBreakPoint:
case Runtime::kDebugGetLoadedScripts:
case Runtime::kStackGuard:
return true; return true;
default: default:
return false; return false;
......
...@@ -378,7 +378,8 @@ void Deoptimizer::DeoptimizeMarkedCodeForContext(Context* context) { ...@@ -378,7 +378,8 @@ void Deoptimizer::DeoptimizeMarkedCodeForContext(Context* context) {
CHECK_EQ(code->kind(), Code::OPTIMIZED_FUNCTION); CHECK_EQ(code->kind(), Code::OPTIMIZED_FUNCTION);
Object* next = code->next_code_link(); Object* next = code->next_code_link();
if (code->marked_for_deoptimization()) { if (code->marked_for_deoptimization() &&
(!code->is_turbofanned() || FLAG_turbo_deoptimization)) {
// Put the code into the list for later patching. // Put the code into the list for later patching.
codes.Add(code, &zone); codes.Add(code, &zone);
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --expose-debug-as debug // Flags: --expose-debug-as debug --turbo-deoptimization
// The functions used for testing backtraces. // The functions used for testing backtraces.
function Point(x, y) { function Point(x, y) {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --expose-debug-as debug --allow-natives-syntax // Flags: --expose-debug-as debug --allow-natives-syntax --turbo-deoptimization
// This test tests that deoptimization due to debug breaks works for // This test tests that deoptimization due to debug breaks works for
// inlined functions where the full-code is generated before the // inlined functions where the full-code is generated before the
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --expose-debug-as debug --allow-natives-syntax // Flags: --expose-debug-as debug --allow-natives-syntax --turbo-deoptimization
// The functions used for testing backtraces. They are at the top to make the // The functions used for testing backtraces. They are at the top to make the
// testing of source line/column easier. // testing of source line/column easier.
......
...@@ -97,8 +97,6 @@ ...@@ -97,8 +97,6 @@
'deserialize-reference': [PASS, NO_VARIANTS], 'deserialize-reference': [PASS, NO_VARIANTS],
# Support for %GetFrameDetails is missing and requires checkpoints. # Support for %GetFrameDetails is missing and requires checkpoints.
'debug-backtrace-text': [PASS, NO_VARIANTS],
'debug-break-inline': [PASS, NO_VARIANTS],
'debug-evaluate-bool-constructor': [PASS, NO_VARIANTS], 'debug-evaluate-bool-constructor': [PASS, NO_VARIANTS],
'debug-evaluate-closure': [PASS, NO_VARIANTS], 'debug-evaluate-closure': [PASS, NO_VARIANTS],
'debug-evaluate-const': [PASS, NO_VARIANTS], 'debug-evaluate-const': [PASS, NO_VARIANTS],
...@@ -110,7 +108,6 @@ ...@@ -110,7 +108,6 @@
'debug-liveedit-double-call': [PASS, NO_VARIANTS], 'debug-liveedit-double-call': [PASS, NO_VARIANTS],
'debug-liveedit-restart-frame': [PASS, NO_VARIANTS], 'debug-liveedit-restart-frame': [PASS, NO_VARIANTS],
'debug-return-value': [PASS, NO_VARIANTS], 'debug-return-value': [PASS, NO_VARIANTS],
'debug-scopes': [PASS, NO_VARIANTS],
'debug-set-variable-value': [PASS, NO_VARIANTS], 'debug-set-variable-value': [PASS, NO_VARIANTS],
'debug-step-stub-callfunction': [PASS, NO_VARIANTS], 'debug-step-stub-callfunction': [PASS, NO_VARIANTS],
'debug-stepin-accessor': [PASS, NO_VARIANTS], 'debug-stepin-accessor': [PASS, NO_VARIANTS],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment