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

Reply via email to