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

Issue 3169049: Remove dependence of code-stubs on codegen, the virtual frame code generator.... (Closed)

Created:
10 years, 4 months ago by William Hesse
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Remove dependence of code-stubs on codegen, the virtual frame code generator. Move some functions used by code-stubs and full-codegen from codegen to macro-assembler. Committed: http://code.google.com/p/v8/source/detail?r=5370

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 8

Patch Set 5 : '' #

Patch Set 6 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+751 lines, -726 lines) Patch
M src/arm/code-stubs-arm.h View 3 4 5 4 chunks +20 lines, -4 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/arm/codegen-arm.h View 3 4 5 3 chunks +4 lines, -4 lines 0 comments Download
M src/arm/codegen-arm.cc View 3 4 5 2 chunks +3 lines, -2 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm/ic-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm/regexp-macro-assembler-arm.h View 3 4 5 1 chunk +0 lines, -16 lines 0 comments Download
M src/arm/regexp-macro-assembler-arm.cc View 3 4 5 1 chunk +0 lines, -2 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 4 chunks +618 lines, -0 lines 0 comments Download
M src/codegen.h View 1 2 3 4 5 5 chunks +1 line, -620 lines 0 comments Download
M src/debug.h View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/debug.cc View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M src/disassembler.cc View 1 2 3 4 5 1 chunk +4 lines, -3 lines 0 comments Download
M src/full-codegen.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/code-stubs-ia32.h View 1 2 3 4 5 3 chunks +4 lines, -7 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 2 chunks +4 lines, -3 lines 0 comments Download
M src/ia32/codegen-ia32.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 5 chunks +18 lines, -19 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/regexp-macro-assembler-ia32.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M src/log.cc View 1 2 3 4 5 2 chunks +3 lines, -1 line 0 comments Download
M src/macro-assembler.h View 1 2 3 4 5 1 chunk +27 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 2 chunks +2 lines, -3 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 1 chunk +3 lines, -4 lines 0 comments Download
M src/regexp-macro-assembler.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/code-stubs-x64.h View 3 4 5 3 chunks +3 lines, -7 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 3 4 5 1 chunk +1 line, -2 lines 0 comments Download
M src/x64/codegen-x64.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/x64/codegen-x64.cc View 4 chunks +12 lines, -13 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/regexp-macro-assembler-x64.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
William Hesse
Any comments? Ideas?
10 years, 4 months ago (2010-08-26 14:24:12 UTC) #1
Kevin Millikin (Chromium)
10 years, 4 months ago (2010-08-27 08:27:31 UTC) #2
My concern is making the header-file dependencies more tangled than they already
are.

Normally we have platform-independent interface .h files include the appropriate
platform specific parts rather than the other way around or keeping them
separate (as far as I can see, the regexp stuff is the exception not the rule).

If you're sure all the new includes are needed (and can't be replaced with a few
forward declarations) in header files, then LGTM.

http://codereview.chromium.org/3169049/diff/11002/39001
File src/arm/code-stubs-arm.cc (right):

http://codereview.chromium.org/3169049/diff/11002/39001#newcode33
src/arm/code-stubs-arm.cc:33: #include "code-stubs-arm.h"
"code-stubs.h"?  I think normally we list our own header file first (but after
v8.h).

http://codereview.chromium.org/3169049/diff/11002/39002
File src/arm/code-stubs-arm.h (right):

http://codereview.chromium.org/3169049/diff/11002/39002#newcode31
src/arm/code-stubs-arm.h:31: #include "ast.h"
As far as I can see, this file doesn't use anything from ast.h.  Please don't
include it here (it brings in a lot of stuff including assembler and codegen
stuff, so this risks circularity).

Where it is needed is in regexp-macro-assembler.h which is included in
code-stubs-arm.cc.  Please just include ast.h in regexp-macro-assembler.h.

(I seem to remember trying to just forward declare the regexp AST classes in
regexp-macro-assembler but it didn't trivially work because of hyper-aggressive
inlining.  We should consider having a separate regexp ast module.)

http://codereview.chromium.org/3169049/diff/11002/39002#newcode32
src/arm/code-stubs-arm.h:32: #include "code-stubs.h"
This one seems weird too.  Normally, code-stubs.h would include code-stubs-arm.h
on ARM (not the other way around).  That way a programmer just has to include
code-stubs.h to get both the platform-independent and dependent parts of the
module.

Please see macro-assembler.h as an example.

http://codereview.chromium.org/3169049/diff/11002/39002#newcode34
src/arm/code-stubs-arm.h:34: #include "type-info.h"
Is this one really needed?  I don't see where.

http://codereview.chromium.org/3169049/diff/11002/39004
File src/arm/codegen-arm.h (right):

http://codereview.chromium.org/3169049/diff/11002/39004#newcode32
src/arm/codegen-arm.h:32: #include "code-stubs-arm.h"
"code-stubs.h"

http://codereview.chromium.org/3169049/diff/11002/39005
File src/arm/regexp-macro-assembler-arm.cc (right):

http://codereview.chromium.org/3169049/diff/11002/39005#newcode39
src/arm/regexp-macro-assembler-arm.cc:39: #include "arm/macro-assembler-arm.h"
No need for this one.

http://codereview.chromium.org/3169049/diff/11002/39005#newcode41
src/arm/regexp-macro-assembler-arm.cc:41: #include "arm/code-stubs-arm.h"
Also can get rid of this one by including the appropriate platform-specific
interface in code-stubs.h.

http://codereview.chromium.org/3169049/diff/11002/39007
File src/code-stubs.h (right):

http://codereview.chromium.org/3169049/diff/11002/39007#newcode119
src/code-stubs.h:119: static Major getMajorKey(Code* code_stub) {
What the heck is this naming convention?  get_major_key or GetMajorKey.

Powered by Google App Engine
This is Rietveld 408576698