Reviewers: Jakob,
Message:
please take another look :-)
https://codereview.chromium.org/10701054/diff/69002/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/arm/code-stubs-arm.cc#newcode3792
src/arm/code-stubs-arm.cc:3792:
save_doubles.GetCode()->set_is_pregenerated(true);
On 2012/11/19 12:36:00, Jakob wrote:
Suggestion: save the result of save_doubles.GetCode in a variable, and
do the
->set_is_pregenerated(true) call after the if/else-block.
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/deoptimizer-arm.cc
File src/arm/deoptimizer-arm.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/arm/deoptimizer-arm.cc#newcode464
src/arm/deoptimizer-arm.cc:464: void
Deoptimizer::DoCompiledStubPseudoFrame(TranslationIterator* iterator,
On 2012/11/19 12:36:00, Jakob wrote:
s/Pseudo//
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/deoptimizer-arm.cc#newcode467
src/arm/deoptimizer-arm.cc:467: // Code::Kind stub_kind =
static_cast<Code::Kind>(iterator->Next());
On 2012/11/19 12:36:00, Jakob wrote:
remove
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/deoptimizer-arm.cc#newcode468
src/arm/deoptimizer-arm.cc:468: FrameDescription* output_frame = new(0)
FrameDescription(0, 0);
On 2012/11/19 12:36:00, Jakob wrote:
just "NULL"?
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/deoptimizer-arm.cc#newcode474
src/arm/deoptimizer-arm.cc:474: Handle<Code> miss_ic =
isolate_->builtins()->KeyedLoadIC_Miss();
On 2012/11/19 12:36:00, Jakob wrote:
use stub_kind (see line 478) to figure this out
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/lithium-arm.cc
File src/arm/lithium-arm.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/arm/lithium-arm.cc#newcode2146
src/arm/lithium-arm.cc:2146: case KEYED_STORE_IC_PARAMETER:
On 2012/11/19 12:36:00, Jakob wrote:
remove for now
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/lithium-codegen-arm.cc
File src/arm/lithium-codegen-arm.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/arm/lithium-codegen-arm.cc#newcode592
src/arm/lithium-codegen-arm.cc:592:
translation->BeginCompiledStubPseudoFrame(Code::KEYED_LOAD_IC);
On 2012/11/19 12:36:00, Jakob wrote:
can we get the code type dynamically?
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/lithium-codegen-arm.cc#newcode811
src/arm/lithium-codegen-arm.cc:811: __ Jump(entry,
RelocInfo::RUNTIME_ENTRY);
On 2012/11/19 12:36:00, Jakob wrote:
nit: indentation
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/lithium-codegen-arm.cc#newcode4597
src/arm/lithium-codegen-arm.cc:4597:
FloatingPointHelper::ConvertIntToDouble(masm(),
On 2012/11/19 12:36:00, Jakob wrote:
nit: fix format
Done.
https://codereview.chromium.org/10701054/diff/69002/src/arm/macro-assembler-arm.cc
File src/arm/macro-assembler-arm.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/arm/macro-assembler-arm.cc#newcode2700
src/arm/macro-assembler-arm.cc:2700: CEntryStub stub(1,
CpuFeatures::IsSupported(VFP2)
On 2012/11/19 12:36:00, Jakob wrote:
nit: formatting
Done.
https://codereview.chromium.org/10701054/diff/69002/src/code-stubs.cc
File src/code-stubs.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/code-stubs.cc#newcode71
src/code-stubs.cc:71: stub->Print();
On 2012/11/19 12:36:00, Jakob wrote:
Don't forget to remove this (or surround with "if (FLAG_print_code)").
Done.
https://codereview.chromium.org/10701054/diff/69002/src/disassembler.cc
File src/disassembler.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/disassembler.cc#newcode1
src/disassembler.cc:1: // Copyright 2012 the V8 project authors. All
rights reserved.
On 2012/11/19 12:36:00, Jakob wrote:
we don't do this kind of change any more.
Done.
https://codereview.chromium.org/10701054/diff/69002/src/flag-definitions.h
File src/flag-definitions.h (right):
https://codereview.chromium.org/10701054/diff/69002/src/flag-definitions.h#newcode286
src/flag-definitions.h:286: DEFINE_bool(enable_vfp3, false,
On 2012/11/19 12:36:00, Jakob wrote:
don't forget to undo this change
Done.
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen-instructions.cc
File src/hydrogen-instructions.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen-instructions.cc#newcode382
src/hydrogen-instructions.cc:382: HValue* operand = OperandAt(i);
On 2012/11/19 12:36:00, Jakob wrote:
as discussed, just pass in any existing HValue as fake dependency, so
you don't
need this code.
If you do keep it, replace OperandAt(i) below with |operand| ;-)
Done.
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen-instructions.h
File src/hydrogen-instructions.h (right):
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen-instructions.h#newcode3775
src/hydrogen-instructions.h:3775: KEYED_STORE_IC_PARAMETER
On 2012/11/19 12:36:00, Jakob wrote:
Remove this
Done.
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.cc
File src/hydrogen.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.cc#newcode32
src/hydrogen.cc:32: #include "elements-hydrogen.h"
On 2012/11/19 12:36:00, Jakob wrote:
remove
Done.
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.cc#newcode280
src/hydrogen.cc:280: HEnvironment* last = pred->last_environment();
On 2012/11/19 12:36:00, Jakob wrote:
remove this change?
Done.
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.cc#newcode6096
src/hydrogen.cc:6096: checked_key,
On 2012/11/19 12:36:00, Jakob wrote:
nit: indentation
Done.
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.cc#newcode9829
src/hydrogen.cc:9829: PrintStringProperty("name", "stub");
unfortunately, no.
On 2012/11/19 12:36:00, Jakob wrote:
do we have more information here maybe? stub type?
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.h
File src/hydrogen.h (right):
https://codereview.chromium.org/10701054/diff/69002/src/hydrogen.h#newcode1125
src/hydrogen.h:1125: HLoadNamedField* BuildLoadNamedField(HValue*
object,
On 2012/11/19 12:36:00, Jakob wrote:
merge problem?
Done.
https://codereview.chromium.org/10701054/diff/69002/src/ia32/assembler-ia32.h
File src/ia32/assembler-ia32.h (right):
https://codereview.chromium.org/10701054/diff/69002/src/ia32/assembler-ia32.h#newcode219
src/ia32/assembler-ia32.h:219: struct X87TopOfStackProxyRegister :
IntelDoubleRegister {
On 2012/11/19 12:36:00, Jakob wrote:
s/Proxy//
Done.
https://codereview.chromium.org/10701054/diff/69002/src/log.cc
File src/log.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/log.cc#newcode1
src/log.cc:1: // Copyright 2012 the V8 project authors. All rights
reserved.
On 2012/11/19 12:36:00, Jakob wrote:
you know..
Done.
https://codereview.chromium.org/10701054/diff/69002/src/safepoint-table.cc
File src/safepoint-table.cc (left):
https://codereview.chromium.org/10701054/diff/69002/src/safepoint-table.cc#oldcode164
src/safepoint-table.cc:164: int target_offset = assembler->pc_offset() +
Deoptimizer::patch_size();
On 2012/11/19 12:36:00, Jakob wrote:
Please make sure it's safe not to do this.
Done.
https://codereview.chromium.org/10701054/diff/69002/src/serialize.cc
File src/serialize.cc (right):
https://codereview.chromium.org/10701054/diff/69002/src/serialize.cc#newcode540
src/serialize.cc:540: Add(address, LAZY_DEOPTIMIZATION, 51 + entry,
"lazy_deopt");
On 2012/11/19 12:36:00, Jakob wrote:
52!
Done.
https://codereview.chromium.org/10701054/diff/69002/src/utils.h
File src/utils.h (right):
https://codereview.chromium.org/10701054/diff/69002/src/utils.h#newcode1035
src/utils.h:1035: static const int kFirstUsableId = 4;
On 2012/11/19 12:36:00, Jakob wrote:
every
Done.
https://codereview.chromium.org/10701054/diff/69002/src/utils.h#newcode1038
src/utils.h:1038: static const int kStubEntryId = 5;
On 2012/11/19 12:36:00, Jakob wrote:
every
Done.
https://codereview.chromium.org/10701054/diff/69002/test/mjsunit/keyed-call-ic.js
File test/mjsunit/keyed-call-ic.js (left):
https://codereview.chromium.org/10701054/diff/69002/test/mjsunit/keyed-call-ic.js#oldcode64
test/mjsunit/keyed-call-ic.js:64: var f = new F();
On 2012/11/19 12:36:00, Jakob wrote:
uhm...?
Done.
https://codereview.chromium.org/10701054/diff/69002/tools/gyp/v8.gyp
File tools/gyp/v8.gyp (right):
https://codereview.chromium.org/10701054/diff/69002/tools/gyp/v8.gyp#newcode350
tools/gyp/v8.gyp:350: '../../src/hydrogen.cc',
On 2012/11/19 12:36:00, Jakob wrote:
might wanna remove this.
Done.
Description:
Enable stub generation using Hydrogen/Lithium.
This initial implementation generates only KeyedLoadIC using the new
Hydrogen
stub infrastructure.
Please review this at https://codereview.chromium.org/10701054/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M Makefile
src/arm/assembler-arm-inl.h
M src/arm/assembler-arm.h
M src/arm/assembler-arm.cc
M src/arm/builtins-arm.cc
M src/arm/code-stubs-arm.h
src/arm/code-stubs-arm.cc
src/arm/codegen-arm.h
src/arm/codegen-arm.cc
M src/arm/deoptimizer-arm.cc
M src/arm/lithium-arm.h
src/arm/lithium-arm.cc
M src/arm/lithium-codegen-arm.h
M src/arm/lithium-codegen-arm.cc
M src/arm/lithium-gap-resolver-arm.cc
src/arm/macro-assembler-arm.h
M src/arm/macro-assembler-arm.cc
M src/arm/stub-cache-arm.cc
M src/assembler.h
M src/assembler.cc
M src/ast.h
src/ast.cc
M src/builtins.h
src/code-stubs-hydrogen.cc
M src/code-stubs.h
M src/code-stubs.cc
M src/codegen.cc
M src/compiler.h
M src/compiler.cc
M src/deoptimizer.h
M src/deoptimizer.cc
M src/disassembler.cc
M src/frames-inl.h
M src/frames.h
M src/frames.cc
src/full-codegen.h
M src/full-codegen.cc
src/hydrogen.h
src/hydrogen.cc
src/ia32/assembler-ia32.h
src/ia32/assembler-ia32.cc
M src/ia32/builtins-ia32.cc
M src/ia32/code-stubs-ia32.h
src/ia32/code-stubs-ia32.cc
M src/ia32/deoptimizer-ia32.cc
M src/ia32/lithium-codegen-ia32.h
src/ia32/lithium-codegen-ia32.cc
M src/ia32/lithium-gap-resolver-ia32.h
M src/ia32/lithium-gap-resolver-ia32.cc
M src/ia32/lithium-ia32.h
M src/ia32/lithium-ia32.cc
M src/ia32/macro-assembler-ia32.h
M src/ia32/macro-assembler-ia32.cc
M src/ia32/stub-cache-ia32.cc
M src/ic.cc
src/isolate.h
src/isolate.cc
M src/lithium-allocator.h
M src/lithium-allocator.cc
M src/lithium.h
M src/lithium.cc
M src/log.cc
M src/mips/codegen-mips.h
M src/mksnapshot.cc
src/objects-inl.h
src/objects.h
src/objects.cc
M src/optimizing-compiler-thread.h
src/prettyprinter.h
M src/prettyprinter.cc
M src/rewriter.cc
src/runtime.h
M src/runtime.cc
M src/safepoint-table.cc
M src/serialize.h
M src/serialize.cc
M src/smart-pointers.h
M src/spaces.cc
M src/stub-cache.h
M src/utils.h
src/x64/assembler-x64.h
M src/x64/assembler-x64.cc
M src/x64/builtins-x64.cc
M src/x64/code-stubs-x64.h
M src/x64/code-stubs-x64.cc
src/x64/codegen-x64.h
M src/x64/deoptimizer-x64.cc
M src/x64/lithium-codegen-x64.h
src/x64/lithium-codegen-x64.cc
M src/x64/lithium-x64.h
src/x64/lithium-x64.cc
src/x64/macro-assembler-x64.h
M src/x64/macro-assembler-x64.cc
M src/x64/stub-cache-x64.cc
M test/cctest/test-mark-compact.cc
M test/mjsunit/fuzz-natives-part1.js
M tools/gyp/v8.gyp
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev