Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Issue 1292283004: Do not use js builtins object to determine whether a function is a builtin. (Closed)

Created:
5 years, 4 months ago by Yang
Modified:
5 years, 4 months ago
Reviewers:
Michael Starzinger
CC:
v8-dev, Yang
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Do not use js builtins object to determine whether a function is a builtin. We can use the script type to determine that instead. Script of type TYPE_NATIVE are considered builtins, TYPE_NORMAL are not. The only exception to this rule is the empty function, for which the script is TYPE_NATIVE (observable by the debugger), but should be stringified to "function () {}" instead of "function () { [native code] }". For this, I introduce a hide_source flag on the script object. We also use IsBuiltin and IsSubjectToDebugging interchangeably. For debugger, we now use the latter, hiding the detail that only non-builtins are debuggable. R=mstarzinger@chromium.org Committed: https://crrev.com/371ad73a50f2c55286f59b34ca63920b44ca835f Cr-Commit-Position: refs/heads/master@{#30285}

Patch Set 1 #

Patch Set 2 : fix tostring #

Patch Set 3 : remove redundant check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -25 lines) Patch
M src/compiler.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/debug/debug.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/debug/debug-scopes.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/isolate.cc View 1 2 1 chunk +3 lines, -8 lines 0 comments Download
M src/objects.h View 1 3 chunks +10 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 chunks +11 lines, -6 lines 0 comments Download
M src/runtime/runtime.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime-debug.cc View 1 3 chunks +4 lines, -3 lines 0 comments Download
M src/runtime/runtime-function.cc View 1 1 chunk +6 lines, -3 lines 0 comments Download
M src/v8natives.js View 1 1 chunk +1 line, -1 line 0 comments Download

Depends on Patchset:

Messages

Total messages: 17 (7 generated)
Yang
5 years, 4 months ago (2015-08-20 08:11:44 UTC) #1
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1292283004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1292283004/1
5 years, 4 months ago (2015-08-20 13:29:14 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_rel/builds/8840)
5 years, 4 months ago (2015-08-20 13:44:38 UTC) #5
Yang
Michael, please take a look. Thanks.
5 years, 4 months ago (2015-08-21 08:18:06 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1292283004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1292283004/20001
5 years, 4 months ago (2015-08-21 08:18:26 UTC) #9
Michael Starzinger
LGTM. As discussed offline: This makes the empty function now be not inlineable and not ...
5 years, 4 months ago (2015-08-21 08:30:18 UTC) #10
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 4 months ago (2015-08-21 08:42:25 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1292283004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1292283004/40001
5 years, 4 months ago (2015-08-21 08:51:14 UTC) #15
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 4 months ago (2015-08-21 09:13:01 UTC) #16
commit-bot: I haz the power
5 years, 4 months ago (2015-08-21 09:13:17 UTC) #17
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/371ad73a50f2c55286f59b34ca63920b44ca835f
Cr-Commit-Position: refs/heads/master@{#30285}

Powered by Google App Engine
This is Rietveld 408576698