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() {
compiler::Pipeline pipeline(info());
pipeline.GenerateCode();
if (!info()->code().is_null()) {
info()->context()->native_context()->AddOptimizedCode(*info()->code());
return SetLastStatus(SUCCEEDED);
}
}
......
......@@ -87,7 +87,8 @@ bool AstGraphBuilder::CreateGraph() {
VisitDeclarations(scope->declarations());
// 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.
VisitStatements(info()->function()->body());
......
......@@ -47,6 +47,9 @@ inline bool OperatorProperties::HasFrameStateInput(Operator* op) {
switch (function) {
case Runtime::kDebugBreak:
case Runtime::kDeoptimizeFunction:
case Runtime::kSetScriptBreakPoint:
case Runtime::kDebugGetLoadedScripts:
case Runtime::kStackGuard:
return true;
default:
return false;
......@@ -178,6 +181,9 @@ inline bool OperatorProperties::CanLazilyDeoptimize(Operator* op) {
switch (function) {
case Runtime::kDebugBreak:
case Runtime::kDeoptimizeFunction:
case Runtime::kSetScriptBreakPoint:
case Runtime::kDebugGetLoadedScripts:
case Runtime::kStackGuard:
return true;
default:
return false;
......
......@@ -378,7 +378,8 @@ void Deoptimizer::DeoptimizeMarkedCodeForContext(Context* context) {
CHECK_EQ(code->kind(), Code::OPTIMIZED_FUNCTION);
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.
codes.Add(code, &zone);
......
......@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// 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.
function Point(x, y) {
......
......@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// 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
// inlined functions where the full-code is generated before the
......
......@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// 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
// testing of source line/column easier.
......
......@@ -97,8 +97,6 @@
'deserialize-reference': [PASS, NO_VARIANTS],
# 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-closure': [PASS, NO_VARIANTS],
'debug-evaluate-const': [PASS, NO_VARIANTS],
......@@ -110,7 +108,6 @@
'debug-liveedit-double-call': [PASS, NO_VARIANTS],
'debug-liveedit-restart-frame': [PASS, NO_VARIANTS],
'debug-return-value': [PASS, NO_VARIANTS],
'debug-scopes': [PASS, NO_VARIANTS],
'debug-set-variable-value': [PASS, NO_VARIANTS],
'debug-step-stub-callfunction': [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